Requirements
| Mac | macOS 13 Ventura or newer. Apple Silicon recommended; Intel Macs from 2017 onward work but are noticeably slower to install and to run fixes. |
|---|---|
| Memory | 16 GB recommended, 8 GB minimum. A fix in progress means an agent session, a Chrome window for verification, and your own dev server all running at once. |
| Disk | About 10 GB free. Keanu is small, but each fix runs in its own copy of your repository, dependencies included. |
| Google Chrome | Needed for two things: reading Gmail, and checking a fix in a real browser before it reaches you. Without Chrome, Keanu still fixes code and runs your tests, but the browser check is skipped and Gmail is unavailable. Install it if you want either. |
| Coding agent | Claude Code or Codex, at least one; you pick at install. Keanu's agents run on your account: any paid Claude plan that includes Claude Code, or a ChatGPT plan with Codex or an OpenAI API key. Billed by Anthropic or OpenAI, separately from Keanu. |
| GitHub and/or Gmail | At least one. GitHub: Keanu reads issues and issue comments and opens pull requests as you, on repos you already have access to. Gmail: the inbox your clients write to; Keanu reads it through a Chrome profile it owns and writes reply drafts there. It never sends mail. The installer asks before each sign-in, and keanu login github or keanu login gmail adds the other one later. |
Linux and Windows are not supported. The installer and keanu doctor check memory, chip, and disk and tell you when a machine is under the recommended spec.
The install command
curl -fsSL https://www.heykeanu.app/install.sh | bash The script is short and you can read it first at /install.sh. It downloads a release for your Mac's CPU, verifies its checksum, extracts it under ~/.keanu, and hands off to the installer inside. Nothing else on your system is touched except ~/Library/LaunchAgents, ~/.claude or ~/.codex (whichever agents you pick), and a keanu command in /usr/local/bin.
What the installer does
- Asks for the email you used at checkout and emails you a 6-digit code. This signs you in and installs your license.
- Installs anything missing: Xcode Command Line Tools, Homebrew, the GitHub CLI, cloudflared, and the coding agent you pick: Claude Code, Codex, or both (press Return for both). Steps already done are skipped. Homebrew needs your Mac password once; the installer asks for it before starting that step. If macOS shows its own Command Line Tools dialog, click Install, wait for it to finish, then run the install command again.
- Sets up
~/.keanuwith a data directory and thekeanucommand. - Sets up browser tools for each agent (the Playwright plugin and the
/eyesskill in Claude Code, a Playwright server in Codex), which is how fixes are verified in a real browser. - Walks through the sign-ins: each agent you picked, then GitHub, then Gmail. See below for what each one asks.
- Registers Keanu to start at login and opens the dashboard.
The sign-ins
At least one coding agent has to be signed in, since that is what runs the fixes. GitHub and Gmail are each optional, but Keanu needs at least one of them to receive work. The installer asks before starting each sign-in. Skip one now and add it later with keanu login claude, codex, github or gmail.
Codex. Pick how to sign in: your ChatGPT account (a browser window opens) or an OpenAI API key, which you paste into Terminal; it is not shown on screen or written to the install log.
Claude. A browser window opens on claude.com. Sign in, click Continue, and the page shows a code. Copy it, paste it into the Terminal window after "Paste code here", and press Return.
GitHub. The GitHub CLI asks one question about SSH keys before it opens the browser. Which question depends on whether this Mac already has one:
- No SSH key yet (a new Mac): it asks "Generate a new SSH key to add to your GitHub account?". Answer Y. An empty passphrase is fine; macOS keeps the key in your Keychain. The key is added to your GitHub account as part of the sign-in.
- A key already in
~/.ssh: it asks which public key to upload to GitHub, with Skip as an option. Pick the key if it is not on your account yet, or Skip if it already is.
Then press Return to open github.com, enter the one-time code it shows (already copied to your clipboard), and approve. The installer checks that ssh to github.com works afterwards and tells you if it does not.
Gmail. Only if Google Chrome is installed. A Chrome window opens for you to sign in to the mailbox Keanu will scan. Skipped otherwise; run keanu login gmail once Chrome is installed.
Every step checks its own state, so re-running the command after a failure resumes where it stopped.
First run
The dashboard opens at http://localhost:3003. Set an admin email and PIN, then add your first project by pointing Keanu at a folder that contains a git repo. It detects the GitHub remote, the framework, and how to start the dev server, and asks you to confirm.
To hand Keanu a GitHub issue, add the keanu label to it. Only labelled issues are picked up, so the rest of your tracker is left alone; the label name can be changed per project in Settings. Client emails need no label: anything from the senders you listed for the project is read on the next scan. New work shows up under Pending Approval on the board with an investigation attached: a read-only session has already searched the code for the capability, read the attachments, and, if your dev server was up, tried the client's steps. The finding sits above Approve, so a feature that already exists gets a reply instead of a fix run. Nothing changes code until you approve.
The keanu command
keanu status | Version, whether the dashboard is running, license state, agents. |
|---|---|
keanu doctor | Checks every requirement and prints a fix for anything that fails. Start here when something is wrong. |
keanu open | Opens the dashboard in your browser. |
keanu logs -f | Follows the dashboard log. |
keanu start / stop / restart | Controls the background service. |
keanu update | Installs the newest release. Add --check to only look. The previous version is kept. |
keanu rollback | Switches back to the previous version. |
keanu login claude / codex / github / gmail / keanu | Re-runs one of the sign-ins. |
keanu license show / refresh | Shows or renews your license. |
keanu uninstall | Removes the app and background service. Add --purge to also delete your data and the Gmail profiles. |
Updates and your license
Your license is a signed file on your Mac and is valid offline. It renews itself once a day while your subscription is active, and there is a 14-day grace period if a renewal is missed. If your subscription ends, the dashboard stays readable and new agent runs pause until you renew.
What stays on your machine
Your code, your clients' emails, and your repositories never leave your Mac through Keanu. The only calls Keanu makes to us are the sign-in, license renewal, and update download. The agents themselves talk to Anthropic or OpenAI through your own Claude Code or Codex login, under your own account and terms. Every one of these claims, and what Keanu can and cannot do without you, is traced to the file that enforces it on Verify it yourself, including how to try the install in a throwaway VM first.
Uninstall
keanu uninstall # keeps ~/.keanu/data and the Gmail profiles
keanu uninstall --purge # removes everything Help
Run keanu doctor, then email hello@heykeanu.app with its output.