Termenbox

Run Claude Code and Codex on your own server, from your phone

A self-hosted web terminal for AI coding agents. Sessions live in tmux and survive dropped connections. No app to install, no subscription.

curl -fsSL https://app.termenbox.dev/i | sh

Run it on the Linux machine that will run your agents. Then open the app, log in with GitHub, tap Add Server and scan the QR it printed. The command carries no secret and is safe to run again.

Pick your path

A VPS with a public IP

curl -fsSL https://app.termenbox.dev/i | sh

Scan the QR in Add Server. If it cannot connect, open the one UDP port the installer names.

A home server on your Wi-Fi

curl -fsSL https://app.termenbox.dev/i | sh

The same command. Scan the QR from a phone on the same network; no domain or router setting needed.

Sessions isolated in Docker

curl -fsSL https://app.termenbox.dev/i | sh -s -- container

Sessions cannot see the rest of the machine. Docker is installed if missing.

The default install runs sessions directly on the machine as your own user, with your repositories, keys and agent logins. Choose Docker if that is more access than you want.

Why Termenbox

Questions

Can I use Claude Code or Codex from my phone?

Yes. Install Termenbox on the machine where the agent runs, then use the app as the terminal: start the agent in a session, answer its questions from the banner, and come back later to the same session. Supported browsers: iOS Safari 16.4+, Chrome on Android 111+, and current Chrome, Firefox, Edge and Safari on desktop.

Is this like Mosh or tmux over SSH?

The persistence is tmux's: the server keeps the session and each connection attaches to it. Termenbox adds a browser client made for touch, a connection that re-races its paths after a network change, and notifications. It is not an SSH client.

Does my terminal traffic go through your servers?

No. It goes from your browser to your machine over an encrypted WebRTC data channel, and the browser pins the server's fingerprint. Only a signed record with the server's public key and address goes through the free directory.

Does it need a public IP or port forwarding?

On the same network as your phone, scan the QR the installer prints; on iPhone this depends on Safari's Local Network permission, which we have not finished testing. Away from home you need one reachable UDP port, or an overlay such as Tailscale. A server behind carrier-grade NAT can only be reached from its own network or over an overlay.

What does it cost?

Nothing beyond the machine you run it on. It is MIT licensed, with no subscription and no native app.