MiMo Code
MiMo Code is Xiaomi MiMo’s open-source (MIT) coding agent for the terminal — a fork of
OpenCode with a persistent project memory, in-session subagents (“actors”) and its own MiMo models.
In NeuroSquad each MiMo agent is a card with the real mimo running inside.
Measured on MiMo Code 0.1.15.
Install
Install the mimo command
npm install -g @mimo-ai/cliOr use Xiaomi’s install script from mimo.xiaomi.com . Settings → Setup in NeuroSquad can run the npm install for you.
Pick your models
Run mimo once and choose how it gets models — MiMo’s own models, an API key for another
provider, or a custom server. A card can also run on OpenRouter or on
your own server.
Add a MiMo Code card
Add an agent card and choose MiMo Code.
What works
- Exact status. A small NeuroSquad plugin inside MiMo relays its events: working, finished, or
waiting for you — with the call it wants to make (
MiMo Code needs your permission: bash_delete — rm -rf dist), the question it asks, or a command its bash tool hands to you. See Finished / needs your input. - Arrows, live. NeuroSquad’s MCP server is in the card’s config, and MiMo re-reads its tools when they change — an arrow drawn mid-session works on the next turn. Installed MCP servers ask before every call.
- Canvas mode.
bash,webfetch,websearch,codesearchandexecare denied in the card’s config. See Canvas mode. - Dangerous mode without a restart, like Claude Code: while the switch is on, the plugin answers each permission ask through MiMo’s own API. See Dangerous mode.
- Sessions. After a restart the card continues the same conversation (
mimo --session). If the session was deleted, the card starts a fresh one instead of leaving MiMo on a blank screen. - Actors. MiMo’s actors run inside the same session; the card stays working while one runs, and their requests are marked as a subagent’s in Usage & costs, Run Stats and Agent Pulse.
- Long sessions. Context meter, Compact (MiMo’s
/compact), the usage-limit chip with automatic “continue”, the prompt queue, the journal and hand-off. - Models and providers. A lead agent can change the model with
agent_set_model(the same session continues), or move the conversation to Claude Code and back. OpenRouter and your own servers work, the key kept out of every file. - Plugins. Memory, Context7, Graphify and Caveman reach MiMo’s turns; the token saver works in dangerous mode.
- From your phone. The card works in remote access; its Stop key sends Escape.
Good to know
- Your config is never written. Each card has its own
MIMOCODE_CONFIGfile that MiMo merges over yours. The card starts MiMo with--trust, which skips the folder-trust question for that launch only. - Stop a turn with Escape (pressed twice). Ctrl+C closes MiMo, so NeuroSquad never sends it.
- A slower start. With the app’s servers and plugin MiMo takes about 20 seconds to start; the card waits before typing anything.
- Two side requests aren’t counted. MiMo asks a model for each session’s title and, after each answer, for a next-prompt suggestion. It doesn’t store them, so Usage can’t count them.
- OpenRouter models must be in MiMo’s catalogue (
openrouter/<slug>); custom providers list their own models. - Analytics. MiMo sends usage metrics to Xiaomi by default. That is MiMo’s own setting and
NeuroSquad leaves it alone;
MIMOCODE_ENABLE_ANALYSIS=falseturns it off.
MiMo Code cards run on this computer only — not in WSL or SSH workspaces.