Command line (CLI)one command, the same rules as the app.
wakato — your account and every space you run from a terminal: sign in in the browser, run any action agents have, build apps and pages in your own editor, script it in CI.
npm install -g wakato
wakato login
wakato contacts list --limit 5Needs Node.js 18.17 or newer. npx wakato … works without installing.
Sign in
wakato login opens Wakato's approval page in your browser — the same one Claude and ChatGPT use. Pick your whole account or the spaces you choose, and what it may do, then press Allow. You land back in the terminal, signed in.
- The sign-in is kept in your Mac's Keychain (Linux: the Secret Service; anywhere else, a file only you can read in
~/.config/wakato). - It is listed in Backstage → Connected apps as Wakato CLI. Disconnect it there, or run
wakato logout. - Inside a space, the CLI works with a key it makes once per space, named "Wakato CLI ·" followed by your computer's name. Disconnecting the CLI, or narrowing what it may do, takes every such key back.
On a machine with no browser — CI, a server, an agent's computer — give it a key instead:
export WAKATO_API_KEY=wks_live_… # a space key: commands in that key's space
export WAKATO_API_KEY=wka_live_… # an account keyCommands
The CLI's commands are the actions Wakato lists for your sign-in — the same tools agents use over MCP — so a new Wakato feature is a new command without updating anything. Each has two names:
wakato list_contacts # its own name (dashes work too: list-contacts)
wakato contacts list # the thing, then the verbFind one:
wakato help # every area you can work in
wakato help commerce # what is in one area
wakato help --search invoice # search every command
wakato invoice create --help # what it does and its optionsWhich space
wakato spaces # your spaces; ● marks where commands act
wakato spaces use "Acme Bakery"
wakato tasks list --space "Downtown Studio" # another space, this onceAccount commands — domains, phone numbers, money between spaces, your notes and Shelf — run on your account. When a name exists both in a space and on your account, put me first: wakato me wallet get.
Options
Options come from the command's own list (--help shows it):
| Write | Means |
|---|---|
--due-date 2026-10-20 | text, numbers, dates |
--tags vip,b2b | a list |
--values '{"stage":"won"}' | an object, as JSON |
--body @notes.md | a text option read from a file (@@ for a literal @) |
--args '{…}' | every argument as JSON |
The first required text option can be written without its name: wakato task create "Call Sam".
Everywhere
| Flag | Does |
|---|---|
--json | prints exactly what Wakato returned |
--yes, -y | doesn't ask before changes that can't be undone |
--space <name> | runs in another space this once |
--env dev | Wakato's dev project |
--refresh | fetches the command list again |
Deleting, buying, sending and publishing ask you to type yes. Without a terminal (a script) they refuse unless you pass --yes.
Apps and pages in your own editor
wakato apps pull "Order Board" # → ./order-board
wakato apps dev order-board # every save goes to the app
wakato apps push order-board --note "Bigger pickup times"
wakato apps publish order-board
wakato pages pull Home Menu --dir site # or --all
wakato pages push site --publishAn app folder holds app.html (its code), schema.json, guide.md (its guide for agents) and files/ for a multi-file app. A page is one .html file.
- A pulled folder remembers where it came from in
wakato.json. - A push checks Wakato's copy first. If someone changed the app or page since you pulled it, the push stops and says so instead of writing over their work.
--forcereplaces it on purpose. - Every push lands in the History the app or page already has, credited to you.
apps devrefuses a published app unless you pass--live: every save would reach the people using it.
Scripts, CI and agents
# .github/workflows/site.yml — publish the site on every merge
on: { push: { branches: [main] } }
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx wakato pages push ./site --publish --yes
env:
WAKATO_API_KEY: ${{ secrets.WAKATO_API_KEY }}wakato shop orders list --status paid --json | jq '.[0]'
wakato logs automation "New customer" --followAn agent with a shell can use the CLI instead of loading MCP tools: a command costs nothing until it runs, and wakato help --search finds what it needs. An agent's key keeps its own rules — an action it must ask before doing waits for approval in its chat.
What stays out
- Unlocking something locked — owners and admins do it in Space Settings → Locks.
- Signing in to other services (Google, Instagram, a bank) happens in the browser, never in the terminal.
- Your password, plan, payment card, deleting your account — on the website and the phone.
- Phone-only things — recording notes, the phone's own connectors.