TailClaude
Claude Code from any browser. No SSH. No terminal. Just a URL.
TailClaude publishes a full Claude Code web interface to every device on your Tailscale tailnet — or the public internet via Tailscale Funnel. Powered by the iii engine.
Scan a QR code from your phone, open the link, and start coding with Claude — streaming responses, full session history, model switching, real-time cost & usage dashboards, system metrics, request traces, live activity feed, and every Claude Code control in a touch-optimized UI styled with Anthropic's brand guidelines.
Why TailClaude?
Every "doom coding" setup — SSH, mosh, tmux, Termius, Moshi — still puts you in a terminal. You're still typing on a tiny keyboard, memorizing shortcuts, and managing connections.
TailClaude removes the terminal entirely.
| Terminal (SSH/mosh + tmux) | TailClaude | |
|---|---|---|
| Client | Terminal app + SSH/mosh + tmux | Any browser |
| Phone setup | Install app, configure keys/auth | Scan QR code |
| Network switch | mosh helps, SSH drops | Browser reconnects automatically |
| Interface | Terminal emulator | Web chat UI with Markdown rendering |
| Streaming | Raw terminal output | Real-time SSE, token-by-token |
| Session history | tmux attach (terminal only) |
Browse ALL sessions (terminal + web) |
| Model switching | Edit CLI flags, restart | Dropdown: Opus, Sonnet, Haiku |
| Permission modes | CLI flags | One-click: default, plan, acceptEdits, bypassPermissions |
| Cost tracking | None | Live tokens + per-message cost ($0.01 · 4.5K in / 892 out) |
| Stop mid-response | Ctrl+C in terminal | Stop button with instant feedback |
| Mobile UX | Tiny terminal, keyboard shortcuts | Touch-optimized, responsive, dark theme |
| Setup time | ~15 minutes | npm install && iii -c iii-config.yaml |
Tailscale handles the secure connection. TailClaude handles everything else.
Architecture
+-----------------------------------------------------------------+
| Browser (any device — phone, tablet, laptop) |
| https://your-machine.tail-abc.ts.net |
+---------------------------------+-------------------------------+
| HTTPS (auto-cert via Tailscale)
v
+-----------------------------------------------------------------+
| tailscale serve/funnel :443 -> http://127.0.0.1:3110 |
+---------------------------------+-------------------------------+
|
v
+-----------------------------------------------------------------+
| Node.js Proxy (port 3110) |
| |
| GET / -> Chat UI (Anthropic brand, tabs) |
| GET /health -> Engine state + worker metrics |
| POST /chat -> OTel-traced SSE streaming chat |
| POST /chat/stop -> Kill active process + lifecycle |
| GET /chat/active -> Active streaming request IDs |
| GET /chat/replay/:id -> Replay buffered chat events |
| GET /sessions -> State-indexed sessions (sub-ms) |
| GET /sessions/:id -> Full conversation history |
| GET /activity -> SSE live activity feed |
| GET /usage -> 7-day cost & token usage stats |
| GET /metrics -> System metrics timeline + alerts |
| GET /traces -> Request traces (cost/tokens/model) |
| GET