MiMoCode is a free, open-source AI coding agent from Xiaomi’s MiMo team. It runs in the terminal, reads and edits repositories, executes commands, manages Git, and works as an alternative to Claude Code.
You can begin with the MiMo Auto model channel. It’s now free for a limited time and requires no account or API key. The agent also accepts Xiaomi MiMo OAuth login, imported Claude Code authentication, and custom OpenAI-compatible providers.
MiMoCode keeps project memory across sessions through files, checkpoints, task records, and SQLite full-text search.
Build, Plan, and Compose modes cover direct coding, read-only analysis, and skill-based orchestration.
Deterministic workflows can divide larger jobs among agents and carry structured results through implementation, verification, review, and merge steps.
Features
- 3 built-in agents: Build has full tool access, Plan restricts changes for code exploration, and Compose coordinates specs-driven work through named skills.
- Persistent project memory records knowledge and architecture decisions in
MEMORY.md, whilecheckpoint.md, scratch notes, task progress, and SQLite history carry session state. - Context reconstruction draws from the latest checkpoint, project memory, task records, and recent messages when the model approaches its context limit. A token budget controls how much stored material returns to the session.
- The
/goalcommand defines a natural-language stop condition. An independent judge checks the conversation when the agent tries to finish and returns any unmet requirement. - The
/dreamcommand extracts durable knowledge from recent session traces and removes outdated memory entries. The/distillcommand finds repeated manual procedures and packages suitable patterns as skills, agents, or commands. - Subagents share the session context and can run parallel or background tasks. The experimental orchestrator adds child-session delegation, progress and stall tracking, fan-in aggregation, and isolated Git worktrees.
- Built-in Compose, deep-research, and fact-check workflows use fixed phase sequences, bounded retries, structured handoffs, and automatic parallel work where the task permits it.
- Built-in skills cover office documents, PDFs, spreadsheets, presentations, research, design, video generation, Python development, and skill authoring. Project or personal skills can override a built-in skill with the same name.
- Slash skills are enabled by default since v0.1.6. Typing one
/skill-nameloads that skill, while two or more skill references load their contents and add an orchestration plan. - The
/modalitiescommand configures image, audio, video, and PDF input capabilities for a custom model inside the TUI. - Real-time voice input uses TenVAD and MiMo ASR. It requires Xiaomi MiMo login and
sox; compatible OpenAI-style providers can supply a separate voice control model. - Provider configuration accepts Xiaomi MiMo, the temporary MiMo Auto channel, imported Claude Code authentication, and custom OpenAI-compatible APIs. A local model can connect through a compatible local API endpoint.
- MCP configuration connects local or remote Model Context Protocol servers. MiMoCode also has LSP integration, custom agents, custom commands, plugins, file hooks, formatters, themes, and custom tools.
- Permission rules can allow, deny, or ask for specific actions. Destructive shell operations receive a second prompt, and unattended modes carry explicit warnings because they can expose files and commands.
- Experimental Max Mode generates several candidate responses and uses a judge to select one. It consumes more model calls and tokens than a normal turn.
MiMo Code vs Claude Code
MiMo Code and Claude Code are both coding agents that inspect repositories, edit files, run terminal commands, work with Git, and connect to MCP servers.
MiMoCode exposes its TypeScript source and accepts several model providers. Claude Code is Anthropic’s commercial agent and centers on Claude models through a Claude subscription, the Anthropic API, Amazon Bedrock, or Google Vertex AI.
| MiMo Code | Claude Code | |
|---|---|---|
| Product | Open-source | Commercial coding agent |
| Source | MIT-licensed | Proprietary distribution |
| Model access | MiMo Auto, Xiaomi, imported Claude auth, or custom API | Claude subscription, Anthropic API, Bedrock, or Vertex AI |
| Free access | MiMo Auto is free for a limited time | No equivalent open anonymous channel |
| Memory | Project files, checkpoints, task records, SQLite | Project instructions, memory, and session history |
| Primary modes | Build, Plan, Compose | Normal and permission-based modes |
| Multi-agent work | Subagents, Compose, workflows, experimental orchestrator | Subagents and Agent SDK |
| Automation | Headless runs and deterministic workflows | Headless CLI, hooks, SDK, GitHub Actions |
| LLM Provider | Custom OpenAI-compatible providers | Claude endpoints and supported enterprise hosts |
| Customization | Skills, agents, workflows, plugins, tools, hooks | Skills, agents, hooks, MCP, plugins |
| Desktop and IDE | Terminal, desktop app, and IDE extensions | Terminal, desktop, VS Code, and JetBrains |
| Cost basis | Temporary free channel or chosen provider | Claude plan, API, or cloud usage |
Get Started with MiMoCode
Install MiMoCode on macOS or Linux:
curl -fsSL https://mimo.xiaomi.com/install | bashUse the native PowerShell installer on Windows:
powershell -ep Bypass -c "irm https://mimo.xiaomi.com/install.ps1 | iex"The npm package works on all supported platforms:
npm install -g @mimo-ai/cliOpen a project directory and run the mimo command. The first launch presents MiMo Auto, Xiaomi MiMo OAuth, Claude Code authentication import, and custom provider setup. MiMo Auto needs no login or API key during its limited free period. A custom provider needs an OpenAI-compatible base URL, a model entry, and any credentials required by that service.
mimoSelect Build, Plan, or Compose before sending the first message. After v0.1.6, Build and Plan can switch during a session, but entering Compose isolates that session after the first message. This keeps the available skill and tool set stable for the model.
Start with a concrete repository task, review the proposed file access, and inspect the resulting diff. Set a stop condition before a long autonomous run:
/goal all tests pass and the feature branch is committedLoad one skill by typing its slash name. You can reference several skills in a message when the job needs coordinated instructions:
/docx-official /research-paper-writing revise the attached paperRebuild a large session from its latest checkpoint when the context needs manual recovery. Use /skip-permissions only in a trusted disposable environment. Forced-ask operations such as destructive shell commands wait for approval and then reject after 60 seconds. Other actions that are not denied can proceed automatically while the toggle is active.
/rebuildRun memory maintenance after a long project phase, or extract recurring procedures into reusable instructions:
/dream
/distillEnable Max Mode in .mimocode/mimocode.jsonc when the extra provider usage is acceptable:
{
"experimental": {
"maxMode": true
}
}MiMoCode Cheat Sheet & Quick Reference
CLI Commands and Flags
| Command | Common options |
|---|---|
mimo [project] | --continue, --session, --fork, --prompt, --model, --agent, --port, --hostname |
mimo run [message..] | --command, --continue, --session, --fork, --model, --agent, --file, --format, --attach, --dangerously-skip-permissions |
mimo attach [url] | --dir, --session |
mimo models [provider] | --refresh, --verbose |
mimo serve | --port, --hostname, --mdns, --cors |
mimo web | --port, --hostname, --mdns, --cors |
mimo session list | --max-count, --format |
mimo stats | --days, --tools, --models, --project |
mimo acp | --cwd, --port, --hostname |
mimo uninstall | --keep-config, --keep-data, --dry-run, --force |
mimo upgrade [target] | --method |
| Global flags | --help, --version, --print-logs, --log-level |
Subcommands
| Command | Action |
|---|---|
mimo auth login | Configure credentials for a model provider. |
mimo auth list | List authenticated providers. |
mimo auth logout | Remove provider credentials. |
mimo mcp add | Add a local or remote MCP server. |
mimo mcp list | Show configured servers and connection status. |
mimo mcp auth [name] | Authenticate with an OAuth-enabled MCP server. |
mimo mcp logout [name] | Remove MCP OAuth credentials. |
mimo mcp debug <name> | Debug an MCP OAuth connection. |
mimo session list | List saved MiMoCode sessions. |
Slash Commands
| Command | Action |
|---|---|
/connect | Add a model provider and credentials. |
/compact | Compact the current session. |
/details | Toggle tool execution details. |
/editor | Open the configured external editor. |
/export | Export the conversation to Markdown. |
/init | Create or update AGENTS.md. |
/models | List available models. |
/new | Start a new session. |
/redo | Restore an undone message and file changes. |
/sessions | List and switch sessions. |
/share | Share the current session. |
/thinking | Toggle reasoning-block display. |
/undo | Remove the last message and revert its file changes. |
/goal | Set a natural-language stop condition. |
/voice | Start streaming voice input. |
/dream | Refresh persistent project memory. |
/distill | Extract reusable procedures from session history. |
/rebuild | Rebuild context from the latest checkpoint. |
/modalities | Set custom model input modalities. |
/skip-permissions | Toggle unattended permission handling. |
/skill-name | Load a discovered skill by name. |
Built-in Agents
| Agent | Role |
|---|---|
build | Default primary agent with full tool access. |
plan | Read-only analysis and planning. |
compose | Skill-based orchestration for structured development. |
general | General subagent invoked by a primary agent. |
explore | Codebase exploration subagent. |
Compose Skills
| Skill | Purpose |
|---|---|
compose:tdd | Test-driven development. |
compose:debug | Systematic debugging. |
compose:verify | Verification before completion. |
compose:brainstorm | Feature brainstorming with you. |
compose:plan | Implementation planning. |
compose:execute | Approved plan execution. |
compose:parallel | Parallel agent dispatch. |
compose:review | Code review requests. |
compose:feedback | Review feedback handling. |
compose:worktree | Git worktree operations. |
compose:merge | Development branch merge. |
compose:subagent | Subagent-driven development. |
compose:new-skill | New skill authoring. |
Built-in Workflows
| Workflow | Purpose |
|---|---|
compose | Brainstorm, design, implement, verify, review, report, and merge a defined development job. |
deep-research | Plan parallel research, inspect gaps, write a cited report, and review citations. |
fact-check | Search, extract claims, group duplicates, run adversarial cross-checks, and report findings. |
Built-in Skills
| Skill | Purpose |
|---|---|
arxiv | Search and analyze arXiv papers. |
docx-official | Create and transform Word documents. |
pdf-official | Create, read, fill, and transform PDFs. |
pptx-official | Create and edit presentations. |
xlsx-official | Build and clean spreadsheets. |
design-blueprint | Prepare a visual design blueprint and decision trace. |
frontend-design | Apply visual design guidance to interfaces. |
html-to-video-pipeline | Render HTML to MP4. |
research-paper-writing | Write and polish academic papers. |
skill-creator | Create or improve agent skills. |
evolve | Modify agent tools, hooks, knowledge, workflows, or UI. |
loop | Schedule recurring prompts. |
mimocode | Load MiMoCode feature and configuration reference. |
Core Config Files
| Scope | File |
|---|---|
| Project | .mimocode/mimocode.jsonc |
| Global | ~/.config/mimocode/mimocode.json |
| Project TUI | .mimocode/tui.json |
| Credentials | ~/.local/share/mimocode/auth.json |
Core Config Fields
| Field | Use |
|---|---|
$schema | Schema URL for completion and validation. |
model | Default model in provider and model format. |
small_model | Model for lightweight tasks. |
provider | Provider connections and model entries. |
disabled_providers | Provider blocklist. |
enabled_providers | Provider allowlist. |
agent | Custom agent definitions. |
default_agent | Default primary agent. |
command | Custom command templates. |
permission | Action and skill permission rules. |
tool | Tool invocation settings. |
mcp | MCP server definitions. |
plugin | Plugin packages or local paths. |
skills | Additional skill paths and URLs. |
lsp | Language Server Protocol integration. |
formatter | Code formatter settings. |
instructions | Instruction file paths or globs. |
share | Manual, automatic, or disabled session sharing. |
autoupdate | Automatic update behavior. |
compaction | Context compaction policy. |
checkpoint | Checkpoint behavior and quotas. |
snapshot | Snapshot switch. |
watcher | File watcher ignore rules. |
server | Settings for web and server commands. |
enterprise | Enterprise URL configuration. |
username | Custom display name. |
logLevel | Runtime log level. |
experimental | Opt-in experimental features. |
Environment Variables
| Variable | Use |
|---|---|
MIMOCODE_HOME | Override config, data, state, and cache roots. |
MIMOCODE_CONFIG | Set a custom config file. |
MIMOCODE_CONFIG_DIR | Set a custom config directory. |
MIMOCODE_CONFIG_CONTENT | Provide inline config JSON. |
MIMOCODE_TUI_CONFIG | Set a custom TUI config file. |
MIMOCODE_PERMISSION | Provide inline permission JSON. |
MIMOCODE_DB | Override the database file. |
MIMOCODE_MODELS_URL | Set a custom model manifest URL. |
MIMOCODE_MODELS_PATH | Set a local model manifest file. |
MIMOCODE_GIT_BASH_PATH | Set the Git Bash executable on Windows. |
MIMOCODE_PURE | Activate the pure runtime mode. |
MIMOCODE_AUTO_SHARE | Share sessions automatically. |
MIMOCODE_DISABLE_SHARE | Disable session sharing. |
MIMOCODE_DISABLE_AUTOUPDATE | Disable automatic update checks. |
MIMOCODE_ALWAYS_NOTIFY_UPDATE | Always show version notifications. |
MIMOCODE_DISABLE_AUTOCOMPACT | Disable automatic context compaction. |
MIMOCODE_DISABLE_PRUNE | Disable old-data pruning. |
MIMOCODE_DISABLE_TERMINAL_TITLE | Disable terminal title changes. |
MIMOCODE_DISABLE_MOUSE | Disable TUI mouse capture. |
MIMOCODE_DISABLE_DEFAULT_PLUGINS | Disable default plugins. |
MIMOCODE_DISABLE_LSP_DOWNLOAD | Disable automatic LSP downloads. |
MIMOCODE_DISABLE_BUILTIN_SKILLS | Remove all built-in skills. |
MIMOCODE_DISABLE_OFFICIAL_SKILLS | Remove built-in office and media skills. |
MIMOCODE_DANGEROUSLY_SKIP_PERMISSIONS | Activate unattended permission handling. |
MIMOCODE_EXPERIMENTAL_ORCHESTRATOR | Activate experimental multi-session orchestration. |
MIMOCODE_EXPERIMENTAL_CRON | Activate cron and loop scheduling. |
Alternatives and Related Resources
- 7 Best CLI AI Coding Agents
- Most Popular Agent Skills on GitHub for Coding Agents
- Kimi Code CLI: Open-Source AI Coding Agent with Skills & MCP Support
- Pi Coding Agent: Extensible AI Terminal Agent for Developers
- CodeWhale (DeepSeek TUI): Free, Open-source Claude Code Alternative
- Multi-Model AI Coding Agent CLI – OpenClaude
Pros
- MIT-licensed source code.
- Temporary free model channel.
- Persistent cross-session memory.
- Custom model providers.
- Built-in multi-agent workflows.
- Agent skills compatibility.
- Native Windows installer.
- MCP and LSP integration.
Cons
- MiMo Auto access is temporary.
- Permission bypass can expose data.
- Max Mode consumes extra tokens.
FAQs
Q: What is MiMoCode?
A: MiMoCode is Xiaomi MiMo’s open-source AI coding agent. It works in the terminal and can inspect a repository, edit files, execute commands, manage Git, connect to MCP servers, and retain project knowledge across sessions.
Q: Is MiMoCode free?
A: The source code is available under the MIT License and separate use restrictions. MiMo Auto provides anonymous access with no API key for a limited time. A custom provider may charge for model usage, and Xiaomi-hosted services have their own terms.
Q: Does MiMoCode require signup?
A: MiMo Auto requires no signup during its limited free period. Xiaomi MiMo OAuth and voice input require an account. A custom OpenAI-compatible provider uses that provider’s credential and account rules.
Q: Is MiMoCode an alternative to Claude Code?
A: Yes. Both coding agents can read code, edit files, run commands, work with Git, and connect to MCP servers. MiMoCode is open source and accepts custom model providers. Claude Code is a commercial Anthropic product built around Claude models and Anthropic’s supported cloud channels.
Q: Can MiMoCode use Ollama or a local model?
A: MiMoCode accepts custom OpenAI-compatible providers. You can connect a local model when your Ollama setup or another local gateway exposes a compatible API and the selected model handles the tool calls required for coding work.
Q: Does MiMoCode support MCP servers?
A: Yes. The CLI can add, list, authenticate, debug, and remove local or remote MCP server connections. Permission rules should match the data and actions exposed by each server.
Q: How does MiMoCode preserve context in long sessions?
A: An independent checkpoint writer records structured session state. Context reconstruction draws from the checkpoint, project memory, task progress, and recent messages when the active model window approaches its limit. Budgeted injection limits the stored material returned to the model.
Q: What is the difference between Compose mode and a workflow?
A: Compose is an interactive primary agent that selects named skills during a conversation. A workflow is a deterministic JavaScript program with fixed phases, bounded retries, structured handoffs, and automatic parallel work. The workflow format fits a defined job that can run with little intervention.
Q: What is Max Mode?
A: Max Mode runs several candidate responses and uses a judge to select one. It can improve a difficult decision at the cost of more provider calls and tokens. Enable it under experimental.maxMode only when the extra usage is acceptable.
Q: Is permission skipping safe?
A: Permission skipping can let the agent run commands and access files with little or no confirmation. Use it inside a trusted disposable container, sandbox, or CI job. Keep explicit deny rules for sensitive paths and review the repository for malicious instructions first.
Last updated: July 17, 2026










