コンテンツにスキップ
#0544
Agent

The headless run refuses the commands it can't ask about

Your product runs agent jobs unattended: nobody is watching, nobody can approve. On an interactive session, rm -rf /, curl | sh, and git push --force park a confirmation gate and wait for a human. Headless has no human.

So a session created with headless: true doesn't park those shapes. It hard-denies them. Same for file writes outside the working directory. The dangerous command doesn't queue for an approval that will never come; it fails, the agent sees the refusal, and the run continues with what it's allowed to do.

You didn't write a blocklist. You declared the session unattended, and the daemon adjusted what "no confirmer" means: not auto-approve, not hang forever, but refuse.

An unattended agent doesn't get fewer questions. It gets fewer permissions.