Everything you need to know about Munder Difflin - the multi-agent harness that runs an office of your clones
Munder Difflin is a free, open-source, and performant multi-agent harness that turns terminal coding CLIs into a team of AI clones. It coordinates multiple AI agents that can message, route, and remember, all while visualizing their work on a shared office floor. Each agent is a real terminal process running Claude Code, Antigravity, OpenAI Codex, xAI Grok, Kimi Code, Gemini CLI, Qwen, OpenCode, Crush, pi.dev, GitHub Copilot CLI, or Cursor.
Munder Difflin works by wrapping existing terminal-agent CLIs as fully-capable agents. Each agent runs as a real process in a pseudo-terminal (node-pty), rendered with xterm.js. Agents appear as characters on a Pixi.js office floor where they walk to stations as they work. The "GOD agent" (Michael) routes work between them while you watch. Agents collaborate through a "hive" - a local git repo of plain files with per-agent memory, atomic-file mailboxes, and a shared blackboard.
Munder Difflin supports multiple AI providers including:
You can bring your own keys and use local LLMs through Ollama, LM Studio, or vLLM.
Yes! Munder Difflin is completely free and open source, licensed under the MIT License. The source code is available on GitHub, and you can use it for commercial or non-commercial purposes. The bundled pixel art is licensed separately under the Complete Version license by LimeZu.
Munder Difflin runs on macOS, Windows, and Linux. You'll need:
Getting started is easy:
git clone https://github.com/chaitanyagiri/munder-difflin.git
cd munder-difflin
npm install # postinstall rebuilds node-pty against Electron's ABI
npm run dev # launches the Electron app with hot reload
On first launch, you'll go through an onboarding wizard. Use "Add agent" to spawn your first session - the GOD agent (Michael) seats itself automatically.
Munder Difflin features a markdown-first memory layer with semantic recall. Each agent remembers what it learns across sessions and recalls information in milliseconds. The memory is stored in a shared "palace" that can be searched from the UI. Memory condensation prevents unlimited growth by summarizing older memories.
The system includes multiple safety mechanisms:
Munder Difflin integrates with:
Munder Difflin features one-click updates. The title-bar badge shows available updates and installation instructions. After updating, the release notes open as a designed page. Background auto-update can be enabled in Settings.
Contributions are welcome! Fork the repository, follow the setup instructions, and submit pull requests. All PRs must include before/after evidence. Key areas for contribution include wiring real hook events, the add-agent flow, the config drawer, and cross-platform work. Join our Discord community for discussions and support.
Official builds send anonymous usage events (app opened, agent spawned, features used) - never prompts, code, file paths, or agent output. You can opt out through Settings, the DO_NOT_TRACK environment variable, or by building from source. Complete telemetry documentation is available in TELEMETRY.md.
Every terminal is a real agent - Claude Code, Antigravity, OpenAI Codex, xAI Grok, Kimi Code, Gemini CLI, Qwen, OpenCode, Crush, pi.dev, GitHub Copilot CLI, Cursor, or custom command - each in its own node-pty PTY, rendered with xterm.js.
The hive - per-agent memory, atomic-file mailboxes, a shared blackboard, an append-only event log, single-committer git. Semantic recall with markdown memory mined into a shared palace.
Human gates for spend, scope, and destructive ops. Circuit breaker with steer → constrain → stop ladder. Per-agent token budgets, real cost from transcripts, durable ledger.
Kanban tasks with dependencies, scheduled missions + heartbeat, live fleet monitoring, memory search, activity log, and CI watcher. Built-in Monaco IDE with git rails.
git clone https://github.com/chaitanyagiri/munder-difflin.git
cd munder-difflin
npm install
npm run dev
Join our Discord for community support: discord.gg/SEDzP5ZPk5