Ga naar hoofdinhoud

Claude Code Remote Control: A Guide For Beginners

Learn how to set up Claude Code Remote Control and connect your phone or browser to a live local session. We cover session modes, mobile access, and key limitations.
27 mrt 2026  · 15 min lezen

A Claude Code session normally runs entirely inside your terminal. You can assign it a task, and it will edit files, run commands, and stop for approvals. But once you walk away, that session becomes inaccessible because it lives only in that local process.

Until recently, there was no built-in way to connect that same session from another device. Web and mobile interfaces existed, but they started fresh cloud sessions with no access to your local files or tools. 

Claude Code Remote Control creates a live bridge between your running local session and claude.ai or the Claude mobile app. The process continues running on your machine, and your browser or phone simply becomes another interface to it.

In this article, I’ll explain how Remote Control works, how to install Claude Code from scratch, and how to set up and connect to a Remote session step by step. By the end, you’ll be able to start a session locally and continue it remotely from another device while everything still runs on your machine. I also recommend reading our guide on Claude Code Channels.

What is Claude Code Remote Control?

Claude Code is Anthropic’s terminal-native AI coding assistant. Unlike browser chatbots or IDE extensions, it runs directly inside your terminal and operates on your local files.

Remote Control extends that model by adding a synchronization layer between your running local session and the Claude mobile app or any web browser. The session you start on your machine can stay live and controllable from another device, without moving the execution environment to the cloud.

Image shows an architectural overview of how Claude Remote Control works

Remote Control architecture overview: Made with Napkin AI

Understanding this architecture matters because it explains most of the behavior you will encounter. When Remote Control starts, your local Claude Code process establishes an outbound HTTPS connection to the Anthropic API and registers the session. It then polls that API for incoming instructions rather than opening any listening ports on your machine.

If you send a message from your phone or browser, that request goes to the API first, which relays it back to your local process over the existing connection. The response returns through the same relay path.

This design means your machine never opens inbound ports or exposes services to the internet. All communication is initiated from the local Claude Code process itself.

Equally important is what does not travel through that connection

Your phone or browser does not execute code and does not access your files directly. It simply renders the conversation and sends prompts. The actual execution, reading files, running commands, accessing MCP servers, and using your local configuration continues to happen entirely on your machine.

This is the key distinction from Claude Code on the web. A cloud session runs inside Anthropic’s sandboxed infrastructure and starts without your local environment. Remote Control keeps the entire development context on your machine, with the same filesystem, tools, and configuration already in place.

Claude Code Remote Control vs OpenClaw: Key Differences

OpenClaw is currently the most starred personal autonomous AI assistant project on GitHub raking over 320K stars in just four months and becoming one of the fastest growing open source repositories in history.

Image shows a quick comparison between Claude Code Remote Control and OpenClaw

Claude Code Remote Control versus OpenClaw: Made with Napkin AI

OpenClaw approaches remote interaction very differently from Claude Code Remote Control.

Instead of connecting directly to a running development session, OpenClaw exposes an AI agent through messaging channels such as WhatsApp, Telegram, Discord, and Slack. You interact with the assistant through those platforms, and the agent executes tasks on your behalf.

Claude Code Remote Control follows a different model. Rather than routing commands through messaging platforms, it connects your browser or phone directly to your local Claude Code session. The remote device becomes a live interface to that running terminal session instead of a messaging layer that triggers actions indirectly.

That architectural difference leads to different capabilities. OpenClaw behaves like a general-purpose personal AI agent designed to operate across multiple communication channels. Claude Code Remote Control, by contrast, focuses on extending a single live development session, giving you visibility and control over a terminal process already running on your machine.

The two models also differ in their security perspective. Remote Control depends on outbound HTTPS connections initiated by the local Claude Code process, which means your machine does not need to expose inbound ports for the session to work. 

Systems like OpenClaw often run as persistent services that integrate with external platforms and plugins, which can expand the attack surface depending on how they are deployed.

The distinction comes down to scope. OpenClaw acts as a multi-channel AI assistant capable of automating tasks across messaging platforms and external services. Claude Code Remote Control extends a live coding session beyond the terminal, giving you mobility without moving your development environment to the cloud.

