The problem: I run long Claude Code sessions in “ask before edits” mode. Every time it wanted to run npm test or edit a file, it stopped and waited. If I was in a meeting or asleep, a session could sit idle for hours. My teammates couldn’t step in either, because the session lived in a terminal on my laptop.
What I built: CodeRail, an open-source, self-hosted remote control for Claude Code (it also supports Codex).
- A bridge on each computer runs your own
claudeCLI with your own login over ACP. CodeRail never sees your API keys. - Permission prompts become push notifications. Allow once, always allow, or deny from a phone.
- Teammates can join the same session: same context, same machine, same repo. Whoever is awake answers.
- Roles (Owner / Operator / Viewer), and an audit log of who approved which command.
- Terminals, files, git and a browser sit next to the chat, so you can check a diff before you approve. How Claude Code helped build it:
- I had Claude draft the design doc and the shared wire protocol first, then build each part (Bun + SQLite server, bridge, Svelte 5 web app) against that protocol.
- Every permission is checked twice, on the server and again on the computer. Claude wrote the tests for that path.
- Once approvals worked, we used CodeRail to approve Claude Code’s own prompts while it kept building CodeRail. What I learned: keeping a long task moving depended less on the model and more on how fast a human answered “Allow?”. Splitting that job across a team helped more than any prompt change. Limits: not end-to-end encrypted (your server keeps the history), so self-host it somewhere you trust. Free, Apache 2.0: git clone https://github.com/wiva-hq/CodeRail && cd CodeRail cp .env.example .env docker compose up -d --build Docs: https://docs.coderail.codes/ How do you handle approvals on long runs: bypass mode, allowlists, or babysitting? submitted by /u/L_i_n_k0666
Originally posted by u/L_i_n_k0666 on r/ClaudeCode
You must log in or # to comment.
