handmux docs
free & open-source · mobile vibe-coding cockpit

drive your agent,
ditch the desk

Your real tmux workspace, in your hand. Run one command, scan the QR, and keep coding with Claude Code, Codex, Git and previews from anywhere.

Agents keep running on your computer. Review, approve and type from any browser — no mobile app or handmux account.

then handmux start scan the QR to hop on your phone
get started → how it works →
a real session, on your phone

Real panes, real work: prompt your agent, answer when it needs you, then review code, files and usage from your phone.

handmux on a phone: say what you need, Claude Code writes the doc, then tap the filename to preview it
Prompt Claude Code, watch it work, then tap a file to preview.
handmux on a phone: a push pings you when needed, and you review the git repo and each agent's usage
Get pinged when you’re needed; review Git and agent usage on the spot.
the best companion for Claude Code & Codex

Drive any terminal agent; with Claude Code and Codex, handmux also knows when a pane is working, blocked or done.

Pinged when it needs you

Permission, plan and completion alerts reach your phone even when the page is closed.

Who's busy, who's waiting — one glance

One inbox shows every pane as working, needs you or done; tap one to jump there.

Approve with your thumb

Approve permissions and plans from your phone, directly in the real terminal session.

how handmux compares

Three ways to drive coding agents from a phone — with different session, data and account boundaries.

handmuxHappyClaude app (official)
Your Claude subscription Official Claude Code runs in your terminal; handmux only displays and drives that session. ! A third-party wrapper; subscription OAuth use is subject to Anthropic's client policy. First-party.
Agents it can drive Claude Code · Codex, plus any terminal agent or TUI. Claude Code & Codex only. Claude only.
What you install Nothing — a web app; add to Home Screen for a full-screen PWA. A native app, plus a wrapper CLI on your computer. A native app.
Data path Phone ↔ your computer — no middleman, no handmux account. Relayed through Happy's cloud (end-to-end encrypted). Relayed through Anthropic's cloud.
Same session as your PC The same live tmux pane — close the laptop, keep going. A wrapper-managed session for remote takeover. Remote Control via cloud relay.
Beyond the agent The full terminal — git, shells, editors, anything in the pane. Agent sessions only. Claude only.
Coding companions Git, previews, docs, files and idea capture in one cockpit.
Reachable in mainland China Self-hosted — direct connect, or a tunnel on your own account (incl. natapp / cpolar). Relay hosted abroad. Availability varies by network.

Agent support follows each product's documentation. See Anthropic's credential policy.

signature features
up in a minute

One command — and it's running

One command to install and start, then scan the QR. If Node and tmux are ready, your phone is in the terminal in about a minute.

on by default

Zero install — with a native-app feel

No App Store, no client. Add the PWA to your Home Screen for a full-screen, native-like experience on iPhone and Android, including push notifications.

on by default

Your workspace survives a restart

Recover your tmux workspace after a restart — sessions, windows, panes and safe agent context. Existing sessions stay untouched; restore from phone or CLI.

Codex ready · Claude experimental

Chat view — the session as a conversation

Use Codex CLI as a synchronized chat with streaming Markdown replies that hold at the beginning for reading, tool cards, native Goal lifecycle cards, approvals and context usage; active Goals stay beneath the live turn task list, user changes appear on the right, terminal feedback stays with its originating turn on the left, and the current terminal Goal can be edited before restarting. Editable queued messages survive Handmux restarts. Open output files and URLs with the same in-app flow as the terminal. Claude Code chat remains an independent experimental option.

Setting or restarting a Goal creates a fresh active Goal and starts Codex immediately; one equal-width iOS-style row keeps editing, pausing and clearing easy to use.

on by default

Agent usage, always in view

Claude and Codex usage at a glance: limits, reset countdowns and burn pace. The latest host-wide state stays shared across every connected device.

on by default

Real-time terminal, the right keyboard everywhere

Live terminal everywhere: resilient streaming and direct Alt/Space keys on mobile, plus full physical-keyboard input and native copy/paste on desktop.

on by default

A git client in your hand

VS Code-style Git on your phone: working changes, history, branches and full-screen colored diffs. Multi-repo and read-only, so your tree stays untouched.

on by default

Split, close, and map panes from your phone

Control real tmux layouts from your phone: see every pane, split, close and jump between them. Every change appears instantly on desktop.

on by default

One previewer for sites and local folders

Preview URLs by phone or computer proxy, or open an isolated static folder from the same address row—with narrow/wide widths, zoom, and mobile/desktop site requests in computer proxy mode.

on by default

Docs you can read — or hear — and files both ways

Open any text-file path from the terminal, regardless of extension, with Markdown, zoom and read-aloud highlighting. Binary files stay download-only; upload, download and share files in either direction.

needs setup

Reach it anywhere — direct, zero-config, or self-hosted

Connect your way: direct on LAN or public IP, Cloudflare, natapp/cpolar, or your own SSH server. handmux configures the route; the account remains yours.

needs setup

Script push — notify your phone from a script

Push from any script or CI job straight to your phone. Target every device, one tmux session or one device — without a remote handmux service.

free · open-source

Free, open-source, no relay

Free, open-source and self-hosted. No handmux cloud, account or relay sits between your computer and phone — even when you use a supported tunnel.

good to know

  • Voice input: dictate prompts in chat view with optional iFlytek setup.
  • Update alerts: know when a new release is ready, then reload the client from Settings after upgrading.
  • Built for flaky networks: reconnects, falls back and resumes without losing your place.
  • Image & GIF viewer: pinch-zoom, save and share terminal images.
  • Starts at login: bring handmux back automatically after a reboot.
  • Idea capture: keep notes per window and send them into the prompt.
how it works
Your phone
no app · add to home screen
https
Tunnel
we start it for you · or your own
reverse
Your machine
handmux start

Handmux runs on your machine and stays private by default. Connect directly when you can, or choose a tunnel on your own account.

already publicno tunnel

Use your LAN, public IP or domain directly — no relay required.

need an entrancepick one

No public endpoint? Choose Cloudflare, natapp/cpolar or SSH. Handmux configures the route; the provider account remains yours.

get going · about a minute

Install Node and tmux on your computer; your phone only needs a browser.

npm i -g handmux   # install once
handmux start       # run it, then scan the QR it prints — you're on your phone

Setup, notifications, tunnels and Windows/WSL2 live in the full guide →

feedback & community
bugs & ideasgithub

Report bugs or propose features in Chinese or English. Open an issue →

WeChat user group中文

In China, scan to add the author on WeChat, note handmux, and join the user group.

WeChat QR code