/install-github-app freezes interactively + /ultrareview auth errors are uninformative
Summary
Two related defects encountered while trying to use /ultrareview against
PRs in my own GitHub repo:
/install-github-appopens an interactive dialog that **cannot be
dismissed**: ctrl-c, esc, and enter all do nothing. I had to ctrl-z
the process and kill %1 to escape.
/ultrareview <PR#>fails with a single error string regardless of
which piece is misconfigured:
> Ultrareview could not start the remote session: GitHub repository
> access check failed — re-authorize GitHub in settings
The error gives no signal on which of these is missing:
- The
claudeGitHub App (https://github.com/apps/claude) installed on the repo - Claude.ai-side OAuth grant (the fix in my case was
/logout && /login) ghCLI auth- The CLI's local OAuth store
- Repo allow-list scope inside the App install
I had to try each of them in turn to isolate the cause. /config
does not surface a GitHub integration row, so there's no "current
status" to inspect.
Repro (issue 1 — freeze)
- Run
/install-github-appin the REPL. - Dialog renders. No key (ctrl-c, esc, enter, q) closes it.
- Only
ctrl-z+kill %1recovers.
Terminal: standard Linux terminal (Ubuntu 25.10, kernel 6.17.0-20-generic).
Claude Code 2.1.119.
Repro (issue 2 — opaque error)
- Install https://github.com/apps/claude on the target repo.
- Run
/ultrareview <PR#>against a PR you own. - Error fires. There is no diagnostic that distinguishes "App not
installed" from "Claude.ai OAuth stale" from "wrong account" from
"repo not in App allow-list".
In my case the actual fix was /logout && /login, which I only found
after several other dead ends.
Suggested fixes
- Freeze: make ctrl-c always dismissable in
/install-github-app. - Error: have the access check report which specific precondition
failed (App install, OAuth grant, repo scope, account match), and
link to a specific remediation. A /ultrareview --doctor style
command would also help.
Environment
- Claude Code 2.1.119
- Linux 6.17.0-20-generic x86_64
- bash
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