Description
After a response completes, the buffer becomes entirely read-only. Typing anywhere produces Text is read-only. The session is unrecoverable without killing the buffer.
This is not #510 (unhandled notification) — no unhandled notification is visible. The response simply ends and no prompt is inserted.
Diagnostic Data
Collected from the stuck buffer via emacsclient -e:
shell-maker--busy: t — shell-maker thinks it is still processing a request
shell-maker--request-process: nil — no active request process exists
comint-last-prompt: nil — no prompt was tracked by comint
- No prompt regexp match at buffer end
- Last character has text properties
(read-only t front-sticky (read-only) field output), blocking all insertion
- ACP process itself is alive (
process-status: run)
Root Cause Hypothesis
The request/response cycle completed (or errored), shell-maker--request-process was cleared, but shell-maker--busy was never reset to nil. Because shell-maker still considers itself busy, it never inserts a new prompt. The front-sticky (read-only) property on the last output character then prevents any input.
Reproduction
Intermittent — happens occasionally after a response finishes. No reliable reproduction sequence found. Backend is Claude Code via ACP.
Environment
Description
After a response completes, the buffer becomes entirely read-only. Typing anywhere produces
Text is read-only. The session is unrecoverable without killing the buffer.This is not #510 (unhandled notification) — no unhandled notification is visible. The response simply ends and no prompt is inserted.
Diagnostic Data
Collected from the stuck buffer via
emacsclient -e:shell-maker--busy: t— shell-maker thinks it is still processing a requestshell-maker--request-process: nil— no active request process existscomint-last-prompt: nil— no prompt was tracked by comint(read-only t front-sticky (read-only) field output), blocking all insertionprocess-status: run)Root Cause Hypothesis
The request/response cycle completed (or errored),
shell-maker--request-processwas cleared, butshell-maker--busywas never reset tonil. Because shell-maker still considers itself busy, it never inserts a new prompt. Thefront-sticky (read-only)property on the last output character then prevents any input.Reproduction
Intermittent — happens occasionally after a response finishes. No reliable reproduction sequence found. Backend is Claude Code via ACP.
Environment
1e5d175(includes 794cb1c fix for agent-shell enters frozen/hanging state when receiving unknown notifications related to ACP's Session Usage RFD #455)6377cbd