Appearance
Remote Control & Cross-Surface Work
Claude Code sessions aren't tied to a single surface. Start a task in your terminal, continue it from your phone, review the diffs in the Desktop app, and get notified on Slack when it's done. This lesson covers moving work between surfaces and the cross-platform ecosystem.

What you'll learn
claude --cloudpushes a local session to the web, where you can continue from any device- Remote Control lets you drive a terminal session from your phone or browser
- Claude Code runs on terminal, VS Code, JetBrains, Desktop app, Web, and mobile, same engine, same CLAUDE.md
The problem
You start a complex refactor in your terminal. Midway through, you need to leave your desk. You want to check progress from your phone, approve a decision, and let it keep running. Cross-surface work means you're never locked to one device.
Build it
Step 1: Push a session to the web
Use the --cloud flag to proxy your local terminal session to Anthropic's hosted infrastructure. This allows you to interact with the ongoing session securely from any web browser.
bash
claude --cloudYour session is now accessible at claude.ai/code. Open it on any device.
Step 2: Remote Control
Launch the remote control server to expose your local CLI session to other devices on the same network. This is useful for monitoring or steering a long-running task from a mobile device or a secondary machine.
bash
claude remote-controlStarts a server. Open the URL on your phone or another device to drive the terminal session remotely.
Step 3: Move between surfaces
| From | To | Command |
|---|---|---|
| Terminal | Desktop app | /desktop |
| Terminal | Web | claude --cloud |
| Web | Mobile | Same URL on the Claude app |
| Terminal | VS Code | Open the same project in VS Code with Claude Code extension |
Step 4: Channels, external triggers
Channels let you push events from Telegram, Discord, iMessage, or webhooks into a Claude Code session. Configure in the web dashboard.
What goes wrong
| Mistake | How you notice it | The fix |
|---|---|---|
| Session not syncing to web | claude --cloud hangs or times out | Check network connectivity. The session must be able to reach Anthropic's servers |
| Remote Control server unreachable | Phone can't connect | The server binds to localhost by default. Use a tunnel (ngrok) or ensure the device is on the same network |
| Desktop app session doesn't match terminal | /desktop opens a different session | /desktop transfers the current session. If you started a new one, use /resume in the Desktop app |
Confirm it worked
Start a session with the --cloud flag and open the provided URL in a web browser. Send a prompt from the web interface to verify that the local terminal correctly receives and processes the remote command.
bash
# 1. Start a session and push to cloud
claude --cloud
# 2. Open claude.ai/code in a browser
# You should see your active session
# 3. Send a message from the browser
# The terminal should reflect the responseNext: Slack, Channels & Beyond