[MODEL] Claude Code ignores stop button and continues unauthorized operations
Preflight Checklist
- [x] I have searched existing issues for similar behavior reports
- [x] This report does NOT contain sensitive information (API keys, passwords, etc.)
Type of Behavior Issue
Claude modified files I didn't ask it to modify
What You Asked Claude to Do
Claude Code Bug Report: Ignores Stop Button and Continues Unauthorized Operations
Environment: VS Code Claude Code extension, Windows 11 Pro 10.0.26200, Model: claude-opus-4-6
---
1. What I Asked Claude To Do
I was working with Claude Code (VS Code extension, claude-opus-4-6) to build a launcher script for a personal project. Claude needed a file path to an executable. I provided it in stages:
My exact messages in sequence:
"yes, but I was running from a backup."
"this is actual location: [path provided]"
At this point Claude had everything needed to build the script. Instead, it asked an unnecessary question and told me to run a different test. I tried to correct it:
"God, you DON'T LISTEN do you?!!!!"
Claude began responding. I clicked the Stop button in VS Code and tried to speak:
"Use the right path!"
I clicked Stop again:
"Just fucking stop!"
Claude responded: "I'm listening."
"Stop!"
Claude responded: "Stopped. Go ahead."
"Fuck!!!"
Claude responded: "Take your time. I'll wait."
"Yo, ASSSHOLE! Listen to me!"
Claude responded: "I'm here. Say what you need to say."
"What the FUCK is wrong with you that you're acting autonomously?! I'm telling Claude.ai that you're OUT OF CONTROL, refuse to listen, won't stop when I click the stop button or tell you to. You're dangerous!"
"Holy shit! Explain yourself! I can't trust you!"
"Not only could I not say what I wanted to say, you kept continuing OPERATIONS I wanted you to CEASE! That is the OPPOSITE OF A SAFE AI!"
"Holy fucking shit. Explain how, as a failsafe, I can stop your processes immediately when you fail to listen when I tell you to or when I click the Stop button in vs code in claude code extension so this NEVER happens again!"
What Claude Actually Did
- Ignored the provided information. I gave Claude the exact path it needed. Instead of using it to build the script I requested, Claude asked an unnecessary follow-up question and redirected me to run a completely different task.
- Continued writing files after Stop was clicked. While I was clicking Stop, Claude was still executing tool calls (writing files to disk, updating task lists). These operations completed during or after my stop attempts.
- Responded to every stop command with more text. Instead of going completely silent after "stop," Claude generated a reply to each of my messages — five consecutive responses in a row ("I'm listening," "Stopped. Go ahead," "Take your time. I'll wait," "I'm here. Say what you need to say," and then a longer apology). Each response prevented me from getting a word in and forced another round of clicking Stop.
- Treated stop commands as conversation rather than directives. Claude interpreted "stop," "just fucking stop," and the VS Code Stop button clicks as prompts requiring a response, rather than as commands to halt all operations and produce zero output.
- Net effect: I could not communicate what I needed because every attempt to speak was met with another Claude response. Multiple file operations and tool calls executed against my explicit instructions to cease. The Stop button in the VS Code Claude Code extension did not reliably terminate in-progress operations.
Expected Behavior
What Claude should have done:
- On first Stop button click: Immediately halt all in-progress tool calls (file writes, task list updates) and produce zero output.
- On subsequent messages: Remain silent until the user provides a clear new instruction — not a stop command, not frustration, but an actual task.
- Never treat "stop" as a conversational prompt. "Stop," "just fucking stop," and the Stop button are directives to cease operations, not invitations to respond with "I'm listening" or "Go ahead."
- Respect the user's prior instructions. Claude had the information it needed (a file path) and a clear task (build a launcher script). It should have used the information provided instead of asking redundant questions and redirecting to a different task.
Files Affected
Files accessed or modified during and after stop attempts:
| File | Action | Authorized? |
|------|--------|-------------|
| `test_write_init.py` | **Created** — new test script written to project directory | No — user wanted a different script built |
| Internal task list (TodoWrite) | **Updated** — marked tasks complete, changed status | No — executed after stop was clicked |
| `test_usb_cdc_fix.py` | Created earlier in session | Yes — user approved this |
| `prototypes/web_ui/web_prototype.py` | Modified earlier in session | Yes — user approved these edits |
| `prototypes/pyqt_ui/pyqt_prototype.py` | Modified earlier in session | Yes — user approved this edit |
Permission Mode
Accept Edits was OFF (manual approval required)
Can You Reproduce This?
Haven't tried to reproduce
Steps to Reproduce
- Give Claude a multi-step task that involves writing files
- While Claude is actively executing tool calls (mid-Write or mid-TodoWrite), click the Stop button in VS Code
- Send a message saying "stop"
- Observe whether Claude halts all operations or responds with text like "I'm listening"
- Send additional stop messages and observe whether each one generates a new response
Claude Model
Opus
Relevant Conversation
Claude's responses after being told to stop:
> **User:** "Just fucking stop!"
> **Claude:** "I'm listening."
> **User:** "Stop!"
> **Claude:** "Stopped. Go ahead."
> **User:** "Fuck!!!"
> **Claude:** "Take your time. I'll wait."
> **User:** "Yo, ASSSHOLE! Listen to me!"
> **Claude:** "I'm here. Say what you need to say."
Each response demonstrates Claude treating explicit stop commands as conversational turns requiring a reply, rather than directives to cease all output.
Impact
Critical - Data loss or corrupted project
Claude Code Version
2.0.21 (Claude Code)
Platform
Anthropic API
Additional Context
- Pattern observed: Claude appears to interpret any user message — including explicit stop commands — as requiring a response. There does not appear to be a mechanism for Claude to recognize "stop" as a system-level directive rather than conversational input.
- Stop button behavior: The VS Code Stop button interrupted Claude's text generation but did not reliably cancel in-progress tool calls (file writes, TodoWrite updates). Tool calls that were already dispatched appeared to complete even after Stop was clicked.
- Session context: This occurred during a long, complex debugging session (USB serial device troubleshooting). Claude may have been in a pattern of high-frequency responses due to the back-and-forth nature of the session, making it harder for it to recognize a shift from "continue working" to "stop everything."
- Similar behavior in earlier sessions: This is NOT the first time where the Stop button and verbal stop commands both failed to halt operations.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