mrkeyoor.com_
Mon 14 Sept 06:09 UTC
Dev Toolsevaluationupdated 14 Sept 2026

happy review

Happy is an open-source mobile, web, and macOS client for controlling Claude Code or Codex sessions running on your computer. It solves the practical problem of checking progress, answering permission prompts, and switching control between your desk and another device without sending code across the network unencrypted.

trackingstars / 7d
Verdict

Our source install failed after 8 seconds with a pnpm configuration conflict across 9 workspaces. Happy is still one of the more coherent answers to controlling Claude Code or Codex from a phone, with encrypted sync, push alerts, and clients for the major personal-device platforms. Use the packaged apps and CLI if that workflow matters, but treat a source deployment as an engineering project until the install conflict is clarified.

We ran it

Install✗ · 8s
Build
Repo2178 files~231,243 lines of source · 140.3 MB · 5 CI workflows · Dockerfile

Answers from our run

Does happy build from source?

The dependency install failed, and the project has no separate build step. We cloned commit 108a337 into a clean Debian container with 3 CPUs and no project-specific setup.

Who should not use happy?

Anyone seeking a standalone coding agent, because Happy wraps Claude Code or Codex rather than replacing them

What are the alternatives to happy?

code-server, tmux. Our source install failed after 8 seconds with a pnpm configuration conflict across 9 workspaces.

Setup2/5Source install failed in 8 seconds with a pnpm config conflict
Docs4/5Clear quick start, architecture summary, and linked documentation
Community4/523,777 stars and a same-day push, offset by 1,008 open issues
Maturity3/5Multi-platform product, but source onboarding failed in our run

Who it’s for

Developers who already use Claude Code or Codex and want to monitor sessions away from their desk
People who need push notifications for permission requests or agent errors
Teams and individuals willing to inspect or self-host an open-source encrypted sync stack
macOS, iOS, Android, and web users who want several client choices

Who it’s NOT for

Anyone seeking a standalone coding agent, because Happy wraps Claude Code or Codex rather than replacing them
Developers who need a source checkout to install cleanly without troubleshooting pnpm configuration
Risk-averse production teams that require a small, clearly triaged issue queue
People satisfied with SSH or a terminal multiplexer and no mobile notifications

Setup reality

Our install failed with exit 1 after 8 seconds across all 9 workspace projects, before we could establish a build or test result. pnpm repeatedly reported ERR_PNPM_CONFIG_CONFLICT_BUILT_DEPENDENCIES because both neverBuiltDependencies and onlyBuiltDependencies were present; it also warned that dangerouslyAllowAllBuilds was true. That makes source setup materially rougher than the README's simple npm install -g happy path suggests, although our measurement covered a fresh repository checkout in a Debian container, not the published global package or an app-store install.

Happy turns a desk-bound agent into a device-spanning workflow

Happy is not another model or a replacement for a coding agent. It is a control layer around Claude Code and Codex, aimed at the awkward moments when a long-running session needs attention while you are away from the keyboard. The repository describes mobile, web, and macOS clients, plus a CLI wrapper, agent-control tooling, and a backend for encrypted synchronization. At 23,777 GitHub stars, this is no obscure experiment, but the value proposition remains pleasingly narrow: keep an existing coding session within reach.

The basic workflow is easy to understand in 3 steps: install an app, install the happy CLI, then launch happy claude or happy codex instead of the underlying command. Happy says a session restarts in remote mode when you take control from the phone, and pressing a key on the computer returns control locally. That handoff is more useful than a generic remote desktop when the only thing needing attention is an agent asking for permission or reporting an error.

Our install stopped at the workspace configuration

Our run used commit 108a337 in a fresh, unprivileged Debian container with 3 CPUs, 8 GB of RAM, no secrets, and the lab-node:22 image. The checkout contained 2,178 files, about 231,243 lines of source, and occupied 140.3 MB. It is a TypeScript monorepo using pnpm, with 9 workspace projects, so source contributors are dealing with a substantial multi-client system rather than a small command-line wrapper.

The install failed with exit code 1 after 8 seconds. pnpm repeatedly emitted ERR_PNPM_CONFIG_CONFLICT_BUILT_DEPENDENCIES, stating that neverBuiltDependencies and onlyBuiltDependencies cannot both be configured. The log also warned that dangerouslyAllowAllBuilds was set to true and that packages listed under neverBuiltDependencies would run scripts. That is the concrete failure we saw; the log does not establish why those settings coexisted, so assigning the problem to pnpm, the container, or a repository mistake would be guesswork.