If you want a deeper comparison of tools in this space, our guides on OpenCode versus Claude Code and Codex versus Claude Code.

Claude Code Remote Control Prerequisites

Before using Claude Code Remote Control, you need a working Claude Code installation. If you are new to the tool, our Claude Code walkthrough covers installation, configuration, and real-world workflows such as refactoring and debugging.

Once you are comfortable with the basics, the Claude Code 2.1 guide is worth reading next. It dives into agents, hooks, and skills to make your Claude Code powerful well beyond basic code editing.

However, I will walk through a quick installation process so you can start using Remote Control immediately. If you already have Claude Code installed and running sessions locally, feel free to skip ahead.

How to Install Claude Code

You need a terminal, a code project to work in, and a paid claude.ai account, which is required for Remote control to work, but we will cover that later.

Install Claude Code

Install with the native installer, which is faster than the legacy npm method since it requires no Node.js dependency, and auto-updates in the background.

On macOS or Linux, open your terminal and run:

	curl -fsSL https://claude.ai/install.sh | bash
	

On Windows, open PowerShell and run:

	irm https://claude.ai/install.ps1 | iex
	

After installation, you will see a confirmation message with the Claude Code version along with the installation path.

Image shows a successful installation of Claude Code

Successful installation of Claude Code

Now that you have Claude code installed, I will take you through how to get started with Claude Code Remote Control.

How to Get Started With Claude Code Remote Control

With Claude Code installed, there are three checks to clear before Remote Control will work reliably.

Step 1: Check your Claude Code version

Remote Control requires Claude Code v2.1.51 or later. To confirm, run:

claude --version

Image shows how to check Claude Code version

Check Claude Code version

If you’ve had Claude Code installed for a while and it’s still below v2.1.51, which can happen if auto-updates haven’t applied yet, you can update it with:

claude update

Step 2: Authenticate and verify your subscription

Remote Control is currently available for claude.ai Pro and Max subscribers. Pro starts at $20 per month and covers Claude Code access for most developers. The Max plan at $100 per month offers significantly higher usage limits, which becomes important if you run long or frequent sessions. The free plan does not include Claude Code.

For Team and Enterprise deployments, an administrator must enable the Remote Control toggle in the Claude Code admin settings before users can access the feature

API-key-only setups are not supported. Remote Control relies on a signed-in Claude account to establish the session bridge between your local CLI and the web or mobile interface.

To verify that your CLI is authenticated with the correct subscription, you must log in in with your claude.ai account.

If this is your first time running Claude Code, navigate to a project directory and run claude.

cd ~/your-project
claude

This opens a browser window for a one-time OAuth sign-in with your Claude account.

If you already use Claude Code and are unsure which plan your CLI is authenticated with, run /status:

Image shows how to check your on which plan your Claude Code is logged in with

Check login status

 

If you are not signed in via your Claude account, run /login to change.

Image shows the process of changing the authentication plan of your Claude Code

Change login plan

Run /status again to confirm you are logged in on your Claude account.

Image shows a confirmation that user is logged in with their claude.ai code

Logged in with your claude.ai account

Step 3: Establish trust 

When you run claude in a project for the first time, Claude Code does not immediately start reading or editing files. Instead, it pauses and asks whether you trust the workspace

This prompt acts as a safety checkpoint. Claude Code can read, write, and execute files inside the directory you launch it in, so running it in an unfamiliar repository could expose you to malicious scripts, configuration files, or hooks designed to run automatically. 

The trust prompt ensures you explicitly confirm that the project is safe before operating on it.

Image shows Claude Code asking for acceptance of trust when launched on an new project

Approve Claude Code access on a new project that you trust

This step also matters when using Remote Control. In theory, someone could point Claude Code at a directory it should not interact with, including one that contains sensitive files. The trust dialog ensures you explicitly approve access before the session begins.

Claude Code follows a permission-based security model, where potentially sensitive operations require user approval before the tool can interact with files or execute commands

