All agent CLIs
Kimi Code in NeuroSquad

Kimi Code,with a canvas around it

Run as many Kimi Code agents as you need, each in its own card with Kimi’s real TUI. Kimi’s own hooks tell NeuroSquad when each is working, waiting on you or finished; arrows hand it terminals, notes and other agents; its sessions and tokens stay in view.

Official sitekimi.com/code/en
  • The real kimi CLI, your own login
  • Nothing written to ~/.kimi-code
  • Free, for Windows 10 and 11
Lifecycle hooks

It knows when Kimi is done — and when it’s asking

A quiet terminal can mean “finished” or “waiting for your permission”. NeuroSquad doesn’t guess: each card’s config carries Kimi Code’s own hooks, and they report every turn.

UserPromptSubmithook
Working

You press Enter. The card’s icon spins, the Squad status card counts it as working, and the toast from its last question is taken down.

PermissionRequesthook
Needs you

Kimi asks before a command. The toast leads with Kimi’s own words — Running: rm -rf dist — and stays until you answer.

Stophook
Finished

The turn is over. The next queued prompt goes out, the journal gets the answer, and a toast says it’s done. Esc sends Interrupt instead — also finished.

Questions and plans count too

When Kimi asks a question (AskUserQuestion) or wants its plan approved (ExitPlanMode), the card waits on you the same way.

Order is kept

Kimi fires some hooks without waiting, and a fast turn’s TurnStarted can arrive after its Stop. The card opens a turn on UserPromptSubmit, so it never sticks on “working”.

Your hooks stay yours

The card’s config is your own config.toml, verbatim, with NeuroSquad’s hooks appended. Hooks you set up still run.

Watch it work

Three things you’ll do with Kimi Code

Replicas of the app, played step by step. When Kimi asks, the answer is yours.

Kimi Code fixes a failing test through a terminal card, stops to ask before deleting a folder, and finishes — the journal writes itself.

Everything it gets

Everything Kimi Code can do in NeuroSquad

Measured on Kimi Code 2.1.1. Most of it is Kimi’s own — hooks, MCP, sessions. Where NeuroSquad had to build something, or Kimi can’t do it, the card says so.

  • 01

    Knows its state

    Kimi Code’s own hooks report every turn, question and failure, so nothing is guessed.

  • Finished and waiting are different

    Each card’s config carries Kimi’s hooks: UserPromptSubmit marks it working, PermissionRequest — waiting on you, Stop — finished.

    Docs: Finished and waiting are different
  • A notification that says what it needs

    The toast leads with Kimi’s words — Kimi Code needs your permission: Running: …, Kimi Code is asking: …, or its plan to approve. It stays until you answer.

    Docs: A notification that says what it needs
  • Failures and interrupts

    StopFailure ends a turn that failed and Interrupt one you stopped with Esc — the card never hangs on “working”.

    Docs: Failures and interrupts
  • Built by NeuroSquad

    Sessions that survive a restart

    Kimi creates its session id on the first message and has no flag to choose one. Every hook carries it, so the next launch resumes with -S <id> — after /new too.

    Docs: Sessions that survive a restart
  • The Squad status card

    Every AI agent of the workspace on one card, with its model — from Kimi’s own request log, or your default_model before the first turn.

    Docs: The Squad status card
  • 02

    Works through the canvas

    An arrow from the card is a set of tools, over Kimi’s own MCP client.

  • Arrows are tools

    Each card’s mcp.json adds NeuroSquad’s server, with the token in the environment. An arrow to a terminal, note, browser or agent gives Kimi those tools.

    Docs: Arrows are tools
  • Built by NeuroSquad

    The arrow is the consent

    Kimi 2.1.1 reads permission rules but never applies them, so NeuroSquad answers Kimi’s own dialog for its tools with “Approve for this session”. Third-party tools still ask.

    Docs: The arrow is the consent
  • Not possible

    No live tool list

    Kimi’s MCP client ignores tools/list_changed. So a card gets every NeuroSquad capability from the start, and the arrows decide at call time — a card spawned mid-session still works.

    Docs: No live tool list
  • Canvas mode that holds

    Bash, WebSearch and FetchURL are disabled in the card’s config, and a PreToolUse hook refuses them too — so --auto can’t lift it.

    Docs: Canvas mode that holds
  • MCP servers from the registry

    Install a server from the official MCP Registry once, then give it to a card with an arrow. Kimi asks before every call to it; its secrets never leave NeuroSquad.

    Docs: MCP servers from the registry
  • 03

    Built for long runs

    Full contexts and quota limits are handled on the card.

  • Context meter

    Tokens from Kimi’s request log against the model’s max_context_size. The ring turns amber from 80%.

    Docs: Context meter
  • Compact

    The Compact button sends Kimi’s own /compact.

    Docs: Compact
  • Continues after a quota limit

    A StopFailure with Kimi’s quota error puts a countdown on the card, and it sends “continue” at the reset — “resets in 2h 15m” is read from the message.

    Docs: Continues after a quota limit
  • Prompt queue

    Line up the next messages: each goes out on Stop, never while Kimi is still working. Daily prompts too.

    Docs: Prompt queue
  • Journal and hand-off

    The last answer is read from the session’s wire log: into a connected note, into a fresh agent’s first prompt, back to a lead waiting in agent_wait.

    Docs: Journal and hand-off
  • 04

    Works in a team

    Every card has a Kimi home of its own, so several agents never share a config or a session list.

  • A Kimi home per card

    KIMI_CODE_HOME points to the card’s own folder: your config.toml verbatim plus NeuroSquad’s section, your MCP servers plus ours, links to your login. Your ~/.kimi-code is only read.

    Docs: A Kimi home per card
  • Built by NeuroSquad

    No stop at “Trust this folder?”

    Kimi asks before it starts in any folder it hasn’t trusted. The card writes the same trust record Kimi writes itself, because you already chose this folder.

    Docs: No stop at “Trust this folder?”
  • Isolated worktrees

    Give an agent its own git worktree, so parallel agents never edit the same files. The worktree is trusted for Kimi the same way.

    Docs: Isolated worktrees
  • Add a reviewer

    One click starts an agent on a different CLI in the same worktree, with an arrow from Kimi and a prompt to review without editing anything.

    Docs: Add a reviewer
  • Dangerous mode, per card

    --auto — Kimi’s Never Ask mode. Turn it off and the next resume returns to your usual mode, even though a Kimi session remembers the mode it ran in.

    Docs: Dangerous mode, per card
  • 05

    Cost, control and access

    What it spends, what it may spend, which model it runs on, and how you reach it.

  • Exact token counts

    Every request is read from Kimi’s own wire log, subagents and compaction included, and credited to the card whose home holds the session. A model with no public price shows “no price”, never $0.

    Docs: Exact token counts
  • Budget brake

    Past the workspace limit the card gets Escape — on an idle Kimi, Ctrl+C arms “press again to exit”. The session is kept; automatic prompts stop until you raise the limit.

    Docs: Budget brake
  • OpenRouter models

    A provider of the card’s own in its config reads the key from one environment variable — never in the arguments or on disk — and sends NeuroSquad’s attribution headers.

    Docs: OpenRouter models
  • Only the maintained Kimi

    The old Python kimi-cli is archived, and bare kimi there downloads an installer without asking. The card checks the version first and refuses to start that one.

    Docs: Only the maintained Kimi
  • From your phone

    Scan a QR code and the whole canvas opens in the phone’s browser: read Kimi’s terminal, answer its question, send the next prompt.

    Docs: From your phone
