[BUG] /ultrareview reports "GitHub App must be installed" despite correct install on the repo

Resolved 💬 4 comments Opened May 1, 2026 by SangsooSung Closed Jun 24, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

/ultrareview <PR#> consistently refuses to launch, claiming the Claude GitHub App is not installed on the target
repository — but the App is correctly installed on the repo. The install is visible at
https://github.com/settings/installations under "Claude," with the target repo present in the "Selected repositories"
list, and the Save button grey/inactive (saved state confirmed).

The Claude account email and the linked GitHub account email are different. Flagging this in case the backend lookup
keys off Claude account email rather than the OAuth-linked GitHub identity.

What Should Happen?

/ultrareview <PR#> should detect the correctly-installed GitHub App and proceed to run the multi-agent review on the
specified PR.

Error Messages/Logs

Ultrareview cannot launch:
  The Claude GitHub app must be installed on this repository first.
  https://github.com/apps/claude/installations/new                                                                           
   
  (Reproduces every invocation; no further log output exposed to the user.)

Steps to Reproduce

  1. Install https://github.com/apps/claude on a personal-account private repo, where the GitHub login email is

different from the Claude account email.

  1. Run /web-setup and complete the OAuth flow. It reports Connected as <github-login>. Opened https://claude.ai/code.
  2. Run /ultrareview <PR#> against any PR in that repo.
  3. Observe the Ultrareview cannot launch error.

Verified install state through:

  • https://github.com/settings/installations — Claude entry present, repo selected, saved
  • gh api /apps/claude — confirms app exists (slug claude, owner anthropics)
  • gh auth login + gh auth status — GitHub CLI authenticated as the correct account, scopes `gist, read:org, repo,

workflow`

  • Revoked prior GitHub CLI OAuth grant + re-ran gh auth login cleanly — no change
  • /web-setup re-run after revoke — succeeds; /ultrareview still fails
  • gh api /repos/<owner>/<repo>/events — zero app/claude activity in event stream (only github-actions)

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

Never worked for this user / repo combination — first attempt and all subsequent attempts fail identically.

Claude Code Version

Claude Code latest at time of report (Opus 4.7, 1M context)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Hypotheses:

(a) Anthropic backend caches "App not installed on repo X" and is not refreshed by post-install webhooks. A cache bust on
retry, or a --force-refresh flag, would fix it.

(b) The backend keys the install lookup off the Claude account's email rather than the OAuth-linked GitHub identity. When
the two differ, the lookup misses. The install lookup should follow the GitHub user linked via /web-setup, not the Claude
account email.

Willing to share repo name, GitHub username, and Claude account ID privately (support email / DM) for debugging — kept
out of this public issue.

View original on GitHub ↗

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