One control room for all your coding agents.
The way orchestrating agents should feel.
From your phone, desktop and browser.
Claude Code, Codex, OpenCode, Pi and more, working together and in parallel on your own machines. Sessions can spawn subagents across agents: e.g. Claude asking Codex for a review, or Codex delegating to Claude subagents. Switch agents mid-session. Approve, steer, review and commit from wherever you are.
Open source · Self-hostable · End-to-end encrypted
Get started · Downloads · Docs · Self-host · Discord
Happier is free and open source.
Your agents keep using the subscriptions and API keys you already have:
Claude Pro/Max, ChatGPT/Codex, API keys, or local models.
Get started
1. Install on your computer
The desktop app is the recommended way in: it sets up the CLI and the daemon for you.
Prefer the terminal? Install the CLI and daemon without the desktop app
macOS/Linux:
curl -fsSL https://happier.dev/install | bash
Windows:
iwr https://happier.dev/install.ps1 -useb | iex
If you specifically want the npm package instead: npm install -g @happier-dev/cli (CLI docs).
Installing on a remote computer or devbox? Set it up over SSH, from your machine
One command installs the CLI and the daemon on the remote host (release-signature verified) and registers it as one of your machines:
happier machine setup --ssh user@host
To sign the remote machine in without a browser on its side, run this from a machine where you are already signed in:
happier auth pair-remote --ssh user@host
Headless alternative on the remote host itself: happier auth login --no-open --method web prints an authorization URL you approve from any browser. Machines and the daemon
You sign in from the app, or on first run.
2. Add your phone
|
|
|
Direct APK stable release |
|
|
|
|
Sign in with the same account and your sessions, machines and settings are already there.
3. Start a session
In the app → Press New session, pick the machine, the folder and the agent. No terminal needed.
Or in the terminal, from any project folder:
happier # Claude Code
happier codex # Codex
happier opencode # OpenCode
Either way, the session shows up everywhere at once: keep typing in the terminal, follow along and approve from your phone, review in the browser. happier --help lists the other agents and commands.
What you can do
Run and coordinate agents
Parallel sessions, on every machine you own. Start as many sessions as you like and pick the machine, folder, agent and model for each one. Add a new machine over SSH from the app or the CLI. Starting a session · Machines and the daemon
Git worktrees, when you want them. Start each session in its own Git worktree: a real checkout, its own branch, the same repository. Happier creates it from any local or remote branch, suggests a name, and offers to reuse an existing one instead of duplicating it. Or start in the folder you are already in; it is a choice per session, not a mode you switch on: all your sessions, none of them, or just this one. New session options
Prefer the terminal? Keep it. Run Claude Code, Codex or OpenCode in their own terminal UIs: Happier mirrors those sessions to every device, so you can follow along, send messages and approve from anywhere, then switch between the terminal and the app whenever you like. Claude unified terminal
Your existing sessions? Already there. Open any Claude Code, Codex or OpenCode session already running on your machine: live, from any device, nothing to migrate and nothing to learn. Continuing a session
Subagents across agents. Any session can launch review, plan or delegate runs on another agent and read the results: Claude handing work to Codex subagents, Codex to Claude, or any other pairing. Subagents
Switch agents mid-session. Change the engine and the same session keeps going. A returning agent resumes its own thread and receives only what it missed. Continue with another agent
Hand a session to another machine. Move a live Claude Code or OpenCode session to your desktop, a VPS or a dev box, and bring the working tree along if you want it. Session handoff
Queue it, steer it. Queue messages while the agent works, reorder or edit them before they run, and steer a running turn without interrupting it. Steering · Pending queue
Review and ship
Review diffs, line by line. Browse your agent's changes, mark the exact lines you want addressed, and send the notes straight back: same session, or a new one. Review comments
Git from any device. Stage, commit, push, branch and open pull requests without leaving the app. Git
Files, editor, terminal. Open any file in a real editor, and drop into a live terminal on the connected machine when you need a shell. Files and editor · Embedded terminal
From anywhere
An inbox for what needs you. Permission requests, agent questions and unread sessions gather in one attention center across all sessions and machines, and push notifications open the exact session that asked. Inbox and approvals
A colleague you can talk to. The voice assistant follows your running sessions, answers permission requests for you, and sends the messages you dictate. Bring your own ElevenLabs key or run a local voice pipeline. Voice
Share a session. Invite someone with view or edit access, or publish a read-only public link. Session sharing
Yours to run
Every action, from every surface. Everything Happier can do (create a session, send it a message, set the model, start a review) is defined once, in one registry. The app, slash commands, voice, in-session agents, the CLI and an external MCP host all call the same definition, and for each action you choose which surfaces can run it and which have to ask you first. Happier as an MCP server · CLI
happier mcp serve # drive Happier from any MCP host
happier session list
happier session send <id> "rerun the failing test"
happier session actions execute <id> session.spawn_new
MCP servers, configured once. Define your MCP servers once and use them with every agent on every machine, even agents with no native MCP support. MCP servers
A usage limit should not end your session. Link provider subscriptions and API keys once, sealed on your device before they sync, and pick which account each session runs under. When a provider limit bites, Happier shows the reset time, waits, and resumes the session on its own (Claude Code, Codex, OpenCode, Gemini, Pi). Connected services · Usage limits
Self-host, same features. The self-hosted relay runs the same apps, the same encryption and the same features as the hosted one. Self-hosting
Supported agents
Any agent that speaks ACP (the Agent Client Protocol) can be added from the settings, next to the built-in ones. Capabilities differ per agent: see the feature matrix.
How Happier works
Phone Desktop Browser
│ │ │
└────────────────┼────────────────┘
│
▼
Happier relay (hosted or yours)
syncs end-to-end encrypted sessions
between your devices and machines
│
▼
Your machines (laptop, desktop, VPS, dev box)
the Happier daemon starts and manages
agent processes where your code lives
│
▼
Claude Code · Codex · OpenCode · Pi · ...
each agent talks to its own model
provider directly
The relay stores and forwards content it cannot read: session content is encrypted on your devices before it reaches the server. The server only processes what routing needs, such as session ids, timestamps, turn status and usage metadata. Your agents keep talking to their model providers directly.
Self-hosting
Run your own relay with one command:
happier relay host install --mode system
This installs and updates a managed relay service on the current machine. For a remote host: happier relay host install --ssh user@host --mode system.
The self-hosting docs (also reachable at happier.dev/self-host) cover the details, with Docker and Proxmox as alternatives.
Security
- Content is end-to-end encrypted by default. Code, prompts, messages and transcripts are encrypted on your devices before they ever reach a server. Encryption
- The server processes routing metadata. Session ids, timestamps, turn status and usage metadata are visible to the relay so it can sync your devices.
- Self-host operators choose their storage policy. A self-hosted server can be configured with other storage policies for its deployment. Server encryption settings
- Model traffic stays with your agents. Each agent talks to its own model provider directly.
More in the security docs.
Downloads
| Platform | Get it |
|---|---|
| iOS | App Store |
| Android | Google Play · APK |
| macOS · Windows · Linux (desktop app) | happier.dev/download · all desktop builds |
| Web | cloud.happier.dev |
| CLI (macOS, Linux) | curl -fsSL https://happier.dev/install | bash |
| CLI (Windows) | iwr https://happier.dev/install.ps1 -useb | iex |
Release notes live in the changelog.
Release channels and nightly builds
Everything above installs the stable channel. Two faster channels ship
ahead of it, and they install side by side (happier, hprev, hdev), so
trying one never breaks your stable setup:
- preview: new features land here first, ahead of stable.
- dev: nightly builds of the latest changes. Can contain partial commits and can break at any moment.
Install preview or dev builds
Preview (macOS/Linux, then Windows):
curl -fsSL https://happier.dev/install-preview | bash
iwr https://happier.dev/install-preview.ps1 -useb | iex
Dev:
curl -fsSL https://happier.dev/install-dev | bash
iwr https://happier.dev/install-dev.ps1 -useb | iex
Then run hprev or hdev instead of happier. If you want happier
to map to your dev lane, add alias happier='hdev' to your .bashrc/.zshrc.
On dev you must run everything from the dev releases (CLI, app, daemon and
server): the hosted cloud (cloud.happier.dev) runs stable, so preview and dev features may not work
against it, and dev has no hosted web app (self-host the dev server to use
the dev web UI).
Mobile and server dev builds:
- iOS TestFlight
- Android dev APK
- Server images: Docker Hub
happierdev/relay-server:dev· GHCR - Dev box (CLI + daemon + agents preinstalled): Docker Hub
happierdev/dev-box:dev
How channels map to release tags and how each install method updates: docs.happier.dev/releases/updates.
Community and contributing
Happier is built in the open, and it grows through real feedback. If something feels broken, missing or awkward, we want to hear about it.
- Bugs, with repro steps: GitHub issues
- Ideas and design questions: GitHub discussions
- News, questions and quick feedback: Discord
- Code, docs and development setup: CONTRIBUTING.md
A clear issue is often worth more than a pull request: say what you did, what you expected, and what happened instead.
Why “Happier”?
We originally started as contributors to Happy, submitting fixes, improvements, and new features upstream.
We were using it daily for work and genuinely loved the concept. Over time, we realized that our own needs required faster iteration that we could not comfortably explore within the main project.
So we started building them for ourselves.
After weeks of refining, fixing, and extending the foundation, we decided to share Happier so others could try it, use it, and help shape what comes next.
Happier is about exploring a faster-moving, more collaborative direction, while remaining deeply grateful for the foundation Happy provided. We loved and still love Happy. ❤️ Happier would not exist without it.
Built in Switzerland. MIT licensed.
Not affiliated with or endorsed by Anthropic, OpenAI, or Google.