Skip to content

Explaining what changed

"Explain (LLM)" shows up in four places — a commit, a branch, your uncommitted work, and one file's pending diff — and they all answer the same question at a different scope: not what the message says, but what the change actually does. The three panel-based ones (commit, branch, working tree) share one instruction and one right-hand panel; the file one is scoped tighter, and reads against the file's own content, not just the patch.

Explaining a single commit

Choosing "Explain this commit (LLM)" opens the commit summary in the right panel and starts generating immediately — no second click needed, since picking the menu item already is the request. The explanation is remembered per commit afterwards: reopening the panel for the same commit shows it again straight away instead of regenerating.

Explaining a single commit

Captured from the running app by this scenario.

Do this

  1. Select the HEAD commit in the graph
  2. Choose Explain this commit (LLM) from the commit's row menu

You should see

  • The explanation panel shows a finished explanation

Explaining a branch's changes

Choosing "Explain branch changes (LLM)" summarizes everything the branch adds compared to its base — resolved from local refs alone, so it works with no remote and no GitHub token. Like the commit summary, it is remembered per branch and shown again on reopening rather than regenerated.

Explaining a branch's changes

Captured from the running app by this scenario.

Do this

  1. Choose Explain branch changes (LLM) for the feature/login branch (base main)

You should see

  • The explanation panel shows a finished explanation

Explaining all uncommitted changes

Choosing "Explain working changes (LLM)" on the working-tree row summarizes everything you haven't committed yet — every changed file, not just whichever one happens to be open. Unlike the commit and branch summaries it keeps no memory: the working tree moves constantly, so every open generates fresh.

Explaining all uncommitted changes

Captured from the running app by this scenario.

Do this

  1. Choose Explain working changes (LLM) from the working-tree row menu

You should see

  • The explanation panel shows a finished explanation

Explaining one file's pending diff

The Explain button above the diff editor answers a narrower question than the panels above: what does this one pending change do to this file, read against the file's own current content, not just the +/- lines of the patch. Nothing runs until you ask for it.

Explaining one file's pending diff

Captured from the running app by this scenario.

Do this

  1. Select the working-tree changes in the graph
  2. Open the diff for config.yml
  3. Click the explain-changes button

You should see

  • The change explanation shows a finished explanation

This page is generated from apps/e2e/features/ai-explanation.feature, the end-to-end test that drives the feature it describes.

MIT licensed · Screenshots exported from the real app by the end-to-end suite.