You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(workspace): terminal-view agent panes never show running status in the pane header #851
With Status Mode on (the default), an agent pane's header strip fills with the theme accent while the agent is working and clears when it goes idle, regardless of whether the pane shows the rendered feed or the raw provider terminal. A glance across the grid should show which agents are busy.
Actual
Claude and Codex agent panes in Terminal view (hard Terminal mode, or Hybrid resting on the raw terminal) never light the header. A Claude/Codex turn started from the raw TUI runs with a plain header, so the pane reads as idle while it is working. Session color flags are also missing from the terminal-view header.
Reproduce
Keep Settings → Status Mode on.
Put an agent pane in Terminal view (per-pane view override or global agent view mode = Terminal).
Send a prompt in the raw terminal.
The tab bar and Dispatch list show the agent as running; the pane header stays unlit. Switch the same pane back to Agent view and the header lights up.
Root cause
WorkspaceLeaf (src/renderer/src/workspace/tile-tree/TileTree.tsx) passes showStatusMode only to the rendered TileLeaf. AgentTerminalLeaf draws its own copy of the header markup instead of rendering the shared PaneHeader. That copy was made when the view-mode policy landed (eec24a9) and never received the Status Mode fill or the color flag later added to PaneHeader (36846eb).
The status data is already there: runtime.sessionStatus comes from deriveSessionStatus. It combines the semantic turn, processActive (the headless packages' own spinner detection, handled at workspace level in useIpcSubscriptions) and exit state, and none of those depend on which leaf is mounted. That is why the tab bar and Dispatch already show the running state correctly.
Impact
User-visible feedback gap. Terminal view is the recovery surface for when the feed is broken, so the pane most likely to need watching is the one that can't show it's working.
The OpenCode Terminal runtime also stays unlit, but for a different reason: its session never emits an active process state, so sessionStatus never becomes running on any surface (header, tab bar, Dispatch). That missing provider signal is tracked in #857. The header-wiring root cause described here is fixed by #853. Review also found that Spotlight and Tiled Tabs ignore the Status Mode setting (#856), which the same PR fixes.
Activity
fix(workspace): keep terminal-view header chrome clear of the color flag
test(workspace): pin Status Mode threading into terminal-view panes
docs(workspace): record review follow-ups in the terminal header plan
refactor(workspace): move the pane header lit rule out of the compone…