/remote-control hidden in Claude Desktop 2.1.111 — injected CLAUDE_CODE_OAUTH_TOKEN is inference-only
Dear Anthropic team,
Summary
After updating Claude Desktop to 2.1.111 on Windows, the /remote-control slash command returns /remote-control isn't available in this environment. in the Desktop chat UI. Before the update (same day), the command worked and I used it regularly for mobile access from the Desktop app.
Environment
- OS: Windows 10/11
- Claude Desktop with Claude Code 2.1.111
CLAUDE_CODE_ENTRYPOINT=claude-desktop- Subscription: full claude.ai login (not API key);
ANTHROPIC_API_KEYunset - No third-party provider env vars (
CLAUDE_CODE_USE_BEDROCK/_USE_VERTEX/_USE_FOUNDRYall unset)
Reproduction
- Update Claude Desktop such that it ships Claude Code 2.1.111
- Open any Desktop session
- Type
/remote-control - Response:
/remote-control isn't available in this environment.
Diagnosis (from the shipped claude.exe)
The slash command's enable check:
function vu(){ return Si6() && C8("tengu_ccr_bridge", !1) }
function Si6(){ try{ return s$() } catch{ return !1 } }
The feature flag passes (CLAUDE_INTERNAL_FC_OVERRIDES={"tengu_ccr_bridge":true} is present in the session env), so Si6() must be returning false — which sets isHidden on the slash command and produces the generic stub.
getBridgeDisabledReason (yi6) names the failure mode explicitly:
Remote Control requires a full-scope login token. Long-lived tokens (fromclaude setup-tokenor CLAUDE_CODE_OAUTH_TOKEN) are limited to inference-only for security reasons. Runclaude auth loginto use Remote Control.
Desktop 2.1.111 injects CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-… into every spawned session. That token is inference-only, Si6() returns false, /remote-control is hidden.
Expected
Pre-2.1.111 Desktop built this session with a full-scope token (or no CLAUDE_CODE_OAUTH_TOKEN at all, letting the session resolve auth from the cached oauth:tokenCache in %APPDATA%\Claude\config.json), so /remote-control was available in the Desktop chat UI. Post-update, it is not.
Either:
- Desktop should not inject an inference-only
CLAUDE_CODE_OAUTH_TOKENwhen a full-scope claude.ai login is cached in%APPDATA%\Claude\config.json, or - The Desktop chat UI should prefer the cached full-scope token for Remote Control eligibility
Thanks!
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