Kilo · kilo

Kilo CLI on your phone, laptop and browser

One open-source app for Kilo and the twelve other command-line coding agents you might have installed.

How Happier runs Kilo CLI

Kilo is an experimental provider in Happier, and this page says so up front rather than at the bottom. What that means in practice is narrow: the install is an ordinary npm package, the session is an ordinary subprocess, and the parts people install Happier for — transcript, diffs, approvals on every device — are the ordinary ones. It does mean the provider sits behind the experimental rollout in the app’s provider settings, so it is a switch you turn on rather than a row that is already there.

Kilo’s own pitch is orchestration — “plan, debug, and code fast with keyboard-first navigation on the command line”, with Architect, Ask, Debug and Orchestrator modes and its own gateway to a large model catalogue. Happier does not put a model in front of any of that; what it does is speak the same permission dialect Kilo already understands. Approvals arrive as an OPENCODE_PERMISSION object in the environment of the process, the same one the OpenCode family reads, so a Read-only or Safe YOLO choice made on a phone is enforced by the CLI’s own policy rather than by something guessing on its behalf.

One approval detail is worth knowing before it surprises you. When you allow a Kilo tool call, Happier picks the “allow for this session” option rather than “allow once”, because the once-only choice was observed to leave the tool call hanging. The other thing to expect is the first start: Kilo can install plugins and fetch model metadata the first time it comes up over the protocol, so the launch is given ninety seconds before it is called a failure, and if the plugin step is what failed you are told to run kilo once in a terminal instead of being shown its stderr. Its login is a slash command too — the provider page opens Kilo and sends /connect.

What Kilo CLI does, and what Happier adds

Kilo CLI is a terminal coding agent installed as an npm package. happier kilo runs it in your repository under your own Kilo account, as a plain subprocess on your computer.

From there it behaves like everything else in Happier: the transcript, the diffs and the approval requests are on every device you are signed in on, and the code never leaves the computer the agent is running on.

happier kilo

Read, approve and answer Kilo CLI from any device

The iOS and Android apps, the desktop app for macOS, Windows and Linux, and app.happier.dev are all clients onto the Kilo CLI process running on your computer — not read-only mirrors. Answer a permission request, send the next instruction, browse the repository, read the diff. The transcript is end-to-end encrypted before it leaves your computer, so the server carrying it holds ciphertext.

Happier can install Kilo CLI for you

Happier installs on the computer that already holds your repository, and happier kilo starts Kilo CLI there as an ordinary subprocess, in the directory you point it at, signed in the way you signed it in. There is no gateway between the agent and Kilo, and no copy of your source anywhere else.

Happier looks for kilo on your PATH first and runs the copy you installed. If there is not one, it can install @kilocode/cli into ~/.happier/tools/providers/kilo/ — its own directory, not your global npm prefix. A copy you manage yourself is never replaced or upgraded behind your back.

Kilo’s own page for Kilo CLI is at kilo.ai/docs/cli. Happier does not mirror it, because a copy of someone else’s install instructions is a copy that goes stale.

Configuration reference for the Happier side — Kilo CLI in the Happier docs.

One app for Kilo CLI and 12 other agents

Kilo CLI is one of 13 command-line coding agents Happier runs, and they share one session list, one permission inbox, one set of keyboard shortcuts and one MCP configuration.

You define an MCP server once, and because Kilo CLI does not consume MCP directly, Happier hands the same tool surface to it through the happier tools shell bridge instead — the same tools, delivered as commands it can run. The app previews the effective tool surface before a session starts, so which one you got is visible rather than inferred.

That matters most on the days you are running more than one: sessions from different vendors side by side, and a notification tap opening the session that raised the request rather than the app’s front door. The full list is here.

The same Kilo CLI session in your terminal and in the app

Typing happier kilo in a terminal starts the session right where you are standing, and the same session is in the app at the same time. What you read in that shell is Happier’s own display of the session — the transcript, the permission prompts, the tool output — rather than Kilo CLI’s interface. Nobody has to give up the terminal to get a phone client.

There is no hand-off to Kilo CLI’s own TUI. That exists for Claude Code, Codex and OpenCode, and for Kilo CLI the session stays Happier’s on both ends. happier attach <session-id> lists the sessions on that computer and marks the ones it cannot reattach, rather than failing after you pick one.

The attach guide lists the cases instead of promising all of them.

Questions about running Kilo CLI through Happier

How does Kilo get onto my computer?
From the @kilocode/cli package. If kilo is already on your PATH, Happier runs that; if it is not, Happier can install the package into ~/.happier/tools/providers/kilo/ and keep it out of your global npm prefix.
Does Happier replace Kilo’s own settings?
No. Kilo keeps its configuration where Kilo keeps it. What Happier owns is the session layer around it — permission defaults, MCP servers, engine selection — and those are documented on the Kilo page in the Happier docs.
Can I use Kilo from a browser?
Yes. app.happier.dev is a full client, including the file browser and the diff view, so a locked-down laptop with nothing installed on it can still read and steer a session running elsewhere.
How is this different from SSH into a tmux session?
It is not trying to replace it. tmux over SSH is fine when you have SSH and a keyboard. This is for the times you have a phone and a five-minute gap: a touch UI for approvals, diffs and follow-up instructions rather than a terminal you pinch to zoom.
Who can see my sessions?
You, on your own signed-in devices, plus anyone you deliberately share a session with. The transcript is end-to-end encrypted, so the server carrying it — ours or your own — is holding ciphertext.

Get Kilo CLI onto your phone in two commands

One command on the computer that holds your code, then happier kilo in the repository you want to work in.

curl -fsSL https://happier.dev/install | bash

Walkthroughs are in the guides. All of it is MIT-licensed, and the relay is one you can run yourself.