MiMoCode is an OpenCode fork built for long supervised jobs
MiMoCode starts with the familiar terminal-agent job: read a repository, edit files, run commands, and manage Git. Its reason for existing is the machinery around that loop. Project memory lives across sessions, checkpoints preserve current state, tasks form a tree, subagents can work in parallel, and a judge can decide whether a stated goal is finished. Xiaomi describes OpenCode as the base and these features as its main additions.
That scope suits work that takes several sessions or loses coherence near a model's context limit. Memory is stored in project files and SQLite FTS5 search, while compaction rebuilds context from checkpoints, task progress, and recent messages. A user can lower the compaction threshold per model when cost, latency, or an intermediary's actual context limit matters. This is more operational machinery than a short bug fix needs, but it addresses a real failure mode in long agent runs.
Four workflows trade flexibility for a fixed execution path
The repository ships 4 deterministic workflows: compose, deep research, fact check, and research experiment. Each encodes phases, retries, handoffs, and parallel work instead of asking the model to improvise the whole process. Compose can split implementation into Git worktrees, while the research flows gather, check, and review evidence before producing a report. Custom JavaScript workflows can override the built-ins at project level.
Skills add another layer. The README lists office document work, research, data analysis, product design, Python tooling, Codex, and Claude Code among the included options. MCP servers can be connected through configuration, and mainstream model providers or custom OpenAI-compatible endpoints can power the agent. The benefit is range. The cost is a large surface of prompts, tools, permissions, provider behavior, and saved state that you must understand when a run goes sideways.
What happened when we ran it
Our sandbox cloned commit a273d34 and installed 2,281 packages with Bun in 95 seconds. The dependency tree consumed 2,643 MB on disk. The checkout itself had 5,424 files, about 490,990 lines of source, and 87.5 MB before installation. The scan found a workspace monorepo, 3 CI workflow files, no Dockerfile, and no top-level tests directory.
There was no root build script, so the lab skipped build. The root test command ended after 18 seconds with exit code 1. Its entire message was do not run tests from root, followed by Bun reporting that the script exited with code 1. That is an intentional routing guard, not evidence that product tests failed. CONTRIBUTING.md sends developers to bun run --cwd packages/opencode test, but our supplied run did not execute that package-level command, so we have no test count to report.
Authentication is flexible, while local secrets need care
The first launch can use Xiaomi OAuth, OpenAI OAuth through a ChatGPT subscription, imported Claude Code authentication, a provider API key, or a custom endpoint. The custom provider path takes a base URL, model ID, and API key. The README says that key is stored as plaintext in the user's JSON configuration, so file permissions and commit hygiene are part of setup.
Permissions deserve the same attention. File access outside the project prompts by default, including /tmp. MiMoCode also has an allow-all flag for disposable environments, but its documentation warns that malicious prompts, files, or plugins could then run commands and read, modify, or send data without confirmation. The separate use restrictions prohibit autonomous high-risk actions without suitable human oversight. Those warnings should shape the deployment, especially when MCP servers or browser tools widen what the agent can touch.
A tool-flood loop can turn parallel work into repeated failure
Issue 2509 documents a MiMo Desktop session where a 17-call parallel tool batch hit ToolCallFloodingError. One call ran, 16 were cancelled, and the model repeated the same batch 10 times across 2 sessions until the user stopped it. The report says the UI labelled the cancellations as ordinary search or read failures, leaving the model without a useful signal to reduce its batch. Related open reports describe similar repeated Glob and Grep calls.
The report concerns the MiMo Desktop path with a MiMo model, so it does not prove every provider and terminal session will loop. It does expose the kind of coordination bug that matters more here than a cosmetic defect. MiMoCode sells parallel agents, tool use, and long execution. A deployment should cap spend, keep permission prompts for sensitive operations, and make it easy for a person to stop a repeating turn.
Same-day releases show speed, while the desktop boundary stays blurry
GitHub showed 13,429 stars, 1,067 combined open issues and pull requests, and a last push on September 23, 2026. Version 0.1.14 shipped that day with changes to tool exposure, context compaction, subagent notifications, MCP aliases, interrupted-turn recovery, worktree hints, provider retry handling, and voice control. The activity is unmistakable, though such a long change list also means behavior is moving quickly.
The README promotes an international desktop beta, yet CONTRIBUTING.md says the inherited web, desktop, and console surfaces in this repository are not maintained and that development focuses on the terminal UI. Judge the open-source project as a terminal agent first. If persistent state and staged workflows solve a problem your current agent keeps hitting, the 2,643 MB install may be justified. If those features sound like things you would turn off, the upstream or a smaller client is the cleaner choice.

