Repository navigation
Muted notice lines for what the CLI says in its own voice - #221
Merged
Merged
Conversation
Draw the notes VS Code leaves in a conversation, on reopen and live:
a background agent's hand-back ("Agent "X" finished" / "failed" /
"was stopped" / "is waiting on its own background work"), a message from
a subagent or another session as a collapsed line (it was showing as a
user bubble), the CLI's informational lines (hooks, the
safeguards-stopped notice), the refusal fallback's explanation as a
warning, and the terminal/teammate/tick/MCP wrappers.
The CLI's own retry note to the model after a refusal is flagged isMeta
and no longer shows as something the user said.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Launch the persistent CLI with --replay-user-messages (when it knows the flag), as VS Code does. A task notification delivered mid-turn, and a message from a subagent or another session, now come back as replayed user lines. They give the exact "Agent "X" finished" / "Background command … completed" wording live, which takes the place of the line made from the end event when that is up first, and the peer message as the same collapsed line a reopened session shows. A notification delivered after the turn has ended is not replayed; it keeps the line made from the end event. A peer message handed over mid-turn is queued like the user's own words, as a queued_command attachment; its origin says it is a peer's, so it is a collapsed line and not a user bubble. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Merged
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.
What changed and why
VS Code leaves small muted lines in a conversation for things the CLI says on its own. Eclipse drew none of them, and drew some wrongly. This adds them, on reopen and live where the CLI gives us the data.
New lines
Agent "X" finished,… failed,… was stopped,… is waiting on its own background work. Reopened sessions use the transcript's own summary text (so they also show the CLI's failure cause, "by Claude" and the like); live, the CLI is launched with--replay-user-messages(as VS Code does, when the CLI knows the flag) and a notification delivered mid-turn comes back as a replayed user line with the CLI's exact wording, background commands included. One delivered after the turn has ended is not replayed; that keeps a line made from the end event, which says only completed, failed or stopped (a stop reads "by user" when the Stop agent button sent it) and only for agents that ran in the background.Message from subagent "<task>": <first line>) that opens to the message, with the CLI's warning frame removed. These were showing as user bubbles.system/informational, level other thaninfo): hook "says" lines, blocked-turn notices, and "Sonnet 5.5's safeguards stopped the response above · continuing once with that noted". Live via a newonCliNoticecallback (onNoticeis already the plugin's own).teammate-message,bash-stdout(+ stderr, exit code),tick,mcp-resource-update,mcp-polling-updateas collapsed lines with VS Code's labels.Fix
isMeta+turnCompanion. It no longer shows as a message the user sent.Differences from VS Code, on purpose
@name.Not done
How was this tested?
cargo test: 517 pass. New tests cover the reopened notices (hand-back dedupe across user line and queued attachment, peer messages with and without a known agent, informational/refusal/hook lines, the isMeta retry note), the live notice payload, and the "waiting on its own" tracking.node --check; the notice rows, the history branch and the wrapped notices were drawn in headless Chromium.Agent "…" finishedline; one finishing after the turn gave none), but the replayed peer message was not: it needs a subagent that reports through the hand-back tool.Checklist
MANIFEST.MF,feature.xml, orsite.xml— the maintainer sets these on release.CHANGELOG.mdentry — the maintainer adds this on release.com.anthropic.claudecode.eclipse.site/.claude-eclipse-core: I rancargo test, and for any platform I can build and run on, rebuilt the native library and exercised it in a running Eclipse instance.