Code from bed

Lie down and drive Claude Code from your phone

Bedcoder is a mobile-first remote control for AI coding agents. Use the official claude at your desk; when you want to lie down, start bedcoder and continue from your phone β€” same session, seamless handoff.

Open web client β†’ iOSComing soon AndroidComing soon
npm i -g bedcoder

Works in your phone's browser β€” no install, no signup.

Why Bedcoder

πŸ”

Seamless with official claude

Not a replacement β€” an ultra-thin headless daemon (~5 MB RAM, under 2,000 lines) built on the official Agent SDK, reusing your ~/.claude session. Hand off between desktop and phone with context intact.

πŸ”‘

Pairing code, no signup

The desktop shows an 8-character code; enter it on your phone and verify a 6-digit SAS once. No accounts, no login, no email.

πŸ›‘οΈ

End-to-end encrypted Β· zero-knowledge

X25519-paired keys with XSalsa20-Poly1305 payloads; the relay only forwards ciphertext and never sees content or keys. Pairing verifies a commitment + 6-digit SAS to stop a man-in-the-middle.

πŸ“¦

Self-hosted, tiny relay

One command spins up the relay β€” a single static Go binary on your own server, with zero lock-in; a public instance is available too. The phone just opens a browser β€” nothing to install.

πŸ“±

Built for Claude Code

Structured message cards, one-tap permissions, mode switching, and cost & context progress β€” a quick-action bar tuned for vibe coding.

🧭

On the roadmap

Terminal mirror (see hosted terminals on your phone), localhost preview, file manager, and GUI screen-casting (WebRTC P2P).

How Bedcoder compares

Feature Official RC Happy πŸ‘‘ Bedcoder
Terminal interaction βœ• βœ• βœ“
Terminal mirror βœ• βœ• soon
Localhost preview βœ• βœ• soon
File manager βœ• βœ• soon
Session interoperability with official claude βœ“ βœ• βœ“
Extra desktop TUI required β€” Yes tied No headless
P2P direct connection βœ• βœ• soon

βœ“ Available now Β· soon Planned Β· βœ• Not supported Β· β€” N/A

Three steps to start

  1. 1

    Install & run bedcoder

    Install once with npm i -g bedcoder, then run bedcoder in your project. A thin headless daemon shows a pairing code + QR β€” no conversation is rendered locally.

  2. 2

    Pair your phone

    Open web.bedcoder.org, enter the code, and confirm the 6-digit SAS matches on both ends.

  3. 3

    Continue from bed

    Send prompts, approve permissions, watch streaming replies; back at your desk, claude --resume picks it right back up.

Platforms

Web Available now Open β†’
iOS Coming soon
Android Coming soon