[FEATURE] Optionally, render code diffs in terminal as data:... links with patch contents instead

Resolved 💬 3 comments Opened Dec 14, 2025 by ankhzet Closed Feb 14, 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

Currently, when claude modifies a file, it prints the diff to the terminal. Theese diffs can be quite big and lead to the conversation output scrolling very quickly, making it hard to follow the steps taken by the agent (also you often need to scroll to a specific step to confirm something and can't, 'cause the agent already dumped hundreds of new lines to the terminal).

Also this might help mitigating the issue with many user's terminal, when the scroll often starts violently jumping between start/end (whole buffer re-render issue, i think), as the terminal content buffer would become much smaller.

Proposed Solution

Instead of printing the diff, it should be possible to package the path as some form of URI (i.e. patch:filename.ext;data:<base64 data of the diff>). This would allow to cleanup the terminal output significantly.
When diffs are outputted as patch uris - it can be up to IDE's to allow user to click them and display the diff in the editor/default diff tool, giving user more control over when and where to read diffs.
It would also make it easier to, for example, on a start of new task clear the diffs pool, then on each new diff - add it to the pool. Then this pool of current diffs can be displayed in one place to allow to review all current (proposed?) code changes in one place (like suggested here #13563 , f.e.)

Alternative Solutions

Currently, there is no option to trim diff in the output, as far as i know. "Verbose output" option exists, but currently it only allows to make output _more_ verbose.

Priority

Medium - Would be very helpful

Feature Category

Interactive mode (TUI)

Use Case Example

  1. Ask claude to make any change to the code
  2. Agent prints patch uri instead of complete diff to the terminal
  3. I click on the patch link
  4. Diff is opened in the default diff tool (i.e. in ide editor)

Additional Context

_No response_

View original on GitHub ↗

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