At a glance

Who’s waiting, and what it used

Two cards that answer the questions you ask most when several Kimi Code agents run at once.

The Squad status card

Every agent of the workspace with its status, model and turn time. The one waiting on you comes first, with what it asks. Tap a status to filter.

  • coupon-fixKimi Codekimi-for-codingKimi Code needs your permission: Running: rm -rf distNeeds you2:34
  • api-migrationKimi Codekimi-for-codingMove routes to the new clientWorking16:32
  • deps-auditKimi Codemoonshotai/kimi-k2Check outdated packagesWorking5:25
  • docs-passKimi Codekimi-for-codingUpdate the READMEFinished8 min. ago

Usage & cost

Read from each session’s wire log in the card’s own Kimi home, so every request belongs to exactly one card.

AgentTokensCost
coupon-fix1,392,604no price
api-migration905,117$0.63
docs-pass228,470$0.16
Total2,526,191$0.79
Exact to the picodollar; rounded only on screen.Cards on OpenRouter are priced from its catalogue; Kimi’s own plan model has no per-token price.
Under the hood

The real Kimi Code, in a home of its own

Kimi Code reads everything from one folder and has no settings overlay, so NeuroSquad gives each card its own. This is everything it adds:

What NeuroSquad adds to the command
❯ kimi
KIMI_CODE_HOME=<userData>/kimi/<card>/homeevery launchthe card’s own Kimi home, rebuilt on every launch
[[hooks]] → /hook/<token>/<card>/Kimievery launchKimi’s lifecycle hooks, appended to your config.toml
mcp.json: neurosquad (bearerTokenEnvVar)every launchNeuroSquad’s server next to yours; the token stays in the environment
AGENTS.md: yours + the session instructionsevery launchKimi ignores MCP instructions, so they go where it reads them
-S <its session id>later launchesthe session its hooks last reported
[tools] disabled = ["Bash", "WebSearch", "FetchURL"]canvas modeits own shell and web off, plus a hook that refuses them
--autodangerous modeKimi’s Never Ask mode

Nothing written to ~/.kimi-code

Your config is copied, not edited; your login, skills and plugins are linked. Deleting a card removes its generated files, never its sessions.

Your login, your plan

Kimi Code runs with the account it already uses — kimi login in a terminal is shared with every card.

Found where you installed it

npm’s kimi.cmd first, then the install script’s kimi.exe, from the current PATH. A Python kimi is refused, never run.

FAQ

Kimi Code in NeuroSquad, answered

Give Kimi Code a canvas

Free for Windows 10 and 11. Your code, your login and your costs stay on your machine.