[BUG] Ultraplan fails to recognize allowed git repo (first use on repo).
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?
Claude CLI fails to connect to a repo for ultraplan. Claude CLI interacts fine with git in other repos, and interacts fine with this repo. It is not a git permissions issue - I have tried "All repos" and selecting specific ones. No difference.
What Should Happen?
I have been using claude code to establish a new repo/codebase. I did a git commit and the work so far is saved in git. Claude has the correct permissions to use git fully (it does so fine on another repo). I am trying to launch ultraplan and it says it does not have access to the repo. I have tried (inside git permissions for claude) to use "all repos" and also to select specific repos. It makes no difference, Claude thinks it does not have access. I showed it a screenshot and it agreed this was a bug.
Error Messages/Logs
From Claude CLI:
⏺ Commit pushed. Try /ultraplan again now.
✻ Brewed for 3s
❯ /ultraplan
⎿ Usage: /ultraplan <prompt>, or include "ultraplan" anywhere
in your prompt
Remote plan mode with rich web editing experience.
Runs in Claude Code on the web. When the plan is ready,
you can execute it in the web session or send it back here.
You can continue to work while the plan is generated remotely.
Terms: https://code.claude.com/docs/en/claude-code-on-the-web
❯ /ultraplan open plan
◇ ultraplan
⎿ Starting Claude Code on the web…
❯ ultraplan: cannot launch remote session —
The Claude GitHub app must be installed on this repository first.
https://github.com/apps/claude/installations/new
⏺ Let's verify the app is actually installed. Open this in your browser:
https://github.com/settings/installations
You should see "Claude" listed under Installed GitHub Apps. If it's there, click
Configure and confirm reponame is included under repository access. If it's
not listed at all, visit https://github.com/apps/claude/installations/new and complete
the full install flow (authorize → select repo → click the green Install button at
the bottom).
✻ Baked for 8s
❯ it is installed
⏺ Try clicking Configure on the Claude app at https://github.com/settings/installations,
then under Repository access switch from "All repositories" to "Only select
repositories", add reponame explicitly, save — then switch back to "All
repositories" if you prefer. This forces a permission refresh on the specific repo.
Then retry /ultraplan.
✻ Worked for 12s
⏺ Try /ultraplan again now.
✻ Cogitated for 7s
❯ /ultraplan
⎿ Usage: /ultraplan <prompt>, or include "ultraplan" anywhere
in your prompt
Remote plan mode with rich web editing experience.
Runs in Claude Code on the web. When the plan is ready,
you can execute it in the web session or send it back here.
You can continue to work while the plan is generated remotely.
Terms: https://code.claude.com/docs/en/claude-code-on-the-web
❯ /ultraplan launch plan
◇ ultraplan
⎿ Starting Claude Code on the web…
❯ ultraplan: cannot launch remote session —
The Claude GitHub app must be installed on this repository first.
https://github.com/apps/claude/installations/new
⏺ Let's verify the installation is on the right account. Check this URL directly:
https://github.com/organizations/redacted/settings/installations
Or if that 404s (meaning it's a personal account, not an org):
https://github.com/settings/installations
Click Configure next to Claude and confirm:
1. It's under account redacted (not a different account or org)
2. reponame is listed under repository access
If the app is installed under a different GitHub account than the one that owns
redacted/reponame, that would explain the persistent failure — the app
installation and the repo need to be on the same account.
✻ Churned for 16s
❯ can you see the photo on the clipboard? it shows the adccount and that the repo is
allowed.
⏺ I can't access your clipboard directly — paste or drag the image into the chat and
I'll be able to see it.
✻ Worked for 4s
❯ [Image #1]
⎿ [Image #1]
⏺ The installation looks correct — reponame is listed. One thing I notice:
scroll down on that page and check if there's a green Save button at the bottom. If
you added the repo to the list but didn't click Save, the access grant wasn't
committed. Click Save if it's there, then retry /ultraplan.
✻ Worked for 21s
❯ I reloaded the page after going elsewhere in git. it is saved.
⏺ Bash(git -C /Users/redacted/Documents/reponame remote -v)
⎿ origin https://github.com/redacted/reponame.git (fetch)
origin https://github.com/redacted/reponame.git (push)
⏺ Remote is correctly set. This looks like it may be a propagation delay or a bug in
Ultraplan itself — everything on your end is configured correctly. Try waiting 1-2
minutes and running /ultraplan once more. If it still fails, this is likely a
platform-side issue worth reporting at
https://github.com/anthropics/claude-code/issues.
✻ Baked for 16s
※ recap: We're auditing the reponame codebase and trying to launch Ultraplan
for remote plan refinement. The GitHub app is installed and configured correctly —
just retry /ultraplan now. (disable recaps in /config)
Steps to Reproduce
use /ultraplan in Claude CLI. It will not run, see above outputs.
Claude Model
Sonnet (default)
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.138
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
3 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Self resolving for others who may have this issue. Found it. Your CLI's OAuth token has a scope problem.
Your local Claude Code credentials show:
scopes: ["user:inference"]
subscriptionType: pro
Pro tier is fine — that's not the gate. But user:inference is only the inference scope. /ultraplan and /web-setup need additional scopes to manage web sessions. That's why:
In the terminal CLI: /web-setup returns "Login failed. Please visit claude.ai/code…" — the existing token lacks the web-session scope, so it bails.
In the desktop app (where you are now): /web-setup says "not available in this environment" — desktop manages auth differently, so the command is hidden entirely (CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST=1).
Logging into claude.ai/code in your browser doesn't refresh the CLI's stored OAuth token. They're separate credential stores.
Fix
In the terminal CLI (run claude in iTerm/Terminal, not in the desktop app), run:
/logout
/login
When the browser re-auth flow opens, accept all the requested scopes — the new token should include the web-session scope your current user:inference-only token lacks. Then retry /ultraplan from the same terminal session.
If /login doesn't expand scopes on its own, the explicit form is:
/login --force-scope-refresh
(or simply delete the keychain entry Claude Code-credentials and run claude fresh — it'll trigger a full re-auth).
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.