[FEATURE] Add setting to disable auto-collapsing of multi-line bash tool output

Resolved 💬 3 comments Opened May 15, 2026 by TomekNocon Closed May 19, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Claude Code collapses any multi-line bash tool output behind a "Ran <command>" chevron, requiring the user to press Ctrl+O to expand it. For most use cases this is fine — but it breaks workflows where the bash output is the result, not just a log.

My specific case: I use tplot, a terminal charting CLI, which Claude Code is instructed (via CLAUDE.md) to use whenever answering data questions. The entire value of tplot is seeing the chart inline. When Claude runs tplot bar - -x region -y revenue the output is a colored Unicode chart — but it's immediately collapsed, making it invisible unless I manually expand every single tool call.

This also affects any other terminal visualization tool (e.g. glow, rich, sparklines, bat).

Proposed Solution

Option A — Command whitelist (minimal change, high impact)
Allow users to specify commands whose output should never be collapsed, rendered inline directly in the response thread:

{
  "inlineOutputCommands": ["tplot", "glow", "bat", "rich"]
}

When Claude runs a whitelisted command, the output appears inline in the conversation — seamlessly embedded in the response, not in a separate collapsible tool block. This keeps bash output for git, npm, find etc. collapsed as usual (where it belongs), while visualization output flows naturally into the reply.

Option B — Global threshold (blunt but simple)

{
  "bashOutputCollapse": "auto"  // default: collapse everything \\
  "bashOutputCollapse": "never" // never collapse
  "bashOutputCollapse": 50      // collapse only if output exceeds N lines
}

Option C — Inline rendering (ideal, larger effort)
The best experience would be if whitelisted command output were rendered as part of the assistant message itself — not as a separate tool result block at all. Similar to how code blocks or images appear inline in a response today. The chart would sit between paragraphs of text, exactly where Claude placed it, with no chevron, no separate block, no Ctrl+O.

This mirrors how tools like Jupyter notebooks embed output inline with narrative — the chart is part of the answer, not an appendix.

Alternative Solutions

The only workaround I found is to write output to an HTML file via the Write tool, which triggers the Launch preview panel. This works but requires Claude to run a multi-step pipeline (PTY capture → ANSI-to-HTML conversion → file write) instead of a single bash command. It costs extra tokens and adds latency for every chart.

Priority

Medium - Would be very helpful

Feature Category

CLI commands and flags

Use Case Example

  1. I want to stay in terminal, the plot says more than 1000 words
  2. I built the tplot cli tool that follows the best steps from the book "Storytelling with data"
  3. I want to use this library by claude when doing some analysis

Additional Context

here is the repo to library: https://github.com/TomekNocon/tplot

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