VS Code extension checks entitlements differently than Desktop — Apple-subscription Pro accounts see "Free" plan model access errors
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 Code in VS Code blocks access to premium models (Sonnet 5, Opus, and even some Haiku variants) with:
There's an issue with the selected model (claude-sonnet-5). It may not exist or you may not have access to it. Run /model to pick a different model.
This happens for every model tested, immediately after a fresh /login inside the VS Code panel — it is not model-specific. The same account works fine in the Claude Desktop app at the same time, on the same machine.
Environment
- OS: Windows 11 Pro (10.0.26200)
- VS Code Claude Code extension: v2.1.201 (win32-x64), clean reinstall tested
- Account: Claude Pro, billed via Apple subscription (App Store)
- Org ID:
49244fca-f903-4345-911b-5a085d65a9ae
Root cause found via Anthropic support (in progress)
I opened a support ticket (conversation ID 215474977254171) and their AI triage agent identified that the backend shows my organization as being on the Free plan, while my locally cached session (~/.claude.json → oauthAccount.organizationType) and claude auth status (subscriptionType: "pro") both show Pro. Their explanation:
Desktop may be caching an older session... but VS Code is correctly checking your current entitlements — which show Free plan access only... this is a billing/subscription sync issue between your Apple subscription and our system.
So this appears to be a sync bug between Apple App Store subscriptions and Anthropic's entitlement backend, and the VS Code extension's IDE-bridge auth path does a live entitlement check that surfaces the (incorrect) Free-tier state, while Desktop relies on a cached/older session that still reflects Pro correctly.
Steps already ruled out locally (not the cause):
ANTHROPIC_MODEL/CLAUDE_MODELenv var overrides — none found at User/Machine/Process scope.- Leftover config from an unofficial "CodeFlow Studio" VS Code extension — not present.
- Stale credentials —
claude auth logout+claude auth login, confirmed fresh via.credentials.jsontimestamp. - Stale process — full restart of both Desktop and VS Code (all
Code.exeprocesses killed). - Corrupted extension build — full uninstall/reinstall of the extension, repeated
/login. - Noticed VS Code panel initially showed "Not logged in · Please run /login" even while the CLI (
claude auth status) reportedloggedIn: true— the extension appears to use a separate auth/bridge session from the CLI/Desktop.
Since I already have a support ticket open for the account-specific billing sync, I'm posting here mainly because the underlying mechanism — VS Code's IDE bridge validating entitlements differently/more strictly than Desktop — looks like it could affect other users with Apple-subscription-based Pro/Max plans, not just my account. Is this a known class of issue? Any workaround while the billing sync is resolved on the backend?
Happy to share more diagnostics if useful.
What Should Happen?
Since I have an active Claude Pro subscription (confirmed via Apple App Store billing, and reflected in claude auth status as subscriptionType: "pro"), the VS Code Claude Code extension should recognize the same Pro entitlements as the Claude Desktop app for the same account, and allow access to Sonnet 5, Opus, and other Pro-tier models without the "model may not exist or you may not have access to it" error.
Ideally, the VS Code extension's entitlement check should stay in sync with the account's actual subscription status (the same status Desktop correctly reflects), rather than showing a stale/incorrect "Free" plan state that blocks model access.
Error Messages/Logs
There's an issue with the selected model (claude-sonnet-5). It may not exist or you may not have access to it. Run /model to pick a different model.
Steps to Reproduce
- Have a Claude Pro account billed via Apple App Store subscription (not a direct Anthropic/Stripe billing).
- Install the Claude Code extension in VS Code (v2.1.201, win32-x64).
- Open the Claude Code panel in VS Code and run
/login. Note: at this point the panel may show "Not logged in · Please run /login" even thoughclaude auth statusin a separate terminal already reportsloggedIn: truefor the same account — indicating the extension uses a separate auth/session bridge from the CLI. - Complete the login flow in the browser. The panel reports "Login successful".
- Send any message, e.g.
hello. - Observe the error:
````
There's an issue with the selected model (claude-sonnet-5). It may not exist or you may not have access to it. Run /model to pick a different model.
- Run
/modeland switch to a different model, e.g.claude-haiku-4-5-20251001. Send a message again — the same error occurs, confirming it is not model-specific. - Meanwhile, open the Claude Desktop app with the same account and send a message with Sonnet 5 selected — it works normally, with no error.
- For elimination, also tried (none of these resolved the issue):
- Fully quitting and restarting VS Code (killing all
Code.exeprocesses first) - Fully uninstalling and reinstalling the Claude Code extension, then repeating steps 3-6
claude auth logout+claude auth loginin a terminal (separate from the VS Code panel's own login)
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.201 (Claude Code) — VS Code extension anthropic.claude-code, win32-x64
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_