Codonic

hopsesh guide · Comparison

hopsesh vs Claude Code Remote Control: drive the session or move it

Remote Control is a window into a session that stays where it is; hopsesh moves the session itself. When each is enough, what neither does, and how they work together.

The short answer

Ask how to move a Claude Code session to another computer and you’ll usually get two answers: use Remote Control, or export the context and start fresh. Both are real options. They solve different problems, and there is a third.

  • Remote Control leaves the session where it is and gives you a window into it.
  • Export and start fresh gives you a new session that knows only what the summary says.
  • Moving the session copies the conversation itself to the other computer and fixes it up so it continues there. That is what hopsesh does.

What Remote Control does

Remote Control connects claude.ai/code or the Claude app on iOS and Android to a Claude Code session running on your computer. You start it in one of three ways:

claude --remote-control        # a new interactive session, also reachable remotely (or --rc)
claude remote-control          # server mode: waits for connections, can run several sessions
/remote-control                # inside a running session (or /rc)

Claude Code shows a link and a QR code. Open it on your phone or in a browser and you see the same conversation, in sync with the terminal. Claude keeps running on your computer the whole time, so its tools, MCP servers and files are the ones on that computer.

Claude Code’s documentation is clear about the limits:

  • That computer has to stay on, and the claude process has to keep running. Close the terminal and the session goes offline until you bring it back. On a remote machine, run it inside tmux or screen so it survives the SSH disconnect.
  • It needs a claude.ai subscription: Pro, Max, Ultra, Team or Enterprise. API keys are not supported, and on Team and Enterprise an Owner has to turn Remote Control on first.
  • One remote session per interactive process. Server mode runs several from one process.
  • Network outages: a session reconnects by itself after a laptop sleeps, but in server mode Claude Code gives up after about 10 minutes without network and the process exits.
  • While it is connected, the transcript is stored on Anthropic’s servers to keep your devices in sync. Execution stays on your computer.

What hopsesh does

hopsesh is a free, open-source command-line tool, terminal UI and app for macOS and Windows. It copies a Claude Code or Codex session from one of your computers to another over your own SSH, or converts it for the other agent, and gets it ready to continue there:

hopsesh plan studio:"fix flaky tests"         # what would happen; changes nothing
hopsesh pull studio:"fix flaky tests"         # move it to this computer
hopsesh pull studio:"fix flaky tests" --in codex   # or continue it in Codex

It finds the repository here (or clones it), recreates the worktree, brings the code to the commit the session last saw, rewrites the paths in the transcript for this computer and prints the claude --resume command. The copy left behind refuses new prompts until you move the session back, so the two don’t drift apart.

Side by side

Remote Control Moving the session with hopsesh
Where Claude runs afterwards The original computer The computer you moved it to
Whose files it reads and edits The original computer’s The checkout on this computer
Original computer has to stay on Yes, the whole time Only during the move
Use it from a phone Yes, the Claude app or a browser No: hopsesh runs on macOS, Windows and Linux
Continue in Codex No Yes, --in codex, and back
Sign-in it needs A claude.ai subscription; no API keys Whatever Claude Code or Codex accepts on the new computer
How the computers connect Both reach Anthropic’s servers SSH between your computers, Tailscale optional
What carries over Nothing moves; you see the live session The conversation, the repository’s commit, the worktree

When Remote Control is enough

  • You’re away from your desk and want to check progress, answer a permission prompt or give the next instruction from your phone.
  • The work belongs on that computer: its GPU, a local database, a large dataset, an MCP server that only runs there.
  • It’s for a while, not for good. You’ll be back at that computer later, and it will stay on until then.

In these cases moving the session would only add steps. Leave it running and connect to it.

When you need the session to move

  • You want to work with this computer’s files. With Remote Control every edit lands on the other computer. If you want to run the tests here, open the files in your editor here, or commit from here, the session has to continue here.
  • The original computer is about to go off: a laptop you’re closing, a desktop you shut down at night, a cloud VM you’re deleting.
  • You want Codex to take over, because you hit Claude’s usage limit or want a second opinion. Remote Control only reaches Claude Code. See continue a Claude Code session in Codex when you hit the usage limit.
  • You sign in with an API key, which Remote Control doesn’t support. A moved session resumes with whatever login Claude Code has on the new computer.

And “export the context and start fresh”?

/export writes the conversation as plain text. Pasting it, or a summary of it, into a new session works for a short conversation. For a long one you lose the tool history and spend context on the paste, and the new session has a different id, so nothing links it to the old one. Export and import a Claude Code conversation covers what exists and where it stops.

Use both

