ServerCC vs Happy Coder
Happy Coder is an open-source (MIT) mobile and web client for Claude Code and Codex. You run happy instead of claude on your computer; the CLI wraps the agent, encrypts the session end to end, and syncs it through a relay server to a chat-style app on your phone. The relay is hosted by Happy or self-hosted. It is free.
ServerCC takes the other route. The phone opens an SSH connection to your server and runs the agent in a real terminal there, inside tmux or herdr. Nothing is installed on the host except the agents. No relay, no wrapper, no account. This page lists what that difference changes in daily use.
How the phone reaches the agent
Happy: phone → Happy relay (encrypted) → happy wrapper on the computer → agent. The relay lets the phone reach a laptop behind any NAT without network setup, and the same encrypted stream feeds the web and macOS clients.
ServerCC: phone → SSH → your server → agent in tmux/herdr. For machines without a public address, ServerCC embeds Tailscale inside the app, so a tailnet host is reachable without turning on a system VPN. Your code and session never pass through anyone else's server.
Side by side
| ServerCC | Happy Coder | |
|---|---|---|
| Connection | SSH direct to the server; nothing installed on the host | happy CLI wrapper on the computer + encrypted relay (hosted or self-hosted) |
| Private networks | Tailscale built into the app, no system VPN | Relay reaches any machine, no network setup |
| Agents | Claude Code, Codex, Grok Build, OpenCode, Kimi Code, Pi, OMP; any other CLI in the same terminal | Claude Code, Codex |
| Interface | Full terminal with a native text field: compose and edit the prompt in an iOS text view, send as one line; full-height editor for long prompts | Chat-style view that renders tool calls and file edits; no shell |
| Parallel sessions | Any number per workspace or worktree; Running tab lists them; Background Run (Pro) switches without stopping any | Session list across paired machines |
| Survives app close | tmux/herdr on the server; reattach from any device | Wrapper process on the computer; phone resyncs on reconnect |
| Take over a session started at the desk | Attach to any existing tmux or herdr session on the host | Only sessions started through happy |
| App in the background on iOS | Location mode keeps the SSH connection alive while the app is in the background | Not needed; the relay holds the session |
| Preview the result | Ports: HTTP preview through the SSH tunnel; VNC remote desktop | — |
| Files and git | SFTP file browser with markdown and image preview; git diff view; git worktree create/switch | File edits and diffs shown inside the conversation |
| Skills and MCP | Browse, install and toggle Claude Code skills and MCP servers from the app | Through the agent's own config |
| Notifications | Completion notifications for bg sessions | Push when the agent needs permission or idles |
| Voice | iOS dictation in the native text field | Built-in voice via a hosted provider |
| Offline | Needs the SSH connection | Queues messages and shows diffs offline |
| Terminal themes | Eight built-in themes, switchable per session | — |
| Sync and backup | iCloud backup of servers and workspaces; optional credential sync via iCloud Keychain | Session sync across devices through the relay |
| Platforms | iPhone, iPad, Android | iOS, Android, web, macOS |
| Price and source | Free tier; Pro as a one-time purchase or subscription; closed source | Free; MIT |
Choose ServerCC if…
- Your agents run on a server or a tailnet machine and you do not want a relay between the phone and the code
- You want a real shell next to the agent: tail a log, restart a service, run tests by hand, then go back to the session
- You use Grok Build, OpenCode, Kimi Code, Pi or OMP alongside Claude Code and Codex
- You run several agents in parallel across worktrees and want to attach to sessions you started at the desk
- You want to open the dev server or the desktop of the machine from the same app (Ports, VNC)
Stay with Happy if…
- The agent runs on a laptop that is not reachable over SSH and you do not want to set up Tailscale
- You prefer a chat view with rendered tool calls over a terminal, and want permission prompts as push notifications
- You need the web or macOS client, offline message queueing, or an MIT-licensed codebase you can change
Setup takes about five minutes: Quick Start. Claude Code on iPhone covers the full workflow, and Tailscale explains reaching machines without a public address. No server yet? The app can claim a free sandbox with the agents preinstalled.