Claude Code — Remote Control
Drive a Claude Code session running on your local machine from any browser (claude.ai/code) or the Claude mobile app (iOS/Android). Your code, filesystem, MCP servers, and tools all stay local — the web/mobile UI is just a window into that local session.
Why / When to Use
When you want to continue a local Claude Code session from another device (phone, tablet, second laptop) without re-uploading files or losing context. Also useful for monitoring long-running tasks and receiving push notifications when Claude needs input.
Core Concept / Commands
Minimum version
claude --version # must be v2.1.51+Start a Remote Control session
| Method | Command | Notes |
|---|---|---|
| Server mode | claude remote-control | Stays running, accepts multiple concurrent sessions |
| Interactive | claude --remote-control | Full local session + remote access simultaneously |
| From existing | /remote-control (in prompt) | Picks up current conversation |
| VS Code | /remote-control in prompt box | Requires v2.1.79+ |
Connect from another device: open the session URL, scan the QR code, or find the session by name at claude.ai/code.
Push notifications (v2.1.110+)
Claude pings your phone when a task finishes or needs input. Requires the Claude mobile app to be installed.
Key Options / Variants
| Feature | Remote Control | Claude Code on the Web |
|---|---|---|
| Runs on | Your machine | Anthropic cloud |
| Local files / MCP | ✅ Yes | ❌ No |
| Best for | Continuing local work remotely | Fresh tasks, no local setup |
Gotchas
- The local process must keep running — closing the terminal ends the session.
- Network outage > ~10 min causes timeout.
- Starting an ultraplan disconnects Remote Control.
- Some CLI commands (
/mcp,/resume) are local-only and don’t work via remote. - Security model: outbound HTTPS only, no inbound ports opened; short-lived scoped credentials via Anthropic API over TLS.
Source
Conversation: “CC-Remote Control” — 2026-05-16
Updates — 2026-05-17
Always-on Remote Control (built-in setting)
No alias needed — use the built-in config:
/config → enable "Enable Remote Control for all sessions"
This auto-starts Remote Control every time Claude Code launches interactively.
Alternatively, an alias:
alias cc='claude --remote-control'Downsides of always-on Remote Control
- Startup overhead — registers with Anthropic API on every launch, adds ~1–2 seconds
- Internet required — if connection is flaky, Claude Code itself may fail to start
- Outage exits process — if machine loses network for ~10 min, the entire session dies
- Session accumulation — each terminal window registers its own remote session; you’ll accumulate sessions in the list on your phone
- Security surface — your local session is always reachable via Anthropic’s servers while running (TLS + scoped credentials, but still a consideration)
For local LLM dev work, the network dependency is the biggest practical risk — if your LiteLLM proxy or local network has issues, always-on Remote Control adds one more failure point on startup.
Updates — 2026-05-26
Why API Keys Don’t Work for Remote Control or Channels
API keys are inference-only — they authorise a request to the model and nothing more. Remote Control and Channels require a full identity layer that only OAuth login (claude auth login) provides.
| Capability | API key | claude.ai OAuth |
|---|---|---|
| Call the model | ✅ | ✅ |
| Register a session with Anthropic’s servers | ❌ | ✅ |
| Route messages between devices | ❌ | ✅ |
| Verify identity & subscription | ❌ | ✅ |
| Push notifications | ❌ | ✅ |
| Short-lived scoped credentials | ❌ | ✅ |
An API key says “this request is billable to account X”. OAuth says “this is a real human user with a subscription, a phone, an identity”. Remote Control and Channels are built on top of that identity layer.
Local proxy users: If your API key points to a local LiteLLM/DeepSeek proxy (e.g. 172.18.0.1:4001), Remote Control won’t work even with a real Anthropic key — because session registration must go through claude.ai. To use Remote Control you must: run claude auth login, authenticate with your claude.ai account, and let inference go through Anthropic’s actual API (not a local proxy) for those features.
Source: Conversation “CC-Remote Control” — 2026-05-26
Updates — 2026-06-01
Third-Party Remote Control Tools
For local LiteLLM proxy setups where Official Remote Control won’t work (API-key-only + local proxy), third-party tools bridge Claude Code to chat platforms directly.
| Tool | Platform | Two-way | Notes |
|---|---|---|---|
| OpenACP | Telegram/Discord/Slack | ✅ | Best for multi-platform; one-wizard install; works with local proxy |
| TeleClaw | Telegram only | ✅ | Production-grade; live streaming; SQLite session management; auto-recovery |
| remote-cli | Telegram only | ✅ | Claude Code SDK-based; /plan mode; permission modes |
| claude-notifications-go | Slack/Discord/Telegram/Teams | ❌ notify only | 6 notification types; webhook to 10+ platforms |
| whatsapp-claude-plugin | ✅ | Linked device, no API keys needed |
For LiteLLM proxy + Discord: OpenACP is the recommended first try — npm install -g @openacp/cli && openacp starts a wizard (choose platform, enter bot token, select workspace, choose agent).
Source: Conversation “CC-Remote Control” — 2026-06-01
Weekly Summary — 2026-W22
Appeared: Tue 26 May Key developments this week:
- Clarified the fundamental reason why API keys cannot activate Remote Control or Channels: API keys are inference-only credentials; they authorise a model request but provide no identity layer. Remote Control requires OAuth login (
claude auth login) to register a session, verify identity, and enable push notifications. - Documented the incompatibility with local proxy setups: even if
ANTHROPIC_API_KEYis valid, pointing it at a LiteLLM/DeepSeek proxy makes Remote Control impossible because session registration must go throughclaude.ai.
New things learned:
- The distinction is inference-only (API key) vs identity+session layer (OAuth). These are architectural differences, not permission levels.
- To use Remote Control alongside a proxy setup: authenticate via
claude auth loginfor session registration, and accept that inference for Remote Control features will route through Anthropic’s actual API.
Open questions / next steps:
- No new tasks — this was a conceptual clarification, no action required
Updates — 2026-05-31
Community Alternatives for Messaging Bot Control (Telegram/Discord)
Landscape of tools for sending commands to Claude Code via messaging apps when claude.ai OAuth is unavailable (e.g. local proxy setups):
| Tool | Works with local proxy | Notes |
|---|---|---|
| Official Channels (March 2026) | ❌ No | Native Telegram/Discord in Claude Code; requires claude auth login OAuth |
| Claude-Code-Remote | ✅ Likely | Community project; start tasks locally, get notifications, reply to send new commands. github.com/JessyTsui/Claude-Code-Remote |
| OpenClaw | ✅ Yes (supports local models) | Cross-platform AI agent (WhatsApp, Telegram, Discord, iMessage); 337K+ GitHub stars; originally by Peter Steinberger (joined OpenAI Feb 2026), now open-source foundation |
| grip-ai | ✅ Yes | Python-based, Claude Agent SDK, 31 tools — lighter OpenClaw alternative |
| NanoClaw | ✅ Yes | Minimal security-focused answer to OpenClaw: 5 files, one process, Docker-isolated agents |
Recommendation for local proxy users: Start with Claude-Code-Remote — purpose-built for the same workflow. OpenClaw is powerful but overkill for simple command dispatch.
Source: Conversation “CC-Remote Control” — 2026-05-31