Compare

Claude Code Remote Control vs Celistra: One Session vs Every Machine

Akshay Sarode
Direct answer

Pick Claude Code Remote Control if you want to continue one live coding session from your phone. Pick Celistra if you want fleet visibility, persistence after closing the terminal, multiple machines, sandboxing, or you run things other than Claude Code (Codex, Aider, training jobs, browser agents).

Anthropic shipped Claude Code Remote Control (/rc) and it's a genuinely useful feature. You're on your laptop, you start a session, and you can drop into the same chat from your phone an hour later. The QR-code handoff is slick. For a lot of people that's exactly enough.

It's also bounded by what it set out to do. The official documentation calls out two limits in plain text:

Celistra is the answer for the case after that. A small Go daemon (celistrad) on every machine you own — laptop, GPU rig, Mac mini under the TV, homelab box — and one dashboard that talks to all of them. Spawn an agent on the GPU rig from your laptop. Watch it from your phone. Approve a permission request with a haptic tap.

Feature matrix

CapabilityClaude Code Remote ControlCelistra
Continue a session from phone✓ (QR handoff)✓ (web + iOS app)
Survives closing the terminal✓ (daemon-supervised)
Multiple machines simultaneously✗ (per-session, per-host)✓ (one fleet view)
Restart-on-crash✓ (5/60s ceiling)
Spawn (not just continue) from phone
Works with Codex / Aider / arbitrary processesClaude Code onlyAny process
macOS Seatbelt sandboxingPermission prompts onlyCapability-token sandbox profile per agent
LAN-direct routingn/a (cloud relay)<1ms when on LAN; tunnel fallback
30-day agent history (SQLite)
Self-hostablen/aDaemon is yours; tunnel relay configurable
CostPro/Max/Team planFree 1 node · $2/mo Pro · $10/mo Team

Where Claude Code Remote Control wins

Zero install. If you already have a Claude Code subscription, you type /rc and you're done. Celistra needs you to download the daemon. Five minutes is still five minutes more than zero.

It's official. Anthropic builds and supports it. Bug reports get fixed. Usage is bounded by your existing plan.

Resume the exact session. Your conversation history, your tools, your project — it's the same Claude Code instance. Celistra spawns new processes; it doesn't fork your existing terminal session.

Where Celistra wins

Fleet view across machines. Three Macs, a GPU rig, and an old NUC running training? One screen, all of them, every running process tagged by host. Remote Control gives you one session at a time.

Survives terminal close. The daemon owns the agent. Quit your terminal, close your laptop, plug in your laptop a day later — the agent is still where you left it (or done with its work and queued in history).

Sandboxing by default. Every spawn wraps the agent in a macOS Seatbelt profile generated from a capability token (workspace_rw, network, subprocess, read_anywhere). The agent can't write outside the workspace folder you picked. There's an audit log showing every block.

Not just Claude Code. Codex, Aider, your own python script that takes 6 hours to scrape, a Playwright run, a Go binary that compiles overnight. Anything that runs in a PTY runs under Celistra.

Spawn, not just resume. "Run codex --auto on the GPU rig with these env vars" from your phone. The phone is not a viewer; it's a spawn point.

When to use both

Use them together. Daily-driver coding session: Claude Code Remote Control on your laptop. Long-running agent that needs to outlive your terminal, or runs on a different box: Celistra spawns it as a supervised process. The two don't conflict — Celistra can spawn claude --print as a non-interactive run, or open a PTY that you attach Claude Code to.

Migration: from "ssh + tmux" to Celistra in 5 minutes

  1. Download the daemon from celistra.dev/download.
  2. Open the dashboard, sign in with Google, click the tray icon → "Pair this machine."
  3. Repeat on every other machine.
  4. Replace tmux new-session 'claude' with the dashboard's "Spawn" button. Pick the host, paste the command, hit Run.

The terminal still works (celistrad ctl). Tmux still works. SSH still works. Celistra is additive, not destructive.

Honest tradeoffs

Celistra is younger than Anthropic's feature. Pricing is $0–$10/mo because we want you to actually use it; that means the team is small. The iOS app is in TestFlight. The Linux build is solid; the Windows build is solid; the macOS build is the daily driver.

If "single Claude Code session resumed from phone" is the entire job, Remote Control wins on simplicity. The moment that job grows by one machine or one non-Claude process, you've outgrown it.

FAQ

Can I use both Claude Code Remote Control and Celistra together?

Yes. They don't conflict. Celistra spawns and supervises processes; Remote Control attaches your phone to a live Claude Code session. Use Remote Control for daily coding, Celistra for the runs that need to outlive your terminal or run on a different machine.

Does Celistra work with Codex and Aider?

Yes. Celistra is process-agnostic — anything that runs in a PTY runs under Celistra. Claude Code, Codex, Aider, custom scripts, training jobs.

Is the dashboard really sub-millisecond on LAN?

Yes when both the daemon and the dashboard are on the same network — the dashboard probes 127.0.0.1:33120 first and uses the tunnel only when it has to. Round-trip on Wi-Fi is typically 0.3–0.8ms.

What's the privacy model?

The daemon binds to 127.0.0.1 and pairs with your Firebase identity. Off-LAN traffic flows through a Firebase-gated frp tunnel at *.tunnel.ujex.dev — TLS terminated by nginx with Let's Encrypt, certs pinned via CAA. The daemon never accepts unauthenticated traffic.