{"slug": "start-claude-code-on-any-machine-from-your-phone", "title": "Start Claude Code on Any Machine From Your Phone", "summary": "A developer built Claude RC Launcher, a self-hosted web service that starts and stops `claude remote-control` sessions in chosen folders so users can launch Claude Code tasks from a phone instead of an SSH client. Each session runs as a systemd service named `claude-rc-<id>.service`, surviving closed browsers, dropped connections and reboots, and a hub can manage Linux and Windows nodes using 30-second, single-request signed proofs plus certificate pinning rather than reusable passwords. The developer warns that a hub login is root-equivalent on the hub and every node, and points to the README's threat model before exposing the service to a network.", "body_md": "I often leave my desk with a long Claude Code task half done. Claude has a feature called remote control, which lets you drive a session from the Claude app. But `claude remote-control` must first start in a terminal on the right machine, in the right folder. From a phone, that meant opening an SSH client and typing commands on a tiny keyboard.\n\nSo I built Claude RC Launcher. It is a small web service that starts and stops `claude remote-control` in a folder you choose. You open a web page on your phone, pick a directory, and tap Start.\n\nThe main page lists your sessions. Each card shows the folder, how long the session has run, and buttons for logs and stop. The drop-down at the top picks the host.\n\nTo start a session, tap New, browse to a folder, and tap Start here.\n\nEach running session is a systemd service named `claude-rc-<id>.service`. Systemd is the service manager on Linux. Because of that, a session survives a closed browser, a dropped connection, and a reboot. One port serves both the web interface and the JSON API over plain HTTP. You put it behind a reverse proxy that adds HTTPS.\n\nLogin uses OIDC (OpenID Connect), for example through Authentik. You can also let a reverse proxy assert your identity with a signed token. There is no mode without authentication.\n\nOne launcher, called the hub, can manage sessions on other machines, called nodes. A node can be a Linux host or a Windows PC. You pair a node with one command:\n\n```\nclaude-rc host add win --url https://my-pc:8443\n```\n\nThe hub does not hand a reusable password to a node. For each request it signs a proof that is valid for 30 seconds, for one node, one method, one path, and one body. A node that receives a proof cannot use it anywhere else. The hub also pins each node's certificate, so a fake node cannot pose as a real one.\n\nThe command-line client covers everyday tasks too:\n\n```\nclaude-rc login --hub https://rc.example.com\nclaude-rc hosts                                # every host and its status\nclaude-rc ls /srv                              # folders you can start in\nclaude-rc start /srv/new-project --name demo   # prints the instance id\nclaude-rc list --host nas\nclaude-rc logs <id> --lines 50\nclaude-rc stop <id>\n```\n\nThe client can also update machines. `claude-rc update --all-nodes` updates every node to the latest release. Each node checks the download against `SHA256SUMS` and runs the new binary once. If the new binary does not stay up, the node goes back to the old one.\n\nThe Windows node runs through WinSW, a service wrapper that restarts it after a failure. One line in a PowerShell that runs as administrator installs it:\n\n```\nirm https://github.com/kbirger/claude-rc-launcher/releases/latest/download/install.ps1 | iex\n```\n\nA Windows machine can be a node but not a hub.\n\nThis tool gives a logged-in user the power to run Claude Code, and so to run commands, on your machines. A hub login is root-equivalent on the hub and on every node. Do three things:\n\n`instance.roots`) narrow.\nThe README lists the full threat model. Read it before you expose the service to a network.\n\nThe compiled binary embeds the web interface, so the server needs no Node.js or Bun. Linux x64 and arm64 binaries are on the GitHub releases page:\n\n[https://github.com/kbirger/claude-rc-launcher](https://github.com/kbirger/claude-rc-launcher)\n\nIf you try it, tell me which part of the setup was hardest.", "url": "https://wpnews.pro/news/start-claude-code-on-any-machine-from-your-phone", "canonical_source": "https://dev.to/kbirgerdev/start-claude-code-on-any-machine-from-your-phone-5aam", "published_at": "2026-11-09 01:15:34+00:00", "updated_at": "2026-11-09 02:02:52.055605+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "developer-tools", "ai-products"], "entities": ["Claude Code", "Claude RC Launcher", "Anthropic", "systemd", "WinSW", "Authentik", "GitHub", "OpenID Connect"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/start-claude-code-on-any-machine-from-your-phone", "markdown": "https://wpnews.pro/news/start-claude-code-on-any-machine-from-your-phone.md", "text": "https://wpnews.pro/news/start-claude-code-on-any-machine-from-your-phone.txt", "jsonld": "https://wpnews.pro/news/start-claude-code-on-any-machine-from-your-phone.jsonld"}}