Because installation did not complete, our run did not produce a successful build or test result. We measured 5 CI workflow files and found a Dockerfile, monorepo workspaces, and no tests directory, but the absence of that directory is not proof that the codebase has no tests. The fair conclusion is narrower: a clean source checkout did not reach a runnable state on our box, and maintainers or contributors may need to resolve the pnpm policy conflict before judging anything later in the pipeline.

The strongest features match real agent pain

Happy's best feature is not remote viewing, but interruption handling. Push notifications can surface permission requests and errors, which matters when a coding task runs for more than a few minutes and cannot safely proceed unattended. The README also promises instant device switching and end-to-end encryption, while explicitly saying code never leaves devices unencrypted. Those are the right priorities for a tool sitting between a developer, a workstation, and an agent with access to source files.

Platform coverage is another concrete strength. The project links an iOS app, Android app, web app, and a native macOS desktop app, while its component map separates Happy App, Happy CLI, Happy Agent, and Happy Server. That 4-client surface gives users a practical fallback when one device is unavailable, and the MIT license makes inspection and adaptation possible. The separate server component also clarifies that encrypted sync is part of an actual architecture, not merely a mobile shell around a terminal webpage.

Source onboarding and scope are the rough edges

The README makes packaged use look approachable with npm install -g happy, but that is not the same task as installing all 9 projects from source. Our failed workspace install exposes a gap for contributors and prospective self-hosters: the quick start does not, in the supplied excerpt, prepare readers for conflicting pnpm build-dependency policies. The warning involving dangerouslyAllowAllBuilds also deserves a precise explanation because dependency scripts are a sensitive boundary in developer tooling.

Happy also increases the number of moving parts around tools that already have their own authentication, permissions, and session behavior. A mobile app, CLI wrapper, remote-control agent, encrypted server, and optional desktop client create more operational surface than SSH plus tmux. That complexity may be justified for notifications and polished handoff, but teams should review threat boundaries and recovery behavior before putting the system near sensitive repositories. The README's no-telemetry and no-tracking claims are welcome, yet security-conscious adopters should verify the 140.3 MB codebase rather than treating an open-source label as an audit.

Active development is clear, issue resolution is not

Project activity looks strong in this snapshot. The repository was pushed on 2026-09-14, the same date as our review, and the latest listed release was cli-1.2.3 on 2026-09-05. Combined with 23,777 stars, that points to current development and significant attention. A single release timestamp cannot establish a reliable cadence, however, so it would be unfair to promise frequent releases from this data alone.

The 1,008 open issues are the counterweight. That number may reflect a large user base, fast development, feature demand, duplicate reports, or slow triage, and the supplied data does not tell us which. It does mean buyers should search the tracker for their operating system and agent before depending on Happy. The healthiest reading combines both facts: code was pushed today, so the project is plainly active, but the four-digit queue leaves support responsiveness and backlog quality unresolved.

It belongs beside the agent, not at the center of the stack

In a real setup, Happy sits between a developer's devices and an existing Claude Code or Codex session on a workstation. It does not replace source control, CI, secrets management, code review, or the underlying agent. Keep those normal controls intact, limit the workstation credentials the agent can reach, and treat mobile approval as a convenience rather than permission to let tasks run without supervision. For simple reconnection, tmux over SSH has fewer pieces; for a complete browser editor, code-server offers a broader remote workspace.

Alternatives

ProjectWhat it isPick it when
code-server gh↗Runs a browser-accessible VS Code environment on a remote machine.Pick this instead when you want a full remote editor rather than a focused companion for Claude Code or Codex.
tmux gh↗Keeps terminal sessions alive so you can reconnect through SSH.Pick this instead when terminal access is enough and you do not need mobile push notifications or app-based handoff.

What people are saying

  1. [velocity-scout] slopus/happy
  2. [producthunt] Happy Shrimp

Sources

  1. slopus/happy on GitHub
  2. Happy homepage and documentation

More dev tools reviews

OCRmyPDF · sharp · Kingfisher · mypy · act · ligolo-ng · the whole board →