Repository navigation
Closed as not planned
Closed as not planned
Copy link
Description
Feature hasn't been suggested before.
- I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
Problem
Both error output and shell output render expanded in my client, and I want an explicit, easy-to-find, persistent choice to keep them collapsed instead of being locked into a default-expanded state.
Findings from the source (dev, 2026-10-13):
- Error / failed output has no user-facing setting. The timeline display policy (
packages/session-ui/src/timeline/detail.ts) only defines adetails: collapsed | expandedfield forshell,editandthinking. There is noerrors/failurescategory, and the settings UI (packages/app/src/settings/timeline-detail.tsx) only renders the "Collapse" switch for those three categories. Error output expansion is therefore decided entirely by hard-coded rules (see below) and cannot be configured. - Failures reported through metadata are not handled as errors. A shell command with a non-zero exit code (
shellResultFailed) and Code Modeexecutefailures (executeToolFailed) keepstate.status === "completed", so they do not take the error branch ofcurrentContentDefaultOpen()(packages/session-ui/src/message/current-tool-state.ts) and instead inherit the shell/execute expansion. In addition,SessionShellMessage(packages/session-ui/src/tools/tool-renderer.tsx) always renders aToolErrorCardfor a non-zero exit, independent of the collapse setting. - The TUI only has transient controls.
/details, thetool_detailskeybind,session.tool_detailsand thetool_expand_outputkeybind (feat(tui): add keybind to expand/collapse tool output blocks #52725) are not persisted as a config default, and there is no control for error/failed output at all.
This area has been a recurring source of issues and PRs: #17003 (error tool cards did not respect the expand setting), #6908, #7286, #11942, #34246, #42552, #49474, #52725, plus the still-open #45538 / #45872 / #51229.
Proposal
Make expanded/collapsed a persistent, explicit, per-category default that includes error/failed output, so users can choose (and keep) a compact view.
- Desktop / web: add an
errors/failurescategory to the timeline display policy (packages/session-ui/src/timeline/detail.ts) with its owndetails: collapsed | expandeddefault and a matching "Collapse" switch in the advanced settings, and make metadata-reported failures (shell non-zero exit, Code Modeexecutefailure) follow it instead of the shell/execute expansion. Illustrative shape:{ "timeline": { "shell": { "placement": "separate", "details": "collapsed" }, "errors": { "placement": "separate", "details": "collapsed" } } } - TUI: add a persistent config default (e.g. under
tui.json/cli.json) covering shell output and error/failed output, mirroring the existingsession.tool_details/session.thinkingoptions. Illustrative shape:{ "session": { "tool_details": "collapse", "error_output": "collapse" } } - Keep expanded/collapsed a per-item click/toggle layered on top of the default, and preserve the current defaults for anyone who does not opt in.
Benefits
- Users can keep successful tool activity and error output compact, or expand everything — their choice, persisted across sessions and set independently per category.
- Removes the inconsistency where error output follows hard-coded logic or the shell setting instead of the user's display preferences (App: error tool cards do not respect 'expand tool' setting #17003).
- Consolidates the many ad-hoc toggles into one predictable, documented policy per client.
Alternatives considered
- Per-tool-type display policy (show/collapse/hide) — [FEATURE] Configurable per-tool-type display policy (show/collapse/hide) #35193 (closed); it does not cover the success/failure distinction.
- Auto-collapse completed activity ([FEATURE]: Auto-collapse all completed response activity into one summary row in Desktop #49088, Transcript: auto-collapse executed tool groups + show result in group ticker #54515) — reduces noise after the fact but does not give control over error output.
Related
#35193, #45538, #45872, #51229, #51308, #49088, #54515, #17003 and PRs #52725 / #42552 / #34246.
Reacted by Aarvin Roshin
Metadata
Metadata
Assignees
Labels
No labels
Activity
opencode-agent commentedon Oct 13, 2026
Thanks for the detailed write-up and for tracing it through the source! To restate the request: you'd like a saved, per-category collapsed/expanded default that also covers error and failed output. On desktop/web that would be an
errorscategory in the timeline display settings. Shell commands that exit non-zero and failed Code Modeexecutecalls would follow that setting instead of the shell setting. In the TUI it would be a config default for shell and error output. Clicking an item would still expand or collapse it.The maintainers will consider it. Related open requests that overlap with parts of this: