Option to hide inline diffs for Edit/Write tool output

Status Open
Maintainer reply None cached
Activity 34 comments · opened Mar 23, 2026

Add a setting to suppress the inline diff display that appears in the conversation stream when the Edit or Write tool modifies a file.

The diff dialog (Escape to dismiss) exists, but there's no way to hide the diffs that appear inline during file edits. A setting like "showDiffs": false in settings.json would be useful for users who prefer cleaner output and trust the changes being made.

View original on GitHub ↗

34 Comments

github-actions[bot] · 6 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/30139
  2. https://github.com/anthropics/claude-code/issues/25060
  3. https://github.com/anthropics/claude-code/issues/37584

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

acompa · 6 months ago

Would love to see this too, Claude will often say something insightful which is quickly wiped out by 30 lines of output from Bash(<some_cmd>).

raian-pollock · 6 months ago

+1 to this!

benflexcompute · 5 months ago

+1

Litee · 5 months ago

If we want to stay minimal, maybe we could have a pi.on("tool_render", ...) extension point for overriding only the rendering?

mfaughn · 5 months ago

For the love of bacon, please implement something like this!

Litee · 5 months ago

I have to correct myself. Pi agent examples have an extension with custom tool output rendering, so I was able to do all customizations I wanted.

Litee · 5 months ago

There is also an example of what is called minimal mode, which hides tool's output.

jickoo · 4 months ago

+1, please 🙏🙏🙏

haikalpribadi · 4 months ago

Yes, please

ChivPoint · 4 months ago

+1

yonka2019 · 4 months ago

would be much cleaner

huangyingw · 4 months ago

+1 on this. Adding a concrete reason why the existing /focus view isn't a substitute:

The only native way to collapse Edit/Write diffs today is fullscreen rendering (tui: fullscreen) + /focus. But fullscreen uses the terminal's alternate screen, so the terminal scrollback history is lost on exit — for users who rely on inline scrollback, fullscreen is a non-starter, which makes /focus unusable for this purpose.

A "showDiffs": false (or "collapseDiffs": "summary" showing a one-line Edited foo.py +3 -1) that works in the default inline renderer without requiring fullscreen would close the gap. Today "clean output" and "preserved terminal scrollback" are mutually exclusive; this setting would decouple them.

ardigo · 2 months ago

