[BUG]
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Code silently self-interrupts mid-turn after 4–5 tool calls with no error, no banner, and no "Continue" button. The session prompt changes to "Interrupted · What should Claude do instead?" and execution stops entirely.
This is not a usage limit — no quota warning appears. This is not a per-turn tool call ceiling — no "Claude reached its tool-use limit" banner appears. This is not a session state issue — the interrupt persists across /clear, full process restarts, and a fresh install of v2.1.80.
Observed behavior:
- Tool calls 1–4 execute normally
- Tool call 5 (a grep/search) triggers silent interrupt
- "Worked for 32s" displayed — confirming active execution was underway
- Multiple established connections to port 443 drop and revive simultaneously at the moment of interrupt
- No error code returned. No network error logged. No user input given.
Repro sequence (exact):
- Session start — Claude reads CLAUDE.md + DELTA_HANDOFF.md [tool calls 1–2]
- User sends "proceed" — Claude reads the same 2 files again [tool calls 3–4]
- Claude runs Searched for 2 patterns [tool call 5 — this is where it dies, every time]
- Interrupt fires silently. Prompt changes. Session is dead.
Consistent across: 8+ fresh sessions over 72 hours, two Claude Code versions (2.1.79 → 2.1.80), plain bash terminal on Ubuntu 24.04, wired fiber connection, no proxy, no VPN.
Timing correlation: interrupts occur exclusively between 19:30–04:00 ET — the off-peak doubled-limits window introduced March 13. No interrupts observed prior to March 13 across weeks of identical workloads and millions of tokens.
What Should Happen?
Claude Code should complete the tool call chain without interruption. If a server-side limit is reached, it should surface a specific, actionable error — not a silent interrupt indistinguishable from a user-initiated Escape keypress.
Specifically:
- If the stream is being terminated server-side due to load or throttling, return a distinct error code or message so the user can distinguish infra degradation from a tool call limit from their own network issues.
- If a per-turn tool call ceiling exists and is being enforced, display the existing "Claude reached its tool-use limit for this turn" banner with the Continue button — not a silent interrupt.
- If this is load-shedding behavior introduced alongside or triggered by the March 13 doubled-limits promotion, it should be documented and communicated. Users with reproducible 72-hour regressions on unchanged hardware and workflows have no way to self-diagnose a silent server-side stream termination.
Error Messages/Logs
⎿ Interrupted · What should Claude do instead?
Steps to Reproduce
Platform: Linux (Ubuntu 24.04)
Claude Code version: 2.1.80 (also reproduced on 2.1.79)
Plan: Claude Pro
Model: Sonnet 4.6
Terminal: bash (plain, no tmux, no VS Code integration)
Network: Wired fiber, no proxy, no VPN, ISP-provided router
Hardware: Intel i5-13400, RTX 4060 8GB, 16GB RAM
Settings: fastMode: true, CLAUDE_CODE_API_TIMEOUT_MS: 300000
Feedback ID: Diagnostics
└ Currently running: npm-global (2.1.79)
└ Path: /usr/bin/node
└ Invoked: /home/christopher/.npm-global/bin/claude
└ Config install method: global
└ Search: OK (vendor)
Updates
└ Auto-updates: enabled
└ Update permissions: Yes
└ Auto-update channel: latest
└ Stable version: 2.1.62
└ Latest version: 2.1.80
Version Locks
└ No active version locks
Press Enter to continue…
Claude Model
Not sure / Multiple models
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.80
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