MiMo Code,with a canvas around it
Run as many MiMo Code agents as you need, each the real mimo TUI in its own card. A NeuroSquad plugin inside MiMo reports every turn, question and permission, arrows hand it terminals, notes and other agents mid-session, and its in-session actors show up as subagents.
Official sitemimo.xiaomi.com/coder- The real
mimoCLI, your own models - Dangerous mode without a restart
- Free, for Windows and macOS
It knows when MiMo is done — and when it’s asking
MiMo Code is a fork of OpenCode, with the same plugin API and events. Every card loads a small NeuroSquad plugin that relays them, so the card never guesses from a quiet terminal.
session.status: busyeventsession.status turns busy for the main session. The card’s icon spins, the Squad status card counts it, and the toast from its last question is taken down.
permission.askedeventpermission.asked: MiMo shows “Permission required”. The toast names it — MiMo Code needs your permission: bash_delete — rm -rf dist — and stays until you answer.
session.status: idleeventsession.status turns idle. The next queued prompt goes out, the journal gets the answer, and a toast says it’s done.
Questions, too
MiMo’s question.asked reads MiMo Code is asking: Red or blue? on the toast; when its bash tool hands a command to you (bash.interactive.asked), the card waits as well.
Actors keep it working
MiMo’s actors run inside the same session. The plugin reports each one, so a card with a background actor stays working until the actor reports back.
Ready before it types
MiMo needs about 20 seconds to boot with the app’s servers. Seeds, helper prompts and queued prompts wait for its “MiMoCode” title, so nothing is typed into a half-started TUI.
Three things you’ll do with MiMo Code
Replicas of the app, played step by step. When MiMo asks, the answer is yours.
MiMo Code fixes a failing test through a terminal card, stops at “Permission required” before deleting a folder, and finishes — the journal writes itself.
Everything MiMo Code can do in NeuroSquad
Measured on MiMo Code 0.1.15. Most of it is MiMo’s own — plugins, MCP, sessions, its database. Where NeuroSquad had to build something, or MiMo can’t do it, the card says so.
- 01
Knows its state
The plugin relays MiMo’s own events — turns, permissions, questions — so nothing is guessed.
Finished and waiting are different
The plugin relays
Docs: Finished and waiting are differentsession.statusbusy and idle of the main session andpermission.asked— exact turn starts, waits and ends.A notification that says what it needs
The toast names the call —
Docs: A notification that says what it needsMiMo Code needs your permission: bash_delete — rm -rf dist— or the question MiMo asks. One per agent; a waiting one stays until you answer.Commands it hands to you
MiMo’s bash tool can hand an interactive command to you and wait (
Docs: Commands it hands to youbash.interactive.asked). The card shows that as waiting on you, too.Picks up where it left off
MiMo names its own sessions (
Docs: Picks up where it left offses_…); the plugin reports the id and the next launch ismimo --session <id>. A deleted session would leave MiMo on a blank screen, so the card checks first and starts fresh.The Squad status card
Every AI agent of the workspace on one card, with its model — or MiMo’s 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 MiMo’s own MCP client.
Arrows are tools
The card’s config adds NeuroSquad’s MCP server, the token read from the environment. An arrow to a terminal, note, browser or agent gives MiMo
Docs: Arrows are toolsneurosquad_*tools.New arrows work mid-session
MiMo re-reads a server’s tools when they change, so an arrow drawn while it runs is there on its next turn — same process, no restart.
Docs: New arrows work mid-sessionCanvas mode that holds
Docs: Canvas mode that holdsbash,webfetch,websearch, MiMo’s owncodesearchand itsexecscript runner are denied in the card’s config, which removes them; the live dangerous-mode allow never approves them.MCP servers from the registry
Installed servers come as a second server set to ask: MiMo shows its own permission prompt before every call.
Docs: MCP servers from the registrySkills from skills.sh
An arrow to a skill card gives MiMo
Docs: Skills from skills.shskill_loadthrough the app’s server, gated by the arrows like every other tool.
- 03
Built for long runs
Context, Compact, rate limits, a prompt queue and a journal — handled on the card.
Context meter
The latest request’s tokens from MiMo’s database, against the model’s window from MiMo’s catalogue or your custom model’s limit.
Docs: Context meterCompact
The Compact button sends MiMo’s own
Docs: Compact/compact. MiMo also compacts and rebuilds from checkpoints on its own.Continues after a rate limit
When MiMo retries on a rate limit, the plugin relays it: the card shows the limit and sends “continue” when it clears.
Docs: Continues after a rate limitPrompt queue
Prompts to a busy card wait in the queue and go out one by one when MiMo finishes — never glued together. A 30-line prompt arrives whole.
Docs: Prompt queueJournal and hand-off
The last answer of the main conversation is read from MiMo’s database: the journal note, a hand-off,
Docs: Journal and hand-offagent_wait, Telegram and custom cards get MiMo’s real reply.
- 04
Works in a team
Actors, live dangerous mode and a switch to another CLI — without losing the conversation.
- Built by NeuroSquad
Actors as subagents
MiMo’s actors run inside the parent session under their own id. The plugin reports them, so the card stays working while one runs, and Usage, Run Stats and Agent Pulse mark their requests as a subagent’s.
Docs: Actors as subagents - Built by NeuroSquad
Dangerous mode, live
Like Claude Code’s: no restart. While the card’s switch is on, the plugin answers each permission ask “once” through MiMo’s own API; turn it off and the next ask reaches you. Canvas mode still wins.
Docs: Dangerous mode, live Model and CLI switch
A lead agent can change the card’s model with
Docs: Model and CLI switchagent_set_model— the card resumes the same session on the new model — or move the conversation to Claude Code and back.- Built by NeuroSquad
No stop at the trust prompt
MiMo asks whether to trust a folder before its TUI opens. The card launches with
Docs: No stop at the trust prompt--trust, which skips it for that launch only — nothing is written to MiMo’s trust store. Isolated worktrees
Give an agent its own git worktree, so parallel agents never edit the same files.
Docs: Isolated worktrees
- 05
Cost, control and access
What it spends, what it may spend, which model it runs on, and how you reach it.
Exact usage
Read from MiMo’s own database, child sessions folded into their root and actors marked. A model with no known price shows “no price”, never $0.
Docs: Exact usage- Built by NeuroSquad
Budget brake
Past the workspace limit each MiMo gets Escape twice — the turn stops, MiMo keeps running (Ctrl+C would close it) — and automatic prompts wait.
Docs: Budget brake OpenRouter models
Docs: OpenRouter models--model openrouter/<slug>with the key named in the card’s config and NeuroSquad’s attribution on every request. The model must be in MiMo’s catalogue.Your own servers
LM Studio, Ollama, vLLM or any OpenAI- or Anthropic-compatible server, as a provider of the card’s own with its models and windows; the key stays in the environment.
Docs: Your own serversFrom your phone
Scan a QR code and the whole canvas opens in the phone’s browser: read MiMo’s TUI, answer its prompt, stop it with the Escape key.
Docs: From your phone
- 06
Good to know
What MiMo does differently, and what can’t be done.
- Not possible
The card can’t pick the session id
MiMo always creates its own ids. NeuroSquad catches the id the plugin reports and resumes with it, which works the same in practice.
Docs: The card can’t pick the session id Two side requests aren’t counted
MiMo asks a model for a session title and, after each answer, a next-prompt suggestion. It doesn’t store them, so Usage can’t count them.
Docs: Two side requests aren’t countedMiMo’s analytics are yours to set
MiMo sends usage metrics to Xiaomi by default. It’s your MiMo, so the card leaves that choice alone;
Docs: MiMo’s analytics are yours to setMIMOCODE_ENABLE_ANALYSIS=falseturns it off.A slower start
With the app’s servers and plugin MiMo takes about 20 seconds to start. The card waits for it before typing anything.
Docs: A slower startThis computer only
MiMo cards don’t run in WSL or SSH workspaces yet — there, only Claude Code and shells do.
Docs: This computer only
Who’s waiting, and what it used
Two cards that answer the questions you ask most when several MiMo Code agents run at once.
The Squad status card
Every agent of the workspace with its status, model and turn time. The ones waiting on you come first, with what MiMo asks. Tap a status to filter.
coupon-fixMiMo Codexiaomi/mimo-v2.6-proMiMo Code needs your permission: bash_delete — rm -rf distNeeds you2:34
api-migrationMiMo Codexiaomi/mimo-v2.6-proMove routes to the new clientWorking11:07
lint-setupMiMo Codexiaomi/mimo-v2.6-flashMiMo Code is asking: Tabs or spaces?Needs you3:51
docs-passMiMo Codeopenrouter/qwen/qwen3-coderUpdate the READMEFinished6 min. ago
Usage & cost
Read from MiMo’s own database, each session credited to the card that ran it. Tokens are exact; actors’ requests are marked as a subagent’s.
| Agent | Tokens | Cost | ||
|---|---|---|---|---|
| coupon-fix | 1,036,218 | no price | ||
| api-migration | 744,902 | no price | ||
| docs-pass | 214,376 | $0.14 | ||
| Total | 92 | 1,995,496 | $0.14 |
The real MiMo Code, plus one config file
NeuroSquad starts the same mimo you run yourself, in a real terminal in the card. This is everything it adds:
Your config is never written
MiMo merges the card’s file over your own config and project config. Yours are read, never changed.
No secrets in the file
The MCP token and the OpenRouter key are named as environment variables; only the card’s process has them.
The real binary
The card runs MiMo’s own mimo.exe directly — from the install script or from npm’s package, bypassing the npm shim.
MiMo Code in NeuroSquad, answered
Give MiMo Code a canvas
Free for Windows and macOS. Your code, your models and your costs stay on your machine.