[FEATURE] Show tool inputs in full while keeping tool outputs truncated (separate display control for input and output)

Status Open
Maintainer reply None cached
Activity 0 comments · opened Oct 6, 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

I want to review everything the agent writes, and only skim what comes back.
Today the two are controlled together:

  • Default view: tool output is truncated (good), but long tool inputs are collapsed

too. A multi-line Bash command, a heredoc temp script, or the content of a Write
call is cut to a few lines with "… +N lines".

  • "viewMode": "verbose" / "verbose": true / --verbose / /config verbose=true:

inputs are shown in full, but so is every command's output, which floods the
screen in long agentic sessions.

  • Ctrl+O (transcript viewer) and Ctrl+E (transcript:toggleShowAll) have the

same all-or-nothing behavior and are per-session, after-the-fact toggles.

The input is the part I need to audit: it is what the agent is doing to my machine
and my code. A script the agent writes and runs through a heredoc is code I never
get to read unless I switch to verbose and accept the output noise. The output is
usually only interesting when something goes wrong.

Proposed Solution

Split the display setting into independent input and output controls, for example:

{
"toolInputDisplay": "full", // "truncated" | "full"
"toolOutputDisplay": "truncated" // "collapsed" | "truncated" | "full"
}

With toolInputDisplay: "full":

  1. Bash: the complete command text, including multi-line commands and heredocs.
  2. Write: the complete file content.
  3. Edit: the complete diff.
  4. Other tools: complete arguments.

Output keeps the current default truncation with "… +N lines (ctrl+o to expand)".

An equivalent alternative would be a fourth viewMode value (e.g. "inputs")
next to "default", "verbose" and "focus".

Alternative Solutions

  • viewMode: "verbose": shows what I want plus all the output I don't want.
  • Tailing the session .jsonl in a second terminal with jq to print tool_use

inputs: works, but it is a second window, with no diff rendering or highlighting.

  • A PreToolUse hook that echoes tool_input back via systemMessage: duplicates

every call in the transcript and depends on how that message is rendered.

Priority

Low - Nice to have

Feature Category

CLI commands and flags

Use Case Example

  1. I ask the agent to refactor scene files.
  2. It writes a 60-line Python script into a temp folder and runs it.
  3. In the default view I see the first lines of the script and "… +N lines".
  4. To read what is about to modify my files I must open the transcript viewer or

switch to verbose, and then every later cargo run prints its whole output.

  1. With the proposed setting, the script is shown in full and the cargo output stays

at a few lines.

Additional Context

Related: #96962 (command + first N output lines), #91827 / #40428 (collapse tool
output by default), #92562 (large Bash command payloads not visible in the UI).
This request is the input-side counterpart: those ask for less output, this asks
for the input to never be hidden. The setting names above are chosen to compose
with the toolOutputDisplay proposed in #96962.

View original on GitHub ↗