## What is Happier?
**Happier** is an open-source, end-to-end encrypted, cross-device companion app and client for your AI coding agents.
It lets you run AI coding sessions **locally on your computer**, then **continue and control them remotely** — from your phone, web UI, or desktop app, without losing context.
Whether you’re stepping away for a coffee or switching devices mid-task, Happier keeps your AI coding sessions alive and accessible.
**[Join the Discord](https://discord.gg/W6Pb8KuHfg)** to hear all of the latest news about Happier, report issues, discuss new ideas and request features. It would truly make us _happier_ to hear your thoughts and feedback! ;)
## Installation
### Step 1: Download App
#### iOS
#### Play Store
Play Store app is in private beta, to access it:
1. Join the [Happier Google Group](https://groups.google.com/g/happier-dev)
2. Join the private beta [from Android](https://play.google.com/store/apps/details?id=dev.happier.app) or [from the web](https://play.google.com/apps/testing/dev.happier.app)
#### Android APK
[Download the APK](https://github.com/happier-dev/happier/releases/download/ui-mobile-preview/happier-preview.apk)
### Step 2: Install the CLI on your computer
```bash
curl -fsSL https://happier.dev/install | bash
```
Windows:
```
iwr https://happier.dev/install.ps1 -useb | iex
```
If you specifically want the npm package instead of the installer-managed lanes:
```bash
npm install -g @happier-dev/cli
```
### Step 3: Authenticate (recommended: mobile-first)
```bash
happier auth login
```
Recommended first run:
- Prefer **mobile** when asked about it, so your account and secret key are then securely stored on your mobile device.
- If you already use Happier on another device, sign in with that same account.
- If you open the terminal-connect link while logged out, Happier will send you through sign in/create account and then return you to terminal approval.
### Step 4: Start using `happier` instead of `claude`, `codex` or `opencode`
```bash
# Instead of: claude
# Use: happier
happier
# Instead of: codex
# Use: happier codex
happier codex
# Instead of: opencode
# Use: happier opencode
happier opencode
# More providers:
happier gemini
happier kilo
happier kimi
happier qwen
```
### Step 5: Be a Happier developer
Code solo, or invite a friend to jump into the session with you.
Happier acts as a secure bridge between your local development environment and your other devices.
## We want to hear your feedback!
Happier is in alpha preview stage and might be buggy here and there.
We are iterating fast and adding new features, improvements and bug fixes constantly.
You can also **[join the Discord](https://discord.gg/W6Pb8KuHfg) to ask any questions or report any issues that you might have**.
This project exists because we needed it ourselves, and **we want it to evolve through real feedback**. We aim to keep the community welcoming, and contributor-friendly, whether you’re signaling an issue or proposing a larger idea.
If something feels broken, missing, or awkward, **we really want to hear about it**.
Happier grows through shared experience and collaboration.
Learn more about the best ways to contribute in [CONTRIBUTING.md](CONTRIBUTING.md).
## Key Features
- **Broad provider support**
Works with **Claude Code, Codex, OpenCode, Gemini, GitHub Copilot, Kiro, Pi, Kilo, Kimi, Qwen, Augment**, and any custom ACP-compatible CLI — all from one unified interface.
- **Browse, follow, and take over existing sessions**
Open any existing Codex, Claude, or OpenCode session on your machine directly in Happier, follow a live session started outside the app in real time, or take control and import it into Happier with full continuity.
- **Session forking and replay**
Fork a session at any message without losing context. Uses provider-native forking when available (OpenCode, Codex); falls back to Happier Replay for any provider.
- **Session handoff between machines**
Move a live session — including provider state and project directory — to another machine. The same session ID stays in place; the active machine changes.
- **Attach to a running session**
Start a session from the app and later reconnect to it in your terminal with `happier attach`, or the other way around — switch between local CLI control and remote app control at any time.
- **Persistent sessions**
Resume sessions after restarts; archive and return to them later. Supports tmux-backed resume for terminal-started sessions.
- **Seamless switching**
Move between terminal, desktop app, web, and mobile while keeping full session context. Multi-device continuity is built in.
- **Collaborative sessions**
Share a live session with teammates or via view-only public links. Friends can be added by username directly in the app.
- **Agents, subagents, and Claude teams**
Launch parallel review, plan, or delegate runs from any session. Create and manage Claude teams, send messages to individual teammates, and monitor all subagents from the Agents panel.
- **Voice assistant — a real AI colleague, not just speech-to-text**
The voice agent is a first-class assistant backed by the same action system as the UI and CLI. It monitors all your running sessions, can switch focus between them, reads pending permission requests and answers them on your behalf, sends messages to any session you dictate to, and discusses what your agents are doing with full access to recent session context. Every action it can take maps to a Happier action that can be individually approval-gated. Runs on a daemon-backed AI brain (Claude or any configured backend) or a local OpenAI-compatible endpoint, with ElevenLabs realtime, BYO ElevenLabs, Kokoro neural TTS, and device/Google STT as the voice layer.
- **Inbox**
A global attention center for permission requests, user-action prompts (`AskUserQuestion`, `ExitPlanMode`), approval-gated actions, and unread sessions — across all sessions and machines at once.
- **Pending queue**
Queue messages while the agent is busy, offline, or not yet ready. Edit, reorder, and remove queued messages before they run. The queue is session-wide and shared with collaborators.
- **Steering and interrupts**
Steer compatible sessions while they are running. New messages are injected into the active turn when the backend supports it; otherwise they queue safely.
- **Git and file browser**
Full repository-aware workspace inside sessions and projects: browse files, review diffs, edit files, and run complete Git operations (commit, pull, push, branch, stash, worktrees, remotes) without leaving the app.
- **Projects and worktrees**
Persistent repository surfaces outside sessions. Browse a repo, inspect source control state, collect review comments, switch between worktrees, and then launch a session into the exact checkout context.
- **Embedded terminal**
A live shell backed by your connected machine, dockable in the bottom panel, sidebar, or as a full-screen — shared across session and project views.
- **Attachments**
Attach files and images to any message in new or existing sessions. Works across desktop, web, and mobile.
- **MCP servers**
Define MCP servers once in Happier and reuse them across all providers, all machines, and all sessions. Previews the effective tool surface before you start. Works with native-MCP and shell-bridge providers alike.
- **Prompts and skills**
Manage reusable system prompts and skill bundles in one synced library. Attach them to coding agents, voice, or profiles; install/export to provider-native locations; integrate with `skills.sh` registries.
- **Connected services and quota monitoring**
Link Codex, Claude, and other provider subscriptions once; reuse credentials across backends and machines. Monitor usage and quota snapshots directly in the app.
- **Profiles**
Save named backend configurations (endpoint, auth scheme, environment variables, secrets) and select them at session start or via `--profile` from the CLI.
- **Custom ACP backends**
Add any ACP-compatible CLI as a selectable backend — internal tools, review bots, planning agents — without modifying Happier's source.
- **Local memory search**
Build a machine-local index from your decrypted transcripts and search past session context from the app, or let coding and voice agents use memory tools for recall.
- **Mode, model, and permission controls**
Pick model, engine, mode (plan/build), reasoning effort, and permission level per session. Session-only overrides are separate from account defaults.
- **Multi-server support**
Use Happier Cloud, personal self-host, and company self-host side by side. Auth is scoped per server; daemon state is isolated per server profile.
- **Smart notification routing**
Notification taps open the exact session and server that needs attention. Permission actions and approvals are routed safely, never silently applied to the wrong server.
- **Server feature toggles**
Server owners can selectively disable capabilities (voice, social, bug reports, etc.) so users only see what is appropriate for their deployment.
- **In-app bug reports and diagnostics**
Submit bug reports with attached diagnostics, Sentry artifacts, and `happier doctor --json` snapshots. Crash recovery shows a safe fallback screen with pre-crash diagnostics preserved.
- **Enterprise-ready**
Run your own relay server and lock it down to your organization. Supports **GitHub OAuth with org/team membership gating**, **OIDC** (Okta, any provider, with per-provider user/email/group allowlists and RFC 9207 `iss` passthrough), **mTLS** (certificate-based auth via reverse proxy or direct, with SAN email/UPN identity mapping), and **keyless external auth** for SSO-only environments.
Configurable auto-provisioning, offboarding re-checks at configurable intervals, and strict vs. permissive enforcement.
Storage policy is independently configurable: end-to-end encrypted (default), mixed, or plaintext-only (for organizations that manage encryption at the infrastructure layer).
Server-level feature flags let you enable or disable voice, automations, social, attachments, bug report uploads, embedded terminal, session handoff, and more — all via environment variables, advertised to clients at runtime so the UI adapts automatically.
Rate limiting, file transfer size limits, session retention policies, and a diagnostics endpoint with configurable access control (owner-only or all authenticated users) are all included. Deployable via Docker, with PostgreSQL, SQLite or MySQL as the database backend.
## Security & Privacy
Happier is designed with privacy as a foundation, not an afterthought.
- **End-to-end encryption**
Built using modern cryptography (TweetNaCl).
- **Zero-knowledge architecture**
Your code is encrypted on your devices before it ever hits the wire.
Servers cannot read your data. Encryption keys never leave your devices.
- **Built with love from Switzerland**
Developed in Switzerland, with a strong focus on data protection and developer transparency.
## Livin' on the edge (nightly dev builds)
If you are feeling adventurous, you can use our nightly dev builds (or run from source).
In that case, you **must** run everything from the dev releases (CLI, app, daemon **and** server). The hosted Happier Cloud server (app.happier.dev / api.happier.dev), is running the `preview` channel currently, so not all the `dev` features might be available from it.
Please note that **`dev` can be high