better-remote-control
v0.2.1
Published
Access your local terminal from a mobile browser via Cloudflare Tunnel
Maintainers
Readme
Better Remote Control
Your local terminal, on your phone.
A lightweight, mobile-first web terminal powered by Cloudflare Tunnel.
Built for running Claude Code from anywhere.
한국어
Why?
Claude Code Remote Control is unstable. Every alternative I tried was either bloated with unnecessary features or riddled with bugs. So I built brc — a focused tool that does one thing well: puts your local terminal on your phone.
Quick Start
Install (no Node.js required)
curl -fsSL https://raw.githubusercontent.com/custardcream98/better-remote-control/main/install.sh | shOr download a standalone binary from GitHub Releases.
With npm
npx better-remote-controlFrom source
git clone https://github.com/custardcream98/better-remote-control.git
cd better-remote-control
pnpm install && cd client && pnpm install && cd ..
pnpm run build && pnpm startA QR code appears in your terminal. Scan it, enter the password, and you're in.
Features
Run Claude Code Remotely
Control your local Claude Code session from anywhere — on the couch, in bed, on the go. All you need is a phone and a browser.
Multi-Session Terminals
Run multiple sessions side by side — Claude Code in one, dev server in another, tests in a third. Switch between them with a tap.
Mobile-Optimized Keyboard
Quick keys designed for thumb accessibility:
- ← ↓ ↑ → Tab Esc — bottom row, easy reach
- Ctrl+C ⇧Tab Opt+↵ / — top row, auxiliary
- Arrow keys support long-press to repeat
Image Upload
Upload images from your camera or gallery directly into the terminal. The file path is automatically inserted — perfect for passing images to Claude Code.
Always On
Keeps your Mac awake with caffeinate — close the lid, and your terminal keeps running. Requires power connection.
Auto-Reconnect
Lost connection? brc automatically reconnects and restores your full terminal history. No output is lost.
Secure by Default
Password authentication with rate limiting (5 attempts / 60s), CSRF protection, and timing-safe comparison. Auth tokens are HttpOnly + SameSite=Strict.
Usage
brc [options]| Option | Description |
| --------------------- | ----------------------------------------------- |
| -p, --port <port> | Port number (default: 4020) |
| --password <pw> | Set password manually (default: auto-generated) |
| -s, --shell <shell> | Shell path (default: $SHELL) |
| -c, --cwd <dir> | Default working directory (default: $HOME) |
| --command <cmd> | Auto-execute command on session start |
| --no-tunnel | Disable Cloudflare Tunnel (local only) |
| --no-caffeinate | Disable sleep prevention |
# Run Claude Code remotely
brc --command "claude --dangerously-skip-permissions"
# Start in a specific project
brc --cwd ~/my-project
# Local network only (no tunnel)
brc --no-tunnel
# Custom password
brc --password mysecretpasswordPrerequisites
cloudflared is required for remote access via Cloudflare Tunnel:
brew install cloudflared # macOS
# or see https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/Without cloudflared, brc still works on your local network with --no-tunnel.
| Requirement | Install |
| ----------------- | -------------------------------- |
| Node.js >= 18 | nodejs.org |
| pnpm | npm install -g pnpm |
License
MIT