They aren’t competitors. hopsesh 0.7.0 added Remote Control to its own views:

  • A running Claude Code session, on this computer or on your others, shows whether Remote Control reaches it now: a Remote Control chip on its row links its page on claude.ai, its details say when it is off and how to turn it on, and hopsesh show prints a remote line. hopsesh reads this from Claude Code’s own record of its running sessions, which needs Claude Code 2.1.300 or newer.
  • Turn on in a session’s details connects a Claude Code session running in a hopsesh Terminal tab, by typing Claude Code’s own /remote-control once the session waits for you.
  • Settings › Machines has a Remote Control switch for each computer: every new Claude Code session there starts connected. It sets Claude Code’s own remoteControlAtStartup setting in each of its folders; turning it off removes it.

A typical day: you start on the desktop with Remote Control on, steer it from your phone at lunch, and in the evening move it to your laptop with hopsesh pull. hopsesh can turn Remote Control on for the moved session, so your phone keeps working with it.

There is one more option between the two. With hopsesh running on the other computer (hopsesh hosts setup studio), hopsesh terminals run studio --resume <id> continues a session where it is, in a terminal on that computer that you use from here.

What neither one does

  • Move uncommitted files. Remote Control leaves everything on the original computer. hopsesh brings the code to the session’s commit, fetching it from the other computer if it was never pushed, but uncommitted files stay where they are, and the plan says so.
  • Carry Claude’s reasoning to Codex. Claude Code’s thinking blocks are signed for Anthropic; when a session continues in Codex they are left out, and hopsesh’s loss report says how many.

hopsesh has no server and no telemetry, and never calls the Anthropic or OpenAI API. It is alpha software, and an independent project, not affiliated with Anthropic or OpenAI. More: move a Claude Code session to another computer.

Remote Control and moving sessions

Does Remote Control move a Claude Code session to another computer?

No. Remote Control lets you drive a session from claude.ai/code or the Claude app while it keeps running on the computer where it started, with that computer’s files. That computer has to stay on and the claude process has to keep running.

What do I need for Remote Control?

A claude.ai subscription: Pro, Max, Ultra, Team or Enterprise. API keys are not supported, and on Team and Enterprise an Owner has to turn it on first. Start it with claude --remote-control, claude remote-control or /remote-control in a running session.

When should I move the session instead?

When you want to work with the files on the computer in front of you, when the original computer will be switched off, when you want Codex to take over, or when you sign in with an API key. Moving copies the conversation and fixes it up to continue on the new computer.

Can I use Remote Control and hopsesh together?

Yes. hopsesh 0.7.0 shows whether Remote Control reaches each running Claude Code session, links its claude.ai page, turns it on for a session in a hopsesh Terminal tab, and can make every new Claude Code session on a computer start connected. It can also turn Remote Control on for a session it moved.

Is “export the context and start fresh” the same as moving a session?

No. /export writes the conversation as text to paste into a new session, which has a new id and knows only what you pasted. Moving the .jsonl keeps the session itself, its id and its full history, so it continues where it stopped.

Use the method

Try it with hopsesh

Open-source CLI and desktop app: move a Claude Code or Codex session to another computer, into the other agent, or to the cloud, with undo built in.

See everything hopsesh does →
Install the CLI Terminal macOS and Linux · Command line and terminal UI brew install roeehrl/tap/hopsesh Without Homebrew: curl -fsSL https://raw.githubusercontent.com/roeehrl/hopsesh/main/scripts/install.sh | sh, which checks the download against the release’s checksums and signature.
Install the CLI Terminal Windows, in PowerShell · Command line and terminal UI irm https://raw.githubusercontent.com/roeehrl/hopsesh/main/scripts/install.ps1 | iex Same checks as the macOS and Linux script. The Windows app installs this command as well.
hopsesh for Mac .dmg macOS app · macOS 13 or later · Apple silicon and Intel Download Signed and notarized by BlueGuru LLC. Updates itself from Settings → Updates.
hopsesh for Windows .exe Windows app · Windows 10 or 11 · x64 Download Not code-signed yet: at SmartScreen, click More info, then Run anyway. Smart App Control, if on, blocks it.
More ways to install
  • Installer for Arm64 Windows 10 or 11 on Arm
  • Portable .zip x64 or Arm64, no install, on the release page
  • Command line with Scoop from the roeehrl bucket, without the app scoop bucket add roeehrl https://github.com/roeehrl/scoop-bucket; scoop install hopsesh
  • Command line only in PowerShell, without the app irm https://raw.githubusercontent.com/roeehrl/hopsesh/main/scripts/install.ps1 | iex
Linux packages and all files GitHub Latest release · .deb, .rpm and .apk for amd64 and arm64, a portable Windows app .zip, plus archives Open on GitHub Release notes, checksums and every build of the current version. Source on GitHub GitHub Apache-2.0 · Go 1.26 or later to build Open on GitHub From source: go install github.com/roeehrl/hopsesh/cmd/hopsesh@latest