Compare

Pilothouse vs Happy

Happy gives you native phone and desktop apps for Claude Code and Codex through an end-to-end encrypted relay. Pilothouse keeps everything on your machine, adds rules before every tool call, and works with agents however you launch them.

Choose Happy if…

  • You want a native mobile app with a full chat UI, not just approvals.
  • You don’t use Tailscale and want an end-to-end encrypted relay that just works.
  • You want voice, multiplayer sessions, or several machines in one app.

Choose Pilothouse if…

  • You want to keep launching agents the way you do now — no wrapper command.
  • You want rules before every tool call: deny, ask, allow, per user and per repo.
  • You want nothing to leave your machine except the notifications you configure.
  • You want the phone to buzz only when you’re actually away from the keyboard.

What Happy is

Happy is an MIT-licensed project with native iOS and Android apps, a web app and a desktop app. Its original CLI wraps Claude Code and Codex (you start them with happy claude or happy codex; that CLI is now in maintenance mode) and a newer runtime handles Claude, Codex and Grok. You answer permission requests from the app, and traffic goes through an end-to-end encrypted relay that is hosted by default and can be self-hosted.

Side by side

Pilothouse compared with Happy
FeaturePilothouseHappy
What it isSingle Go binary: daemon, CLI, terminal inbox, phone web appiOS/Android/web app, desktop app and CLI wrapper
LicenseYes: Apache-2.0Yes: MIT
PriceFreeFree; voice is paid
PlatformsmacOS, Linux (Windows on the roadmap)iOS, Android, web; desktop on macOS, Windows, Linux
AgentsClaude Code, CodexClaude Code, Codex (Grok in the new runtime)
Keep your terminal and how you launch agentsYes: Yes — official hooks; any terminal, even inside tmux or herdrPartly: Start agents through happy (or its own runtime)
Your rules before every tool callYes: YAML + CEL, user and repo files, any deny winsNo: No user-written rules
Approve from your phoneYes: Yes — each device signs its decisionsYes: Yes — native apps
Phone notificationsYes: Web Push, ntfy (with buttons), Slack/Discord webhooks, desktopYes: Native push
Presence-aware (no phone buzz while you’re at the desk)Yes: Yes — OS idle time; manual overrideNo: Not documented
Works without an accountYes: No accountPartly: Key-based account (your phone holds the key)
How the phone reaches your machineYour own Tailscale (HTTPS via Tailscale Serve). No ports opened.End-to-end encrypted relay; hosted by default, self-hostable
Worktree tasksYes: pilothouse task new → worktree + branch + agentNo: Not documented
Several machines in one viewPartly: Not yet — one daemon per machineYes: Yes

Where Happy is better

Native mobile apps

iOS and Android apps with native push and a full conversation view. Pilothouse ships a web app (PWA).

Works without Tailscale

Happy’s encrypted relay needs no VPN. Pilothouse v0.1 reaches your phone through Tailscale; an end-to-end relay is on our roadmap.

More than approvals

Send prompts, read the whole session, voice and multiplayer. Pilothouse’s phone app is focused on the inbox and approvals.

Multi-machine

Several machines on one account. Pilothouse v0.1 is one daemon per machine.

Where Pilothouse is different

Policy engine

Pilothouse checks your rules on every PreToolUse hook. Happy has no user-written rules.

No wrapper required

Pilothouse uses the agents’ official hooks, so a claude started from any terminal or IDE is covered. Wrap mode (pilothouse run) is optional.

Nothing hosted

No account and no relay: the web app is served by your own machine over your tailnet.

Presence-aware routing

At your desk, Pilothouse stays out of the way and the agent’s own dialog shows. Away, your phone gets it.

Facts about Happy checked on 22 October 2026 from: happy.engineering, Happy docs: how it works, Happy on GitHub. Spotted something out of date? Tell us.

Try Pilothouse alongside what you use today

It doesn't replace your terminal or your agents. Install, run pilothouse setup, and keep working.

macOS · Linux
curl -fsSL https://pilothouse.dev/install.sh | sh

then run pilothouse setup