GitHub - Muvon/octomind: Open-source AI coding agent and agent runtime: one binary, any model, MCP-native. Runs in terminal, CI, or as a daemon.
Pangram verdict · v3.3
We believe this text is mainly AI, with some human-written content.
AI likelihood · overall
AIArticle text · 1,322 words · 26 segments analyzed
The CLI-first AI coding agent runtime. Pipe it, schedule it, embed it. One binary, any model, MCP-native —built for autonomous work, not just chat. Website · Docs · Tap Registry · Benchmarks · Issues Octomind is a CLI-first AI coding agent runtime. It gives an LLM real access to your repo — reading and writing files, running shells, searching code, delegating to sub-agents — through MCP tools. The same session engine works interactively, piped through stdin, as a background daemon, over WebSocket, or as an ACP sub-agent inside another agent's stack. # Interactive octomind run developer:general # Piped — CI, scripts, automation echo "Explain the auth module" | octomind run developer:general --format plain # Daemon — keep it alive, talk to it from another terminal echo "watch the build" | octomind run --name watcher --daemon --format jsonl octomind send --name watcher "run the test suite" Why Octomind? Most coding agents assume a human is watching the screen. Octomind is built for the work that keeps going after you leave. Policy as code, not approval popups. Deterministic guardrails — pre-call guards, post-result hooks, post-turn validators — live in TOML and scripts, so they work in CI, daemons, and scheduled runs. Proven on real PRs. It solved 24 of 25 held-out tasks at lower cost than the closest competitor.
See the benchmarks. Ready-made specialists.
octomind run developer:general pulls a packaged agent (prompt, model, MCP servers, tool permissions) from a tap. Publish your own with one repo. Sessions that stay sharp. Adaptive compression keeps long tasks moving while retaining task knowledge and the live exchange.
Any model, any budget.
Use Octomind Cloud or your own key (OpenRouter, Anthropic, OpenAI, DeepSeek, Ollama, and more), pick a model per role, and set spend thresholds per request and per session. A request over its threshold stops; at the session threshold a terminal session asks y/N before continuing, while a non-interactive octomind run stops with exit code 75.
One config.
Models, tools, roles, guardrails, budgets: all TOML, no framework code.
Quick Start 1.
Install (macOS, Linux): curl -fsSL https://raw.githubusercontent.com/muvon/octomind/master/install.sh | bash On Windows, in PowerShell: irm https://raw.githubusercontent.com/muvon/octomind/master/install.ps1 | iex On macOS, you can also install with Homebrew: brew install muvon/tap/octomind 2.
Get model access.
The fastest path is Octomind Cloud, which includes models and needs no configuration: octomind login Prefer your own provider key? Skip login and export one (also OPENAI_API_KEY, ANTHROPIC_API_KEY, DEEPSEEK_API_KEY), then follow Model access to point the config at it: export OPENROUTER_API_KEY="your_key" 3. Run a specialist in your project: cd ~/your/project octomind run developer:general You're now in a session with an agent that can read your code, run commands, and edit files. The interface is a plain line prompt with markdown rendering — no TUI to learn, so it works over SSH, in tmux, and in CI logs. The first time you run a specialist, it may install its tools and ask for credentials. developer:general comes from the default tap muvon/tap, not your local config. Plain octomind run starts the config's default role, assistant:concierge. Try the recorded bug-fix demo: two failing tests, an agent fix, and an independent test rerun. Benchmarks Measured on octobench against 25 tasks harvested from merged pull requests across Python, PHP, Rust, C++, and JavaScript. Each agent works in the pre-fix repo; held-out tests from the merged fix decide pass or fail. These are the published July 30, 2026 results, not a measurement of this checkout.
solved judge Σ / 2500 cost wall time octomind + glm-5.2 24/25 2264 $63.43 3.6h claude code + claude-opus-5 23/25 2262 $81.79 6.7h codex + gpt-5.6-sol 21/25 2127 $14.86 1.0h opencode + glm-5.2 19/25 2093 $129.54 3.3h The harness matters.
opencode used the same model and endpoint; octomind solved 24 vs 19 at roughly half the cost. All four agents ran stock invocations with no tuning, so this measures the whole harness, not individual features. Worst-case pricing, still ahead. glm-5.2 ran without prompt caching while Opus billed ~97% of context re-reads at cache rates — and octomind still led on solves, cost, and wall time.
Reproducible.
Per-case table, artifacts, and reproduction guide: BENCHMARK.md.
Background: blog post.
Guardrails: Policy as Code Drop a .agents/guardrails.toml in your repo. The runtime enforces it deterministically, with no code to compile and no plugin to install. # Pre-call deny — block a class of calls before they execute [[guard]] match = "shell(command=^rm\\s+-rf?)"
message = "rm -rf blocked."
# Conditional rule — only fires after the agent ran git status this session [[guard]] match = "shell(command=git push)" when = ["+shell(command=git status)"] message = "Review changes before pushing." Layer When it runs What it does Guards Before a tool call Deny by capability, argument regex, and session history. A match returns a denial instead of executing the call. Hooks After a tool result A non-zero exit injects stdout into the agent's inbox — lint and format failures become automatic corrections without restarting the turn. Validators After a turn Scripts the agent reads on its next turn. This replaces "approve this change?"
prompts in autonomous loops. Hook and validator script examples: Guardrails guide.
Five Ways to Run It The same session engine, exposed however your workflow needs it. Surface Use it for Docs Interactive CLI Daily work, any domain Sessions Piped (--format plain / jsonl) CI/CD, shell scripts, automation CLI reference Daemon + send Background agents, continuous monitoring Daemon & hooks WebSocket (octomind server) IDE plugins, dashboards, integrations WebSocket server ACP (octomind acp) Sub-agent inside another agent or editor ACP protocol Need machine-readable results? Pass --schema schema.json to constrain the final response to a JSON Schema (requires a model with structured-output support).
See Structured output.
Features Feature What you get Learn more Specialists & taps Packaged agents with model, prompt, MCP servers, and permissions; installs their tool dependencies on first use Tap system Roles Per-role model, temperature, system prompt, tools Roles Workflows Multi-step pipelines, each step with its own model and toolset Workflows MCP client stdio and Streamable HTTP servers, with OAuth; enable/disable servers mid-session MCP tools Intent-driven context Skills and capabilities activate on demand, keeping context small Skills Local project tools Executable scripts in .agents/tools/ auto-register as tools Local tools Supervisor & learning External planning and gating; file-backed learning records Supervisor, Learning Sandbox --sandbox restricts filesystem writes to the working directory Config reference Token efficiency Cache-aware accounting and compaction Token efficiency Specialists octomind run developer:general # general dev, language skills auto-activate octomind run doctor:blood # blood-test interpretation specialist octomind run lawyer:sg # legal specialist Running a specialist fetches its manifest from the tap registry, installs any required binaries, resolves credentials, starts the right MCP servers, and then opens the session. Build and register your own: octomind tap init yourteam/my-tap # scaffold, validate, git-init, and register locally octomind tap yourteam/my-tap # on another machine, after publishing to GitHub The octomind- prefix is added automatically: yourteam/my-tap maps to the repository yourteam/octomind-my-tap. Installation Method Command Install script (recommended) curl -fsSL https://raw.githubusercontent.com/muvon/octomind/master/install.sh | bash Install script (Windows PowerShell) irm https://raw.githubusercontent.com/muvon/octomind/master/install.ps1 | iex Homebrew (macOS) brew install muvon/tap/octomind Scoop (Windows) scoop bucket add muvon https://github.com/Muvon/scoop-bucket then scoop install muvon/octomind Cargo (Rust 1.95+) cargo install octomind Docker docker run --rm ghcr.io/muvon/octomind --help From source git clone https://github.com/muvon/octomind.git && cd octomind && cargo build --release The install script detects your OS and architecture (Linux and macOS on x86_64/aarch64) and installs to ~/.local/bin/. Pass --install-dir <DIR> or set OCTOMIND_INSTALL_DIR to override. On Windows (x86_64/aarch64), install.ps1 installs to %LOCALAPPDATA%\octomind\bin and adds it to your user PATH; it honors OCTOMIND_INSTALL_DIR and OCTOMIND_VERSION too. install.sh still works from Git Bash or MSYS2.
Command not found?
Add the install directory to your PATH: export PATH="$HOME/.local/bin:$PATH" Building from source requires protoc; see Building from source for per-OS prerequisites. Verify: octomind --version octomind config # generate the default config octomind run # start your first session Shell completions: octomind completion <bash|zsh|fish|elvish|powershell>. Model access Octomind Cloud — octomind login (device-code sign-in, like gh auth login) stores a gateway key locally. The default config already uses octohub:auto.
Learn more.