[FEATURE] Show tool inputs in full while keeping tool outputs truncated (separate display control for input and output)
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) andCtrl+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":
- Bash: the complete command text, including multi-line commands and heredocs.
- Write: the complete file content.
- Edit: the complete diff.
- 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
.jsonlin a second terminal withjqto printtool_use
inputs: works, but it is a second window, with no diff rendering or highlighting.
- A
PreToolUsehook that echoestool_inputback viasystemMessage: 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
- I ask the agent to refactor scene files.
- It writes a 60-line Python script into a temp folder and runs it.
- In the default view I see the first lines of the script and "… +N lines".
- 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.
- 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.