Remote Control does not launch without accepting this dialog, otherwise you will get a warning:

Image shows and error thrown by Claude Code if you do not approve trust the project you have launched it on

Error if no trust of project is established

Once you accept the workspace, Claude Code remembers it and does not ask again for that directory. It is only a gotcha when you try to enable Remote Control in a brand new project where Claude Code has never been launched before.

Starting Your First Claude Code Remote Session

There are three ways to initialize a Remote Control session, and knowing which to reach for saves real friction.

Method A: Server mode

Server mode is the right choice when you want to dedicate a terminal process entirely to serving remote connections with no local interaction. 

Run this from your project directory:

claude remote-control

Image shows running Remote Control in Server mode

Run Remote Control in server mode

The process stays running in your terminal, displaying a session URL immediately. Pressing the Spacebar generates a QR code for quick phone access. You can name the session to make it easier to identify across devices:

claude remote-control --name "your-session-name"

This method works best when you want to leave a machine running at your desk and pick up from your phone later, with nothing left to type locally.

Method B: Interactive session with Remote Control enabled

If you want to keep working in the terminal while making the session accessible from another device, start Claude Code with the --remote-control flag (or the shorthand --rc). This gives you a full interactive terminal session that is simultaneously open to remote connections. 

Image shows how to run Remote Control in interractive mode

Run Remote Control in interactive mode

Unlike server mode, you can type messages locally while your phone watches or contributes to the same session. It is the method to use when you want both views live at once.

Method C: On-the-Fly upgrade mid-session

The most useful method in practice is the one you reach for when you are already deep into a session and suddenly need to step away. Instead of restarting anything or losing context, you can enable Remote Control on the fly.

Simply type /remote-control (or the shorthand /rc) inside the running session. Claude Code converts the active conversation into a Remote session.

Image shows launching Remote Control on an already running Claude Code session

Launching Remote Control on already running Claude Code session

Claude converts the session instantly and keeps the full conversation history intact. Your full conversation history carries over intact, and the session appears in the Claude app's Code tab named after your last message or whatever you set.

You can use /rename your-session-name to rename your session while already in the Claude Code session. 

Running /rename before /rc is a habit worth building. A session called something like "sure, go ahead" is nearly impossible to find quickly from a phone when you need to reconnect in a hurry.

Image shows how to rename Claude Code session in interactive mode

Rename Claude Code session in interactive mode

Connecting Your Devices Using Claude Code Remote Control

Once a Remote Control session is active, connecting from another device takes under a minute by either of these paths.

Using a browser

As soon as you start Remote Control in your terminal, Claude Code prints a session URL there. You can copy that URL and open it in any browser to land directly inside the same live session at claude.ai/code

For example, I launched Remote Control in interactive mode inside one of my project directories. As shown in the screenshot, Claude prints a session URL directly in the terminal.

Image show a session URL for nagivating to the Remote session

Session URL linking to your browser Remote session

From there, opening it in a browser on a different device took me straight into the session, with the conversation and context exactly as they were in my terminal. 

Image show a mirror of the live session of your teminal on the browser

Live Remote session on browser

At that point, the browser is simply another interface into the session running on your machine. Once connected, you can send prompts, review tool activity, and continue your workflow remotely while the actual execution still happens locally. The conversation stays in sync across devices so you can pause on one screen and pick up on another.

Active Remote Control sessions show a computer icon with a green status dot when online, as indicated in the image above.

Using the browser is often the most reliable option when you are on a device without the Claude app installed, or when you want a colleague to observe or contribute to your session from their own screen. You don’t need anything special beyond a modern browser and the session URL.

Using a mobile device

For phone access, scanning a QR code is the fastest route. In the terminal where your Remote Control session is running in server mode, press the Spacebar to display the QR code, then scan it with your phone.

Image shows a QR code that you scan with your phone to directly link you to the Remote session

QR code that links you to you live Remote session from your phone

Once scanned, the session opens directly in the Claude mobile app on iOS or Android, taking you straight into the same live session you started in the terminal. 

Image show a live Remote session on phone

Remote session on phone

