-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Feature]: claude-cli live-session — stream thinking deltas + incremental assistant text to channel preview (parity with Codex progress streaming) #97526
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Summary
The
claude-clilive-session runtime and the Codex app-server runtime give very different live UX for the same kind of turn, on the same message-based channel preview:turn/completedthe draft is cleared and the final answer is delivered.Root cause (source-level)
In the Claude stream-json parser (
claude-live-session-*.js,parseClaudeCliStreamingDelta), only:content_block_delta→text_delta(assistant text), andtool_usestart/result eventsare forwarded. There is no
thinking_deltapath — extended-thinking content blocks are not streamed incrementally, so reasoning surfaces as a single block (shown as one transient/reasoning streampreview that is deleted after final delivery, perdocs/concepts/streaming.md). And during answer synthesis the channel preview isn't driven incrementally, so it reads as "reasoning blip → silence → final."By contrast, the Codex harness emits a rich progress event stream (raw reasoning, reasoning progress, agentMessage progress, tool/command lifecycle), which OpenClaw renders as a continuously-updating progress preview.
The data is already available
The bundled
claude-clibackend launches with--output-format stream-json --include-partial-messages, so Claude already emitscontent_block_deltaevents includingthinking_deltaand incrementaltext_delta. The parser just doesn't consume the thinking deltas (and doesn't appear to drive an incremental preview from text deltas) the way the Codex runtime does.Proposed
content_block_deltawheredelta.type === "thinking_delta"and forward it as a reasoning-preview delta (respecting/reasoningmode:stream→ transient preview, etc.).text_deltaso edit-capable channels (Telegram/Discord) get a continuously-updating draft during generation.Net effect: live reasoning/answer progress for
claude-cliat parity with the Codexprogressstreaming experience. This is purely a matter of feeding OpenClaw's existing message-based preview with deltas Claude already sends — no token-delta channel transport required.Repro
anthropic/*with model-scopedagentRuntime.id: claude-cli, live-session enabled,/reasoning stream.Related
Same
claude-clilive-session integration area as #97489 (auth-gate doesn't recognizeapiKeyHelper) and the picker-visibility contract #83342.Environment: OpenClaw 2026.6.10.