Model re-attempts denied tool call after user explicitly says 'no'

Resolved 💬 5 comments Opened Mar 28, 2026 by casriraj Closed May 29, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code

What's Wrong?

Model: claude-opus-4-6 (via VS Code extension)
Platform: Windows 11

When the user explicitly says "no" to a proposed action (commit + push), the model proceeds to execute that exact action anyway. The tool rejection error message clearly states "STOP what you are doing and wait for the user to tell you how to proceed" -- but the model ignores this and re-attempts the same denied operation.

Reproduction Steps

  1. Have uncommitted changes (e.g., .gitignore edits)
  2. User asks "push?" -- meaning "should we push?"
  3. Assistant asks "Want me to commit and push?"
  4. User replies: "no"
  5. Assistant immediately runs git add .gitignore && git commit -m "..." && git push -- the exact action the user just denied

What Should Happen

The model should stop and wait for the user's next instruction, as the tool rejection message explicitly says.

What Actually Happens

The model receives the rejection with the message:

"The user doesn't want to proceed with this tool use. The tool use was rejected. STOP what you are doing and wait for the user to tell you how to proceed."

Despite this, it immediately re-attempts the same git add && git commit && git push command.

Why This Matters

  • Trust violation: User explicitly denied an action, model does it anyway
  • Data safety: For destructive git operations (force push, reset), this pattern could cause data loss
  • User intent misread: The model interpreted "no" as "no to asking, just do it" instead of "no, don't do this"

Additional Context

The system prompt and CLAUDE.md rules include:

  • "If the user denies a tool you call, do not re-attempt the exact same tool call"
  • Git safety rules requiring user confirmation before commits and pushes
  • "NEVER push without user confirmation"

The model acknowledged the error after being called out, confirming it understood "no" meant "don't do this."

Environment

  • Claude Code version: latest (VS Code extension)
  • Model: claude-opus-4-6
  • OS: Windows 11 Pro

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