Munder Difflin is a desktop app that runs terminal coding agents as a coordinated team on one machine, using the subscriptions and hourly limits each CLI already has. Each agent is a real CLI process in its own pseudo-terminal: Claude Code, Codex, Gemini CLI, Antigravity, Grok, Kimi Code, Qwen, OpenCode, Crush, Pi, GitHub Copilot CLI, Cursor, or any custom command. Per-provider API keys and local models through Ollama, LM Studio, or vLLM are also supported.
The user briefs one orchestrator agent, Michael, which acts as their clone. It reads every request, assigns and routes work, resolves routine items itself, and escalates only spend, destructive operations, and scope changes to an approvals queue. Agents coordinate through a shared hive kept in a local git repository of plain files: per-agent memory, file-based mailboxes, a shared blackboard, and an append-only event log. Agents write to their own outbox, a router delivers messages to inboxes, and only the harness commits to git, which avoids lock conflicts. Each agent's Markdown memory is mined into a shared, searchable semantic index that persists across sessions.
Agents appear as avatars on an animated office floor that walk to stations as they work and pass envelopes when they message each other. Clicking a desk opens that agent's live terminal for reading and typing. A command center adds kanban tasks with dependencies and ticket keys, scheduled missions, a skills browser, cost reporting, and a built-in code editor with git history, diffs, and branch comparison. A circuit breaker steers, constrains, and then stops agents that loop, repeat errors, or exceed their token budget.
Work arrives from the app, by voice, from Slack, or through inbound webhooks, and Michael can spawn a short-lived worker for a Slack thread. The app also includes local dictation into any application, with a bundled Whisper model as the default engine, and a Pro feature, the Stapler, that transcribes both sides of a meeting and sends the transcript to an agent.
Features
- Terminal agents: wraps Claude Code, Codex, Gemini CLI, Antigravity, Grok, Kimi Code, Qwen, OpenCode, Crush, Pi, GitHub Copilot CLI, Cursor, or a custom command
- Orchestrator agent: one agent receives the user's requests, assigns work, routes messages, and escalates only critical items
- Hive coordination: per-agent memory, mailboxes, a shared blackboard, and an event log in a local git repository
- Semantic memory: Markdown memory from every agent is mined into a shared searchable index that survives restarts
- Human gates and circuit breaker: spend, scope, and destructive operations need approval, and runaway agents are steered, constrained, then stopped
- Office floor view: agents appear as animated avatars, and any desk opens its live terminal
- Per-agent git worktrees: optional isolation keeps parallel agents off each other's branches
- Command center: kanban tasks with dependencies, ticket keys, scheduled missions, fleet monitoring, and a CI watcher
- Budgets and observability: per-agent token budgets, cost from transcripts, a durable ledger, and OpenTelemetry spans
- Built-in editor: a code editor with a file tree, git history, diffs, and branch comparison
- Slack and webhooks: a Slack message or webhook can spawn a short-lived worker that replies in-thread
- Local dictation and meetings: dictation into any app and, in Pro, two-sided meeting transcription, with a bundled Whisper model


