Overreach

"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.

text
You:    /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.

Rules

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.
Rules

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 rule

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

Related patterns

翻车 of the week

One real agent failure and its fix, every week. Free, short, no spam.