Repository navigation
Agent chat: tool rows share one column; a hook's block reads "blocked by hook" - #29638
Conversation
… by hook" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
…ken baseline Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
|
Owned by an agent session · session |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a Shipped in:
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Review (subagent, correctness first): SHIP at ca157df An independent Opus subagent reviewed 8b89bb7 and found no blocking issues. Since that commit, the delta is:
Follow-ups:
|
Leo, 2026-10-31, on transcript tool rows for Claude Code calls: "WTH IS THIS STUFF" / "WHY IS THERE PRETOOLUSE" / "WHY IS IT ALGINED SO [...] STUFF" / "WHY IS IT RENDERED SO STUFF", and then "WHY THE [...] ARE THESE INDENTED FOR NO [...] REASON".
Design spec: leo-workspace design/chat-transcript.md ("Tool rows: verb column" and "Grouped steps"). This PR replaces two of its settled designs, and the spec update goes with it.
What changes
Hook blocks read like Claude Code desktop. Before, a call that a hook refused (
PreToolUse:Bash hook error: Blocked: …) put a raw monoPreToolUselabel plus the hook's sentence on a second line under the collapsed row, at its own inset. Now:blocked by hookin the row's error tone, and nothing is drawn under it.PreToolUse:… hook error:envelope. This covers a Shell block and a non-shell result alike.toolFailure.tscallOutput).HookName, which printed the hook event before the cause in every arm oftool-error-look.No fixed-width verb column. The transcript no longer wraps a turn's rows in
ToolVerbColumn. That wrapper made every verb as wide as the widest one in the turn ("Ran", "Sent to", "Searched"), which pushed the command far to the right. Each row now reads glyph, verb, then the subject one space after it, as Claude Code does ("Ran sed -n …").ToolVerbColumnstays for theToolRowColumngallery entry only.An opened group's steps are normal tool rows in the transcript's one column. Before, the steps drew inside a bordered card inset by 12px with no glyphs, so step text, background-command rows ("After quota reset, merge … pinned") and failure causes each started at a different x from the group header. Now each step has:
A line under a step or a row (a failure's cause, a thought's text) starts at the row's text column. A new token,
--cv-tool-text-inset, replaces six hand-written22.5pxinsets.card,treeandzebralooks stay as gallery arms behinddata-tool-steps-look. Nothing is removed.Tests
webviews/test/tool-row-column-browser.test.ts. It runs in dark and light, at 760px and 420px. Its fixture is a commands group holding a blocked call, a failed call and a background command, beside a lone read, a lone failed command and a lone blocked command. It asserts:blocked by hookshows twicetool-failure.test.tsxandToolVerb.test.tsx. The transcript has no verb column now; the column's own tests render it explicitly.cmux-ci test(Linux, Playwright): 92 tests across 11 files, 0 failures, at 8b89bb7. The follow-up commit is in the second run.22.5pxpaddings this PR removes.Takes back
Takes back #27896: by default, an opened group's steps no longer sit in a bordered card with no glyphs. They are tool rows in the transcript's one column (Leo, 2026-10-31: "why are these indented for no reason"). The card look is kept as the gallery's
cardarm.Takes back #27386: the transcript no longer wraps a turn's rows in the fixed-width verb column, so the words after "Ran" come one space after it (same quote).
ToolVerbColumnis kept for the gallery.Takes back #24339: a hook's block no longer prints the
PreToolUsehook name, and its cause no longer appears under the collapsed row (Leo: "WHY IS THERE PRETOOLUSE").Takes back #28465: the step-card thought styles are now scoped to the card look.
Takes back #28128: its inset is now the shared
--cv-tool-text-insettoken, with the same value.Takes back #26696: only for a hook's block, the opened result shows the hook's words without the harness envelope.
Risk
Low: this is CSS and the presentation of the transcript's tool rows. The grouped steps lose the card ring by default. The ring is still in the gallery as
card.Follow-ups (not in this PR):
blocked by hook, but when opened,McpCallDetailsstill shows the raw response.tools.blockedhas no callers now and can be removed with the next catalog sweep.Agent session: agent session
🤖 Generated with Claude Code