Documentation
Everything to install Kaivo CLI, sign in and use it every day.
Install
Windows
Windows 10 or 11, 64-bit, and PowerShell (installed with Windows).
In PowerShell, not in the Command Prompt:
irm https://kaivoia.site/install.ps1 | iexThe program goes into C:\Users\<you>\.kaivo\bin, at the front of your PATH.
macOS
macOS on Apple Silicon or Intel, with curl (present by default).
In the Terminal app:
curl -fsSL https://kaivoia.site/install.sh | bashThe program goes into ~/.kaivo/bin and is added to your PATH. This version hasn't been tested by the team yet.
Linux
Linux x64 or ARM64, with wget or curl. On Ubuntu, wget is already there; add curl with sudo apt install -y curl.
In your terminal:
wget -qO- https://kaivoia.site/install.sh | bashThe program goes into ~/.kaivo/bin and is added to your PATH. Tested on Ubuntu (WSL, 24.04).
Prefer to download the file? Go to the downloads page.
Sign in
- Open a terminal in your project folder.
- Type
kaivo. On first launch, your browser opens on the Kaivo sign-in page. - Sign in and confirm. Go back to the terminal: Kaivo CLI is ready.
No API key needed. kaivo login, kaivo whoami and kaivo logout manage the session. If you already have a key with a provider (OpenAI, Anthropic, Gemini, Groq…), set its environment variable: Kaivo CLI will use it too.
Check the installation
kaivo -vShould print 1.15.0. kaivo whoami shows your e-mail, and /usage in Kaivo CLI opens your usage limits. When in doubt, run kaivo doctor.
Commands
Commands starting with / are typed in Kaivo CLI’s message box. The others run from your terminal. For a detailed explanation with a terminal example for each one, open the commands page.
/newalso /clear
Starts a new, empty conversation. The previous one is saved and can be reopened with /sessions.
/sessionsalso /resume
Opens the list of your saved conversations so you can resume one, with its whole history.
/renameRenames the current conversation so you can find it easily.
/rename Mobile cart fix/exportWrites the conversation to a Markdown file (automatic name, or the one you give).
/export notes.md/copyCopies Kaivo's last answer to the clipboard.
/recapAsks Kaivo for a short recap: what was done, what is left, the decisions made.
/compactSummarises the conversation and continues in a new session that starts from that summary, to free up room without losing the thread. Kaivo also does it on its own near the limit.
/initKaivo analyses the project and writes Kaivo.md: test commands, code style, conventions. It reads it again at every launch.
/planAsks for a detailed plan before acting. Kaivo reads the project but changes nothing and runs no command that changes anything.
/plan add e-mail sign-in/goalGive a goal: Kaivo splits it into short steps, does them one by one and asks for your approval before each change.
/goal add a dark mode/explainExplains a file, a function or a folder in plain words: what it's for, how it works, the tricky parts. Changes nothing.
/explain src/lib/session.ts/fixDescribe a problem: Kaivo looks for the cause by reading the code, explains it in one sentence, then proposes the smallest possible fix.
/fix the button doesn't respond on mobile/commitKaivo looks at your changes, proposes a clear commit message and only commits if you agree.
/todoFinds every TODO, FIXME and HACK in the project and lists them by file, with a suggested priority.
/memoryShows Kaivo.md, the project's memory, or offers to create it if it doesn't exist.
/quickalso /rapide
Quick chat for small scripts (Python, Lua/Luau for Roblox, Bash…). Kaivo answers without tools: it neither reads nor changes your project. A QUICK badge shows in the status bar; /quick again to go back to normal mode.
/quick a Python script that renames every .jpeg to .jpg/mcpalso /plugin, /plugins
Connects Kaivo to other tools through MCP servers: Roblox Studio, a browser, library documentation… /mcp add roblox installs it in one command (Node.js required). Restart kaivo after adding one; every tool of a plugin asks for your approval.
/mcp add roblox/skillsLists the installed skills (in the project's .kaivo/skills and in ~/.kaivo/skills) and reminds you how to add some. Each skill also runs with /skill-name.
/create-skillYou describe what the skill should do, Kaivo writes its folder and SKILL.md. Add --global so it works in all your projects.
/create-skill review a REST API and flag security mistakes/add-skillInstalls an existing skill from a folder, a SKILL.md file or a link (GitHub links work). Add --global to keep it for all your projects.
/add-skill ./my-skills/api-review/imageAttaches the image in your clipboard to your message (screenshot, mock-up, error). Shortcut: alt+v. You can also drop an image file into the terminal. Requests with an image go through a free model that can read images.
/filesOpens the file picker to attach an image to your message.
/diffKaivo runs git status and git diff, then summarises the current changes file by file.
/reviewalso /code-review
Reviews your current changes and flags likely bugs, things forgotten and improvements, most important first. Changes nothing.
/security-reviewSecurity review: hard-coded secrets, injections, unchecked input, risky dependencies, wrong permissions. Ranked by severity, with a fix for each problem.
/simplifyReviews recently changed code and simplifies it without changing what it does: dead code, repetition. You see the changes before they're applied.
/verifyFinds and runs the build, lint and test commands, then summarises what passes, what fails and the likely cause of each failure.
/runFinds out how to start the project, starts it, then tells you what shows up and whether everything seems to work.
/modelOpens the model picker. With your Kaivo account the model is chosen for you; if you set your own keys (OpenAI, Anthropic…), you choose here.
/themeOpens the terminal colour theme picker.
/readonlyTurns read-only on or off during the session: no more changes or commands. Accepts on or off; without an argument, it toggles.
/readonly on/custom-keyAdds your own API key: OpenAI, Anthropic, Gemini, Groq, OpenRouter, xAI, Mistral, DeepSeek, or any OpenAI-compatible API. When the Kaivo model reaches its limit or is overloaded, Kaivo retries the request with your key, on its own. The key stays on your computer (~/.kaivo/keys.json); requests are billed by your provider.
/bypassNo human approves anything any more: Kaivo changes your files and runs commands without asking. A red BYPASS badge stays in the bottom bar. Keep it for a project under Git. /bypass off to go back; turning it on leaves read-only.
/bypass on/permissionsOpens a window that explains the three modes (normal, read-only, bypass) and marks the active one.
/statusOpens a window with the session status: version, signed-in account, model, permission mode, working folder and context used.
/statsOpens a dashboard of your activity: sessions, messages, tokens, active days, current and best streak, with an activity calendar. It also shows on the home screen. The numbers come from your sessions saved on this computer.
/usagealso /cost, /context
Opens a window right away: your account, your usage limits (one bar for the 5-hour session and one for the week, with the reset time), the cost of the conversation, the context used and your project's activity.
/doctorRuns the installation check and opens the full report in a window: running program, sign-in, network, tools.
/updateLooks for and installs the latest version, then asks you to quit and restart kaivo to use it.
/versionShows the installed version of Kaivo CLI.
/configOpens a window that shows where the configuration files, the project memory and your session are.
/loginOpens your browser to sign in to your Kaivo account.
/signupOpens your browser on the Kaivo sign-up page, then signs you in.
/logoutDeletes the session saved on this computer.
/whoamiShows the signed-in Kaivo account.
/helpalso /?, /commands
Opens the list of every command (the palette), including your custom commands. Pick one to run it.
/docsOpens the Kaivo CLI documentation in your browser.
/feedbackalso /bug
Prepares an e-mail to the team, with the Kaivo version in the subject. Tell us what works and what doesn't.
/logsOpens the application logs, useful to understand unexpected behaviour.
/quitalso /exit
Quits Kaivo CLI, after confirmation.
kaivoStarts Kaivo CLI in the current folder. If you aren't signed in, a screen offers to sign in or create an account.
kaivokaivo loginOpens the sign-in screen: Sign in or Create an account, then finish in the browser.
kaivo loginkaivo signupOpens the sign-up page directly in your browser.
kaivo signupkaivo logoutDeletes the session saved on this computer.
kaivo logoutkaivo whoamiShows the e-mail address of the signed-in account.
kaivo whoamikaivo -pHeadless mode: one question, one answer, then the program stops. Every permission is accepted automatically: add --read-only if you want it to change nothing.
kaivo -p "Explain what main.go does"kaivo -p -f jsonSame thing, with JSON output for your scripts.
kaivo -p "List the config files" -f jsonkaivo --bypassStarts Kaivo straight in bypass mode: no approval requests. Same precautions as /bypass (project under Git, right folder).
kaivo --bypasskaivo --read-onlyRead-only: Kaivo reads and analyses your project but can neither change a file nor run a command, even with -p. Ideal to audit a project or in a script.
kaivo -p "Audit this project" --read-onlykaivo doctorChecks the installation: conflicting command in the PATH, sign-in, access to the site, tools and language servers found. Exits with an error code if it finds a real problem.
kaivo doctorkaivo -updateUpdates Kaivo automatically: downloads the latest version, checks its SHA-256 fingerprint and replaces the program. Same as kaivo update; add --check to only check.
kaivo -updatekaivo -cStarts Kaivo CLI in another folder.
kaivo -c ./my-projectkaivo -dTurns on debug logs.
kaivo -dkaivo -vShows the installed version.
kaivo -v
Modes
Interactive — kaivo. You chat, Kaivo CLI acts, and every sensitive action asks for your approval.
Headless — kaivo -p "your question" answers once then stops, with -f json for JSON output. In this mode, every permission is accepted automatically: keep it for tasks whose scope you know.
Read-only — --read-only, with or without -p. Kaivo CLI can read and search your project, but any file write and any command is denied, even with -p.
kaivo -p "Look for hard-coded secrets in the code" --read-onlyDoctor and update
kaivo doctor checks the installation: the running program, a conflicting “kaivo” command in the PATH, your sign-in, access to the site, and optional tools found (git, ripgrep, fzf, language servers). It exits with an error code if it finds a real problem, so you can use it in a script.
kaivo -update (or kaivo update) downloads the latest version for your system, checks its SHA-256 fingerprint and replaces the program. kaivo -update --check only tells you if a new version exists.
Permissions
Kaivo CLI works in the folder where you started it. Before changing a file or running a command, it shows you the action: Allow, Allow for the session or Deny. “For the session” applies to the same action (same tool, same folder) until the session ends.
Start it in the right project, not at the root of your disk, and keep your project under version control. See also the privacy policy and the terms.
Configuration
Kaivo CLI reads ~/.kaivo.json (global) then ./.kaivo.json (in the project). It also reads Kaivo.md at the root of the project: create it with /init to keep your test commands and code style there.
To let it see your editor's errors, declare a language server:
{
"lsp": {
"go": { "command": "gopls" },
"typescript": { "command": "typescript-language-server", "args": ["--stdio"] }
}
}Troubleshooting
“irm is not recognized”
You're in the Command Prompt (cmd). Open PowerShell and run the installation again.
“kaivo” is not found after installing
Open a new terminal: the PATH is only read by new windows. Then run kaivo doctor.
Another program or an old version opens
An old “kaivo” command is higher in your PATH. kaivo doctor tells you which one (where kaivo on Windows, which -a kaivo elsewhere). The installer puts the right folder first: close the terminal and open a new one.
The browser doesn't open to sign in
The sign-in address is also shown in the terminal: copy it into your browser. It expires after 10 minutes; then run kaivo login again.
“session expired” or “not signed in”
Run kaivo login to sign in again.
“the model is very busy”
The model is briefly overloaded. Try again in a moment.
Windows warns about a manually downloaded file
The file isn't digitally signed yet. Compare its SHA-256 fingerprint with the one on the downloads page before running it. The install command doesn't trigger this warning.