mew is the coding harness you can take apart.
Give it a task and it does the work. It finds the code, makes
the change, runs the tests.
And every part of it is a
plugin away from being yours.
It works like a careful engineer.
Permissions categorise every action by risk. Reading and searching happens silently. More dangerous operations like editing files, running scripts, up to deploying and force pushing prompts you.
You can declaratively tune these rules in your config.toml or use the /permissions command to do it on the fly. Allow it to write freely in src/** but always prompt before touching terraform/. The defaults are safe, but you can tweak it however you want.
It delegates when it needs to.
If a task requires a deep dive into a specific subsystem, mew can spin up a subagent to handle it. The subagent does the research or refactor and reports back, keeping the main thread focused and clean.
Context is precious. Instead of filling the main session with 50 file reads, a subagent does the dirty work, distills the findings into a short summary, and returns the result.
It speaks your model.
mew supports OpenAI-shape and Anthropic-shape API adapters out of the box. It comes with defaults for opencode-zen, opencode-go, z-ai, and deepseek, pulling model catalogs dynamically.
You can point it at any compatible endpoint, local or remote. Whether you want the intelligence of today's frontier models or the locality of LM Studio or Ollama, mew can adapt.
A pluggable runtime.
mew speaks standard agent protocols. It can run entirely in the terminal, or act as a JSON-RPC server for editors like Zed and Neovim. Your agent lives where you write code.
MCP (Model Context Protocol) servers are loaded automatically. If it speaks the protocol, mew can use it. Connect it to your database, your issue tracker, or your internal APIs without writing wrapper code.
Configurable workflows.
Configuration lives in a simple config.tomlthat can either be edited with your favorite editor, or with the built-in TUI config tool. Credentials can be set via environment variables, the system keyring, or a credentials file. Everything is overridable.
Environment variables with the MEW_ prefix override config values. Drop a markdown file into .mew/skills/ to teach it a new trick, which instantly becomes a slash command.
You can teach it new tricks.
Drop a markdown file in .mew/skills/ and it becomes a slash command. Share them with your team or keep them in your dotfiles. Skills are just prompt fragments and tool bundles.
For deeper integrations, mew exposes a JSON-RPC 2.0 plugin runtime over stdin/stdout with 14 hook points. The TUI companion itself is a plugin, proving the runtime is robust enough for complex, stateful UI.
Nothing is hidden.
Every session is saved locally as plain JSONL. You can read exactly what it did, what it thought, and what commands it ran. Nothing is locked away in a database, and nothing leaves your machine.
You can tail -f a session if you want. It\u2019s just lines on disk. Subagent sessions reference their parent, so you can trace the full execution tree.
Ready when you are.
It’s not magic, it’s just a careful collaborator that runs on your machine, uses your tools, and respects your boundaries.
Yours to take apart.
mew is a tool you install, not a service you subscribe to. It doesn't know your name, it doesn't cache your code, and it works the same offline as online. Every provider, tool, and prompt is a plugin you can replace. Sessions are plain JSONL on your disk, readable end to end. MIT licensed and free. The bus factor is you.
Get it running.
Works with opencode-zen, z-ai, deepseek, anthropic, openai, or anything with an HTTP endpoint and a compatible API shape.