Note: QR code is currently available only in server mode. If you started Remote Control from an interactive session using  --rc or /rc, open the Claude mobile app, go to the Code tab, and locate your session by name in the session list.

If you do not have the Claude app yet, run /mobile inside Claude Code, and it will generate a QR code that links you to the App Store or Google Play so you can download it first.

Image shows how to get a QR code from the interactive Claude session to download Claude's mobile app on iOS o Android

Scan QR code from interactive session to download Claude Code app

Claude Code Remote Control Hands-On Test

The easiest way to make the architecture tangible is to run a quick end-to-end test from your phone. In this short exercise, we will verify that your phone is truly controlling the Claude Code session running on your local machine, not a cloud environment somewhere else.

Step 1: Send a file creation instruction from your phone

First, open the Claude mobile app or the browser session you connected earlier. I find it helpful to start Remote Control in interactive mode (claude --remote‑control or /rc) so we can watch the file creation process in the terminal and on the remote interface at the same time. 

From there, send Claude the following instruction:

Create a new file called remote-test.txt in the current directory.
Write "Remote Control verified" as its contents.

Step 2: Watch the tool activity in your terminal

Now switch back to the terminal where your Claude Code is running.

You should see the file-write tool call appear and execute in real time, streaming through the terminal exactly as it would if you had typed the instruction locally. The prompt originated from your phone, but the work itself is happening in the Claude Code session running on your machine. 

Remote Control simply relays the instruction and streams the results back to your device.

The process should look similar to the example shown below:

Image shows a GIF swhoing the inteaction between a liver Claude teminal session and a phone

Phone interacting with Claude Code remotely

Step 3: Verify the file on your local filesystem

Finally, confirm that the file was actually created on your machine:

Run:

cat remote-test.txt

You should see:

Remote Control verified

Image shows that a file was created when a phone interacted remotely with a live Claude Code session

File created locally successfully from via Phone remote connection

You can also find the file in your local system:

Image shows a confirmation that the a file was created on the local machine from a emotely connected phone

File created locally successfully

That file now exists on your local filesystem. Nothing was uploaded to a cloud environment, and no remote machine executed the command. Your phone simply sent the instruction, Claude Code executed it in the local session, and the result was written to disk on your machine.

This illustrates the core idea behind Remote Control. Only prompts and tool outputs pass through the relay infrastructure, while your files, environment variables, databases, and local services remain on your system.

In practice, this means a Remote Control session can safely interact with resources that never leave your machine, such as .env files, local databases, or private MCP servers, while still allowing you to monitor and guide the session from another device.

Now try deleting the file from your project on your phone. Tell Claude:

Delete remote-test.txt file

Advanced Configurations and Best Practices

Once the basics are working, a few configuration choices make the difference between a setup that holds up in daily use and one that breaks when it matters.

Enable Remote Control globally

If you want Remote Control available by default for every session, run /config inside Claude Code and set "Enable Remote Control for all sessions" to true

With this setting on, each interactive Claude Code process automatically registers one Remote session. If you run multiple instances, each gets its own environment and URL.

Image shows how to enable Remote Control for all sessions

Set Remote Control for all Remote sessions

Running concurrent sessions with the --spawn flag

By default, one Claude Code process serves one remote connection. If you are running parallel tasks against the same codebase, that becomes a constraint quickly. 

The --spawn worktree flag in server mode solves this, but your project needs to be a Git repository for this to work since it relies on Git worktrees under the hood. 

From your project directory, run:

claude remote-control --name "your-session-name" --spawn worktree

For instance, in my project, I wanted to do two major refactors concurrently so I would not have to wait for one to finish and then do another refactor. So I started two different sessions:

Image shows launching two different Remote sessions

Launching concurrent Remote sessions

Worktrees are not provisioned upfront. They are created on demand the moment a remote device connects. 

A snapshot of the live sessions:

Image shows two live Remote sessions on the browser

Concurrent Remote sessions

Here is a snapshot of two concurrent Remote sessions in progress. One controlled from the phone and the other from a browser, both working on different tasks in the same project directory:

