maki

the efficient coder

Native rust binary. No javascript runtime. Immediate startup, 60 FPS, barely taking memory. Indexes files instead of reading them whole. Chains tools through a sandboxed interpreter so intermediate results stay out of your context.

cargo install --locked maki copied!

Context efficiencyWhere tokens go

index

Parses 15 languages into skeletons: imports, type defs, function signatures with their line ranges. Adds 59 tok/turn but saves 224 tok/turn on reads, netting 165 tok/turn saved.

code_execution

A sandboxed Python interpreter with memory and time limits. All tools are exposed as async functions, so the model can asyncio.gather() a bunch of reads, grep the results, and only return what matters. Intermediate data never reaches your context.

task

The model picks weak, medium, or strong for each subagent. Haiku-tier for grep-heavy research, opus-tier for architecture. Subagents can be read-only or have full tool access.

Lean system prompt

The system prompt, tool descriptions, and examples are short. When context gets too long, maki compacts history automatically: strips images, thinking blocks, and summarizes older turns.

User experienceWhat you get

Rust TUI, 60 FPS

Native binary. No javascript runtime, no react. Even the splash screen animation uses SIMD. Syntax highlighting runs on a background thread pool so it never blocks your input. Fits well on small laptop screens.

Full visibility

Philosophy: don't hide anything. Token count, cost, and model are always in the status bar. Each subagent gets its own chat window you can flip through with Ctrl-N/P. Ctrl-F for fuzzy search. /btw runs a side query without touching the current session. ! runs shell commands, !! runs them silently.

Sensible permissions

Bash commands are parsed with tree-sitter so maki knows what's actually being run. git diff && rm -rf / correctly flags both git and rm. Most agents only see git. Handles subshells, command substitution, pipes. Per-tool allow/deny rules, or --yolo to skip it all. SSRF protection on webfetch.

Sessions, memory, MCP

Long-term memory that persists across sessions. Tell maki to remember something, somtimes it picks things up on its own. Double-Escape to rewind. Plan mode restricts the agent to read-only. MCP servers over stdio or HTTP. Skills. 26 themes. Paste images. --print for headless (output is Claude Code-compatible).

Providers

Set an API key env var, or use maki auth login openai for OAuth.

Anything that speaks the OpenAI or Anthropic API works too. Write a short provider script. Ollama examples included.