/remote-control hidden in Claude Desktop 2.1.111 — injected CLAUDE_CODE_OAUTH_TOKEN is inference-only

Resolved 💬 3 comments Opened Apr 20, 2026 by yourjewishoverlord Closed Apr 24, 2026

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_KEY unset
  • No third-party provider env vars (CLAUDE_CODE_USE_BEDROCK/_USE_VERTEX/_USE_FOUNDRY all unset)

Reproduction

  1. Update Claude Desktop such that it ships Claude Code 2.1.111
  2. Open any Desktop session
  3. Type /remote-control
  4. 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 (from claude setup-token or CLAUDE_CODE_OAUTH_TOKEN) are limited to inference-only for security reasons. Run claude auth login to 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_TOKEN when 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!

View original on GitHub ↗

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