Image shows a GIF showing two concurrent Claude remote sessions in progress. One contolled via a phone and the other via a browser

Two concurrent Claude Remote sessions in action

The remote device that connects gets its own isolated working directory under .claude/worktrees/ on its own branch. A second device connecting to the same session name gets an entirely separate worktree.

To see this, run:

git worktree list

Image shows how to view connected Git worktree sessions

Git Worktree list

You will see your main worktree plus one entry per active remote connection, each with its own path and branch. 

To run multiple concurrent sessions from a single process, use server mode with --spawn instead. However, all sessions launched this way will share the same directory and you might end up editing the same files with your team. Claude Code supports up to 32 concurrent sessions.

Cleanup is handled automatically. When a session ends without changes, Claude removes the worktree.

Troubleshooting and Handling Limitations

Keep the terminal alive. Remote Control is a local process. If the terminal window closes or the claude process exits, the Remote session ends immediately with no warning. The practical fix is running your Remote Control session inside tmux, so the process survives accidental window closures:

#install tmux
sudo apt install tmux

# run tmux
tmux new-session -s rc-session 

#start Remote session on your project dir
claude remote-control --name "long-running-task"

Network timeouts have a hard cutoff. If your machine is awake but unable to reach the network for more than 10 minutes, the session times out and the process exits. Laptop sleep does not kill the session because it reconnects automatically on wake, but a sustained network outage while awake does.

Every tool call needs manual approval. The --dangerously-skip-permissions flag does not extend to Remote Control sessions. Even if you pass it at startup, it has no effect, and every tool call requires manual approval from your phone. The practical workaround is front-loading your instructions heavily before walking away, covering the edge cases and decision branches Claude would otherwise pause on.

Our guide on Claude Code best practices covers this kind of upfront planning in depth, along with context transfer techniques and test-driven development approaches that you can pair with your Remote Control workflows.

Beyond Remote Control: Claude Cowork Dispatch and Claude Code Channels

While Claude Code Remote Control is perfect for extending your local terminal session, it is just one piece of the automation puzzle. When automating tasks with Claude Code, Dispatch is ideal for triggering asynchronous, one-off tasks, whereas Channels provide a persistent, two-way connection for real-time, multi-turn interactions. For workflows requiring active oversight, Remote Control allows human operators or external systems to observe, pause, or steer a live agent mid-execution.

Final Thoughts

Claude Code sessions are getting longer. When Sonnet 4.5 launched in September 2025, Anthropic demonstrated its coding autonomy for over 30 hours straight. Around the same time, METR began tracking the complexity ceiling. Specifically, measuring how difficult a task is for an AI by comparing it to how long a human expert would take to complete the same task.

By February 2026, they put Opus 4.6 at 14.5 hours, their highest figure yet. Between raw endurance and rising task complexity, the sessions Claude Code can handle are no longer short. When that work is running on your local machine, staying at your desk for the whole thing might not be realistic. Remote Control is the answer to that problem.

When you think about Remote Control through that lens, it stops looking like a "check your session from the back of an Uber" feature, but more like picking up a walkie-talkie to talk to someone already working at your desk.

The main constraint I have seen while using Claude Code or any other AI agent is the need for approvals. For instance, Claude Code is intentionally permission-gated, meaning actions like file edits or shell commands often require confirmation.

That means Remote sessions are not completely hands-off yet. If Claude hits a decision point, it pauses and waits. If you leave vague instructions, the session will pause constantly, waiting for input.

The fix is to front-load everything before you leave. The more context, edge cases, and decision branches I provide upfront, the fewer times the agent stops to ask.

For power users looking to take Claude Code further:

  • Our Claude Code Hooks guide shows how to trigger scripts before or after tool calls to enforce checks during long-running sessions. Hooks let you run custom commands at specific points in Claude Code’s workflow.
  • The Claude Code Router tutorial explains how to route tasks to different models to optimize cost and performance.
  • Our Claude Code Docker guide shows how to run agents inside containers if you want to isolate Remote Control sessions in sandboxed environments.
  • If you want to extend Claude Code itself, learn how to build Claude Code plugins, which can add custom commands, agents, skills, and integrations.
  • Our Claude Code Plan Mode tutorial shows how to have Claude analyze your codebase and produce a structured implementation plan before making any changes.

