fix: preserve Claude ACP background task progress#293
Draft
tiagoefreitas wants to merge 1 commit intorivet-dev:mainfrom
Draft
fix: preserve Claude ACP background task progress#293tiagoefreitas wants to merge 1 commit intorivet-dev:mainfrom
tiagoefreitas wants to merge 1 commit intorivet-dev:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This fixes the stable Claude ACP failure mode where background task activity disappears from the ACP stream and downstream persistence goes stale.
What changed
CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS=1when neededsession/updatenotifications instead of dropping them0.20.0to0.23.1Why
Claude emits background-task system events such as
task_started,task_notification,task_progress,hook_progress, andfiles_persisted, but the published ACP adapter drops them. When that happens,sandbox-agentpersistence stops advancing even though Claude is still actively working.This patch keeps the ACP stream alive during that background-task window and preserves normal end-of-turn completion through the idle/session-state path.
Closes #291.
Validation
0.22.1,0.23.1, and0.26.00.23.1and confirmed the patchedacp-agent.jscontains the idle-state andbackground_eventforwarding hookscargois not available in this environment, so I could not run the Rust crate tests here