Skip to content

Diff Viewer

The diff viewer shows you exactly what the agent changed in your codebase, updated in real time as the agent works.

After an agent completes work (or while it’s still running), the diff panel shows all modified files with:

  • Unified diff view — added lines in green, removed lines in red
  • Syntax highlighting — code is highlighted by language
  • Line numbers — original and new line numbers side by side

The right sidebar (⌘/Ctrl + D to toggle) displays a list of all files that have been changed in the current workspace. Click any file to jump to its diff.

The changed files list organizes files into collapsible sections, one per git layer:

  • Committed — files changed on this branch compared to the base branch
  • Staged — files added to the git index (git add)
  • Unstaged — tracked files with working tree modifications
  • Untracked — new files not yet tracked by git

Each section has a colored left border for quick visual scanning. A file can appear in more than one group — for example, a file with both staged and unstaged changes shows up in both sections. Clicking a file opens the diff for that specific layer, not the combined diff.

Claudette uses separate git operations per layer to build the changed-files list and to render the diff for a selected file. In some cases these are the same base command with different flags, and for untracked files the list and diff steps are different commands entirely:

LayerChanged-files listPer-file diff
Committedgit diff <merge-base>..HEAD --name-status / --numstatgit diff <merge-base>..HEAD -- <path>
Stagedgit diff --cached --name-status / --numstatgit diff --cached -- <path>
Unstagedgit diff --name-status / --numstatgit diff -- <path>
Untrackedgit ls-files --others --exclude-standardgit diff --no-index -- /dev/null <path>

The list updates automatically as the agent writes code, so you can watch changes appear in real time during streaming.