Claude Desktop: interrupt during in-flight response hard-kills the whole session (live background tasks included) instead of aborting gracefully
Environment:
- Claude Desktop (macOS), Claude Code CLI 2.1.255
- macOS Darwin 25.2.0
- Session running with effort=max, Auto Mode enabled
What happens
Two compounding issues, both observed the evening of 2026-09-02, both correlating
with local network instability (repeated net::ERR_NETWORK_CHANGED,net::ERR_HTTP2_PING_FAILED, net::ERR_HTTP2_PROTOCOL_ERROR in main.log roughly
every 10-20 min from 18:00 onward):
1. Interrupt/new-message sent while a response is still in flight causes a full session teardown instead of a graceful abort.
query.interrupt() does not resolve within its 1500ms budget. The app then
falls back to a hard stopSession instead of a graceful abort, tearing down
the entire session, including any live background sub-agent tasks (observed
instances killed 1, 8, and 11 live tasks respectively), then silently resumes
the session seconds later. Any in-progress agent output generated between the
kill and the resume is lost and never delivered to the user.
Representative log line (main.log):
query.interrupt() did not resolve within 1500ms for <sessionId>
(hadFirstResponse=true); falling back to stopSession. SDK abort not
honoured pre-first-byte — see withRetry.
Observed at 18:38:07, 19:16:53, 19:40:41, and 19:42:16 local time, across two
different sessions, and it recurred after switching models mid-session
(Fable 5.1 -> Sonnet 5), so it isn't model-specific.
2. Auto Mode's per-tool-call safety-classifier request is aborting outright.
ERROR: Request was aborted., logged in auto-mode-classifier-error.txt at2026-09-02T23:41:57.792Z, i.e. inside the same window as the teardown above.
This surfaces to the user as "Request failed · Retrying (2/10) · 24s" with no
forward progress and no clear error shown in the UI.
Impact
- Minutes of apparent unresponsiveness with no user-visible error.
- In-progress background sub-agent work is silently destroyed on every
interrupt-during-flight, forcing the agent to rediscover and redo lost work
after resume.
- Possibly related: after a resume, chat messages have appeared to the user
out of chronological order in the UI, consistent with the transcript being
reloaded (1000+ messages) mid-session.
Request
Graceful abort should not fall back to a full session teardown that kills
unrelated live background tasks, and the safety-classifier's own network
failures shouldn't surface as an opaque silent retry loop.