[Desktop] Bash file-change diff (bashEditDiff) is computed but never shown in the Code tab

Status Open
Reported on v2.1.286
Maintainer reply None cached
Activity 0 comments · opened Oct 4, 2026

Environment

  • Claude Desktop 2.19675.0 (Code tab), bundled Claude Code 2.1.286 (entrypoint: claude-desktop); also reproduced on 2.1.280
  • macOS, Darwin 25.6.0, Apple Silicon
  • Permission mode: auto, plus "bashEditDiffEnabled": true in ~/.claude/settings.json
  • Session opened in a git worktree (the repository root is the session's working directory)

What happens

When Claude edits files through the Bash tool, the CLI computes the file-change diff correctly, but the desktop Code tab never displays it. There is no "Created/Updated/Deleted <file> (+n -m)" line and no red/green diff under the Bash result, only the command's plain output.

Reproduce

In a Code tab session opened on a git repo, ask Claude to run these as separate Bash calls (not Edit/Write):

printf 'port = 0\nname = test\n' > zz-diff-test.toml
sed -i '' 's/port = 0/port = 8080/' zz-diff-test.toml
python3 - <<'EOF'
import pathlib
p = pathlib.Path("zz-diff-test.toml"); p.write_text(p.read_text().replace("name = test", "name = native-diff"))
EOF
rm zz-diff-test.toml

The session transcript shows that every one of those results carries a correct toolUseResult.bashEditDiff:

| Command | bashEditDiff in transcript |
|---|---|
| printf … > | created: true, +port = 0, +name = test |
| sed -i | -port = 0, +port = 8080 |
| python heredoc | -name = test, +name = native-diff |
| rm | deleted: true, -port = 8080, -name = native-diff |

None of it appears in the Code tab, either before or after restarting the app.

Expected

The Code tab renders bashEditDiff under the Bash result, the way it already renders the diff for Edit/Write tool calls (and the way the terminal CLI renders it).

Why it matters

Claude often edits files through Bash (sed, heredoc scripts) rather than Edit. In the desktop app, those changes currently show no diff at all, so the user can't see what changed without going to the session diff pane or git.

Related

#95854, #97146, #94571 and #96492 are about the same feature's attribution and performance. They also confirm the data is produced; this issue is only about the desktop app not showing it.

View original on GitHub ↗