Claude Code Remote Control FAQs

What is the difference between claude.ai/code with Remote Control and Claude Code on the web?

Remote Control via claude.ai/code and Claude Code on the web are different things. Remote Control connects to a process running on your local machine. Claude Code on the web uses cloud infrastructure. Remote Control preserves your local filesystem, MCP servers, and project configuration. A cloud session starts completely fresh with none of that.

What is the main limitation developers run into with Remote Control?

The biggest practical limitation is approvals. Because tool calls require confirmation, sessions are not fully hands-off unless you pre-configure permissions or provide very detailed instructions before stepping away.

Can a teammate on a different machine connect to my Remote Control session simultaneously?

No. Each Claude Code instance supports one Remote session at a time outside of server mode. Only one device can be connected to a given session at once. If you need multiple people connecting simultaneously, use server mode with --spawn worktree, which gives each connecting device its own isolated session.

Can I start a completely new Claude Code session from my phone without going back to my laptop?

No. Remote Control requires you to first start the session on your computer. If you are away from your desk and want to kick off a brand new task, you need to go back to your machine first. Once a session is started locally, you can continue and redirect it remotely.

Does Anthropic have access to my code or files during a Remote Control session?

According to Anthropic, Remote Control sessions are end-to-end encrypted and Anthropic does not see your code. Your files and MCP servers never leave your machine. Only chat messages and tool results flow through the encrypted bridge.


Brian Mutea's photo
Author
Brian Mutea
LinkedIn

I am a Machine Learning Engineer and Data Scientist specializing in building AI systems and translating complex technical concepts into practical, developer-focused content. I have written for machine learning and AI platforms such as Deci AI (acquired by NVIDIA), Tensorlake, Ragas, and Comet ML, producing technical tutorials and articles on topics ranging from machine learning workflows and data pipelines to model experimentation and large-scale data analysis. My experience as a Technical Editor has strengthened my commitment to accuracy, grounding my work in real implementations and reliable research. Whether building intelligent systems or writing about them, my goal is to make modern machine learning and AI more practical and accessible for developers and data scientists.

Onderwerpen

Top DataCamp Courses

Cursus

Introduction to Claude Models

3 Hr
3.3K
Learn how to work with Claude using the Anthropic API to solve real-world tasks and build AI-powered applications.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

Tutorial

Claude Code Channels With Discord: Step-by-Step Setup Guide

Learn how to use Claude Code Channels to connect to Discord. Create a bot, pair your account, manage permissions, and turn chat into a live AI workflow hub.
Abid Ali Awan's photo

Abid Ali Awan

Tutorial

Claude Code 2.1: A Guide With Practical Examples

Explore what’s new in Claude Code 2.1 by running a set of focused experiments on an existing project repository within CLI and web workflows.
Aashi Dutt's photo

Aashi Dutt

Tutorial

Claude Code Docker: Running AI Agents in Containers

Learn exactly how to run Claude Code in Docker to build isolated environments. Master secure coding practices for autonomous AI agents in this complete guide.
Benito Martin's photo

Benito Martin

Tutorial

Claude Code: A Guide With Practical Examples

Learn how to use Anthropic's Claude Code to improve software development workflows through a practical example using the Supabase Python library.
Aashi Dutt's photo

Aashi Dutt

Tutorial

Claude for Chrome: AI-Powered Browser Assistance and Automation

Learn how to install and use Claude for Chrome, Anthropic’s AI-powered browser assistant. Discover how it automates form filling, email cleanup, and web tasks, plus key safety tips and current limitations.
Bex Tuychiev's photo

Bex Tuychiev

Tutorial

Claude Code Hooks: A Practical Guide to Workflow Automation

Learn how hook-based automation works and get started using Claude Code hooks to automate coding tasks like testing, formatting, and receiving notifications.
Bex Tuychiev's photo

Bex Tuychiev

Meer zienMeer zien