Skip to content

How to Sync Claude Code Sessions Across Devices with Teleport and Remote Control

Purpose

I start a Claude Code session on my laptop, then I need to leave. Maybe I’m going to a meeting, or I want to continue from my phone on the train. I don’t want to lose my context or start over.

Claude Code has two features that solve this: teleport and remote control. They do different things, and I use both.

What Is Teleport

Teleport lets you pull a cloud session to your local machine. If you started a conversation in the Claude web app or mobile app, you can teleport it to your terminal.

This is a pull operation. The session exists in the cloud, and you pull it down to continue locally.

Teleport a cloud session to local
claude --teleport

This opens your most recent cloud session in the terminal. You get all the context, the file references, and the conversation history.

You can also start a session in the cloud and teleport it mid-conversation:

Teleport specific session
claude --teleport <session-id>

What Is Remote Control

Remote control works the opposite way. You start a session in your terminal, then push access to your phone or web browser.

This is a push operation. The session runs locally on your machine, but you control it from another device.

Enable remote control
/remote-control

This generates a link you can open on your phone. The link connects to your locally running Claude Code session.

I keep remote control enabled all the time. I start sessions at my desk, then continue them from my phone when I’m away.

How to Use Teleport

Teleport is useful when you started something in the cloud and want to continue locally.

Step 1: Start a session in the cloud

Open the Claude app on your phone or go to claude.ai in your browser. Start a conversation about your code.

Step 2: Teleport to your terminal

When you get to your desk, open your terminal and run:

Pull cloud session to terminal
claude --teleport

Claude connects to your most recent cloud session. You can now use terminal features like file operations, git commands, and code execution.

Step 3: Continue the conversation

Your context is preserved. Claude remembers what you discussed in the cloud session. You don’t repeat yourself.

How to Use Remote Control

Remote control is useful when you start locally and want to continue remotely.

Step 1: Start Claude Code locally

Open your terminal and start Claude Code:

Start local session
claude

Step 2: Enable remote control

Type the slash command:

Start remote control
/remote-control

Claude generates a URL. It looks like this:

Remote control URL output
Remote control enabled.
Open this link on your phone or browser:
https://claude.ai/remote/abc123xyz

Step 3: Open on your phone

Tap the link on your phone. You now control your terminal session from the mobile app.

Step 4: Code from anywhere

Your terminal session keeps running. You send commands from your phone. The terminal executes them locally. You see results on your phone.

Practical Scenarios

I use both features depending on the situation.

Scenario 1: Started on phone, need terminal features

I’m reviewing a PR on my phone during my commute. I want Claude to fix a bug. The fix requires running tests and editing files.

I wait until I get to my desk, then teleport:

Teleport from phone to desk
claude --teleport

Now I have terminal access and can run tests, edit files, and commit changes.

Scenario 2: Started at desk, need to leave

I’m in the middle of a complex refactoring. A meeting starts in 5 minutes. I enable remote control:

Enable before leaving
/remote-control

I open the link on my phone and continue during the meeting. The session keeps running on my machine. I just control it from my phone.

Scenario 3: Switching between devices throughout the day

I keep remote control enabled all day. I start coding at my desk, continue from my phone at lunch, and finish back at my desk. The session never stops.

Key Differences

The two features serve opposite purposes:

FeatureDirectionUse Case
TeleportPull (cloud to local)Continue cloud session in terminal
Remote controlPush (local to remote)Control terminal session from phone/web

Teleport moves the session to your terminal. Remote control lets you control your terminal from elsewhere.

Common Mistakes

Confusing the two features. I used to mix them up. Remember: teleport pulls from cloud, remote control pushes to phone. If you want terminal features, teleport. If you want to leave your desk, remote control.

Leaving remote control disabled. I used to enable it only when I needed it. Then I’d be in a rush to set it up before leaving. Now I keep it on by default. The “Enable Remote Control” setting in my config is always true.

Forgetting which device has the session. With remote control, the session runs on your local machine. If you shut down your computer, the session ends. With teleport, the session moves to your local machine, so the cloud session ends.

Not using the slash command inside Claude. The --teleport flag is a startup flag. You use it when launching Claude. The /remote-control command is a slash command. You use it inside an active session.

Correct usage
# Teleport: startup flag
claude --teleport
# Remote control: slash command inside session
claude
> /remote-control

Summary

Claude Code syncs across devices with two features:

  • Teleport: Pull a cloud session to your terminal with claude --teleport
  • Remote control: Push terminal access to your phone with /remote-control

I use teleport when I started on mobile and want terminal features. I use remote control when I started at my desk and want to continue away from it.

Both features keep your context intact. You don’t lose conversation history or file references when switching devices.

Final Words + More Resources

My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me

Here are also the most important links from this article along with some further resources that will help you in this scope:

Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!

Comments