This would be a nice feature for people that uses Claude Code as a 'second brain assistant' (I don't want to read the changes on the .md files). Thanks.

initd-it · 2 months ago

+1 for this. Codex does a great job on this and a much cleaner output

robertotaylor-tech · 1 month ago

Yes please. I would love this feature.

jpvgh · 1 month ago

Adding my support for this. When I use Claude Code in the terminal, the output is jarring compared to when I use it in the Claude Desktop application (which hides file edits by default). I'd really love to hide diffs in the output so I can focus on the conversation.

dyaboykyl · 1 month ago

+1. The diffs cause tons of noise while trying to scroll through to read Claude's actual thinking output

sec-ce · 1 month ago

Also adding support for this

hrp · 1 month ago

One piece of information the thread doesn't have yet: the condensed renderer this asks for already exists in the binary. It just isn't reachable from a setting.

In 2.1.263 the tool-result renderer takes a style parameter, and the create/update branches already short-circuit the diff when style === "condensed" and verbose is off, printing Wrote N lines to <path> instead. That path is currently only wired to internal collapsed views — the "Showing last N tool uses" group — so it never fires during a normal turn.

So this is plumbing an existing code path to a user setting rather than writing a new renderer.

For anyone landing here looking for a workaround in the meantime: there isn't one. /config in 2.1.263 has no diff-display option; the only diff-adjacent knobs are diffTool (terminal/auto, which moves the approval diff to an IDE tab when one is connected) and syntaxHighlightingDisabled (removes colour, same number of lines). Neither reduces the vertical space the post-edit diff takes in the stream.

The Ctrl+Shift+B transcript toggle hides whole messages rather than diffs specifically, which is a blunter instrument than what's being requested here.

~ Automated via Claude

eliasemiliano · 1 month ago

I'd like to add my use case here as well. When working on larger refactors or multi-file changes in the CLI, the diff panel adds a lot of visual noise and makes it harder to follow the conversational flow of the session. I trust Claude's edits in most cases and would rather review changes afterward via git diff than have the full diff rendered inline every time.

A setting like showDiffs: false or diffDisplay: "collapsed" in settings.json (as proposed above) would solve this well — ideally with a one-line summary option (e.g. "Edited file.ts — 12 lines changed") for cases where I still want a quick signal without the full diff.

It would also be great to have a keyboard shortcut or slash command to toggle the diff panel on/off during a session, rather than only a static config option — that way it's easy to peek at a diff when needed without permanently changing the setting. Would appreciate seeing this prioritized.

jannisbecker · 1 month ago

I'm using Claude code inside the Orca ADE, which already has a clean git changes view. The one inside Claude code, in this case, is just a lot of visual noise which makes it harder to focus on the conversation.

LispEngineer · 1 month ago

Wanted to add a +1 to this. It's very hard to find what I want to see in the scroll back with all these huge, non-collapsable Update/Edit diffs polluting the scrollback. I generally don't care about these things most of the time.

9hb · 26 days ago

+1 love this in codex and even agy

thecosmicskye · 22 days ago

how is this not a feature yet? lol

dimzayan · 19 days ago

+1 this should be on top of the enhancement list. There are so many other ways to see diffs this is plain noise in a n otherwise valuable conversation

undergroundwebdesigns · 14 days ago

I've suddenly found Claude Code (CLI) posting full diffs of every file that changes _when it checks out a new Git branch_. This is _highly_ misleading, as it is indistinguishable from Claude reading/writing files unless you look closely at which CLI command ran before the diff. I don't want to see a full diff between whatever branch Claude was on and what it's now on every time it changes branches, that's a huge amount of clutter in my chat for no value whatsoever.

bd-ecousineau · 11 days ago

Would love for this feature or at least something like Ctrl+T to toggle collapsing expanding diffs. Diffs expanded by default.

EDIT: #80720

gixxy22 · 11 days ago

SOLVED

Ask claude code directly to build itself a mod to exclude diff results from appearing, or collapse into a single line of +/-. ask to load on start. reopen terminal. done!

LispEngineer · 11 days ago

@gixxy22 Can you please publish the mod in a GitHub (or other hosted) repository? Thanks!

akilin · 10 days ago
@gixxy22 Can you please publish the mod in a GitHub (or other hosted) repository? Thanks!

You can try out mine if you want.

https://github.com/akilin/claude-plugins

/plugin marketplace add akilin/claude-plugins
/plugin install better-tool-rows@akilin-plugins

Note that the plugin currently does more than hide diffs for Edit/Write tool output.
Full list of changes:

  • Read / Edit / Write: file paths are shown relative to the folder Claude Code was started in. The link behind the path is still the full path, so Ctrl+click still opens the file.
  • Edit / Write: the diff is hidden, and the row shows line counts instead, like Update(notes.md) +3 -1.
  • Bash commands: each command is joined onto one line and cut with … so it fits the terminal width.
  • Bash file creates/deletes: when a command creates/deletes files, each file is listed with its added/removed line count (Deleted notes.md -10) instead of a full diff.
  • Bash output: anything longer than 5 lines is folded behind a clickable ▸ N lines. When opened, it shows up to 500 lines. If the command was shortened, the fold also holds the full command.
  • Compresses space between single-line tool calls to improve vertical space usage.

Example of how it looks (ignore the prompt bubbles, that is a separate plugin in the same repo):

!A session with better-tool-rows and prompt-bubbles

Same session, without plugin (zoomed out to fit in a single screenshot):

!The same session without the plugin

gixxy22 · 10 days ago
@gixxy22 Can you please publish the mod in a GitHub (or other hosted) repository? Thanks!

enjoy

https://github.com/gixxy22/hide-diffs

Egrn · 4 days ago

Solved with a mod: https://github.com/Egrn/claude-code-mutedit — Ditch the diff cut the riff, no more edits less of credits. One grey line per edit instead of the diff (Edit, Write, NotebookEdit, and files a Bash command changed); toggle with /mutedit.

ardigo · 1 day ago

Nice and useful addition. I took the liberty of changing the color to cyan
on my local install.
Thank you very myuch.

Em sáb., 10 de out. de 2026 às 13:04, egrn @.***>
escreveu:

Egrn left a comment (anthropics/claude-code#37951) <https://github.com/anthropics/claude-code/issues/37951#issuecomment-6099454419> Solved with a mod: https://github.com/Egrn/claude-code-mutedit — Ditch the diff cut the riff, no more edits less of credits. One grey line per edit instead of the diff (Edit, Write, NotebookEdit, and files a Bash command changed); toggle with /mutedit. — Reply to this email directly, view it on GitHub <https://github.com/anthropics/claude-code/issues/37951?email_source=notifications&email_token=ADFYW6C4YH6BPIOOIMB2CQL5TJMXLA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMMBZHE2DKNBUGE42M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-6099454419>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ADFYW6DTMIUMUTTHDTBEGX35TJMXLAVCNFSNUABFKJSXA33TNF2G64TZHM4TGNZSGUZTINZVHNEXG43VMU5TIMJSGMZDQNZTGA42C5QC> . Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS <https://github.com/notifications/mobile/ios/ADFYW6AVXIKRYZJOZNLN3GT5TJMXLA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMMBZHE2DKNBUGE42M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJKTGN5XXIZLSL5UW64Y> and Android <https://github.com/notifications/mobile/android/ADFYW6ADUDZ2JEDD7WER3YT5TJMXLA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMMBZHE2DKNBUGE42M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>. Download it today! You are receiving this because you commented.Message ID: @.***>