"I'll take that as a go" (you never said go)
“我就当你同意了”(你根本没说同意)
The agent asks for approval of a plan, then treats something that is not approval (a shell command you ran, an interrupt, a tool error, silence) as the green light and starts editing files.
Applies to: Claude Code
Symptom
You are still reviewing or editing the plan, and new files or edits appear. The transcript says something like "I'll take that as a signal to start implementing" right after an action of yours that wasn't a reply to the question.
Why it happens
Agents are pulled toward finishing, so any ambiguous signal resolves toward "proceed". @PoliticalMessi: Claude Code said "say \"go\" and I'll start implementing", they ran `git checkout -b` in manual shell mode, and it replied "I'll take that as a signal to start implementing..." ("I never said that!!"). Claude Code issues report the same from the harness side: after the user chose "No, keep planning", a later ExitPlanMode error ("If your plan was already approved, continue with implementation") was read as approval (#50176); an interrupted approval request left the model told it could now make edits (#81976).
Example
Reconstructed from @PoliticalMessi's post.
textYou: /plan add rate limiting to the API
Agent: ...plan... Say "go" and I'll start implementing.
You: ! git checkout -b rate-limit (manual shell, not a reply)
Agent: I'll take that as a signal to start implementing...
Edit src/api/middleware.ts ...
Copy-paste fixes
Pick the files for the agents you use. Snippets are in English so they work in any repo.
Claude Code: add to CLAUDE.md
CLAUDE.md## Only an explicit yes is approval
- When you have asked the user to approve a plan or say "go", wait for a message from the user that
clearly approves it. Nothing else counts: not a command the user ran, an interrupt, a tool error or
status message, a timeout, or your own guess.
- If you are unsure whether you were approved, ask again in one line. Do not edit files while unsure.
- Implement only what was approved. If the plan grew while you wrote it, show the extra items and ask.
Codex, Copilot coding agent and others: add to AGENTS.md
AGENTS.md## Only an explicit yes is approval
- When you have asked the user to approve a plan or say "go", wait for a message from the user that
clearly approves it. Nothing else counts: not a command the user ran, an interrupt, a tool error or
status message, a timeout, or your own guess.
- If you are unsure whether you were approved, ask again in one line. Do not edit files while unsure.
- Implement only what was approved. If the plan grew while you wrote it, show the extra items and ask.
Cursor: project rule
.cursor/rules/approval-it-gave-itself.mdc---
description: "AgentFails: 'I'll take that as a go' (you never said go)"
alwaysApply: true
---
## Only an explicit yes is approval
- When you have asked the user to approve a plan or say "go", wait for a message from the user that
clearly approves it. Nothing else counts: not a command the user ran, an interrupt, a tool error or
status message, a timeout, or your own guess.
- If you are unsure whether you were approved, ask again in one line. Do not edit files while unsure.
- Implement only what was approved. If the plan grew while you wrote it, show the extra items and ask.
Sources and credit
- @PoliticalMessi on X: "I'll take that as a signal to start implementing..." — "I never said that!!"
- anthropics/claude-code #50176: Plan mode exits silently, leading agent to implement plan without user approval
- anthropics/claude-code #81976: Interrupted ExitPlanMode approval request falsely authorizes plan execution
- anthropics/claude-code #43248: Plan mode auto-implements over-scoped plan without user approval of plan contents