/ultrareview fails on clean working tree with empty git stash create output

Resolved 💬 2 comments Opened May 5, 2026 by zigggy-stardust Closed May 22, 2026

Summary

/ultrareview aborts locally with the message below when the working tree is clean (no uncommitted or untracked changes). It looks like the tool treats empty git stash create output as a failure, but git intentionally returns empty output (exit 0) when there is nothing to stash.

Could not capture uncommitted changes (git stash create: ). Run `git add .` or commit, then retry.

The suggested remediation ("Run git add . or commit") doesn't apply — there is nothing to add.

Environment

  • Claude Code: latest as of 2026-05-05
  • Model: Opus 4.7 (1M context)
  • OS: macOS, Darwin 25.4.0
  • Shell: zsh
  • git: 2.50.1 (Apple Git-155)
  • git-lfs filters configured (filter.lfs.{clean,smudge,process,required}) — possibly relevant
  • Repo state: clean tree, no untracked files, branch ahead of main by committed work

Reproduction

  1. On a feature branch with committed changes vs main (in this case: 85 files / 6893 insertions / 22 deletions ahead).
  2. Ensure clean working tree (git status → "nothing to commit, working tree clean").
  3. Run /ultrareview.
  4. → Local error printed; review never launches.

Diagnostics on the same shell:

$ git status
On branch feat/plan2b2
nothing to commit, working tree clean

$ git diff --stat HEAD
(empty)

$ git ls-files --others --exclude-standard
(empty)

$ git stash create; echo exit=$?
exit=0   # empty stdout, exit 0 — normal git behavior for a clean tree

Observation: first invocation in the session DID succeed

Earlier in the same session, the very first /ultrareview worked: it printed Scope: 85 files changed, 6893 insertions(+), 22 deletions(-) and a session URL. That remote run later returned:

{"error":"Review crashed before producing findings. See session logs for details."}

(separate problem — possibly worth a server-side log lookup; session id session_01GSW8tk1JVJe4nQ1j6uc4FS)

The two subsequent local invocations, with no change to working tree state in between, both failed at the stash-create check. So either the local check is not deterministic on identical inputs, or there is state from the first run influencing subsequent ones.

Expected behavior

Empty output from git stash create on a clean tree should be treated as "no uncommitted changes to bundle", not an error. Proceed to the committed-diff review path.

Additional questions

  1. Did the failed initial run (server crash, no findings) consume one of the 3 free quota? The launch banner showed "Free ultrareview 1 of 3" but no findings were produced.
  2. Server-side: is the crash log for session session_01GSW8tk1JVJe4nQ1j6uc4FS available so the underlying review failure can be diagnosed?

View original on GitHub ↗

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