Model or dataset
chaitanyagiri/munder-difflin avatar
chaitanyagiri/munder-difflin

Munder Difflin: A Local Harness That Turns Terminal Coding CLIs Into a Coordinated Agent Team

A local multi-agent harness that works with your existing Claude Code, Codex subscriptions, allows you to run an office of agents

9,528 stars1,342 forksTypeScriptMIT

At a glance

What is it?
Munder Difflin is an Electron desktop app that wraps existing terminal agent CLIs, gives each one a mailbox and memory, and puts a router agent called Michael in charge. It is for engineers who already pay for Claude Code or Codex and want parallel agents without a new API bill.
Who is it for?
Adopt Munder Difflin if you already hold Claude Code, Codex or similar subscriptions, want several agents working in parallel on one machine, and are comfortable running a 0.x desktop app. Do not adopt it if you need a headless, scriptable orchestrator for CI, or if you cannot accept that agent coordination depends on a router agent making judgement calls.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • chaitanyagiri/munder-difflin9,528 ★ · +2,699
Star history
Repository2026-09-102026-11-14
chaitanyagiri/munder-difflin6.8k9.5k

2,699 Stars in the last 65 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The Problem: Subscription CLIs Do Not Talk to Each Other

A single Claude Code or Codex session is a conversation with one model in one terminal. If you want three tasks done at once you open three terminals, and then you are the router. You copy context between them, you decide which one handles what, and you remember what each one concluded. The subscription covers the tokens; it does not cover the coordination.

Munder Difflin targets exactly that gap. Its README describes the project as an "agent harness to run an office of your clones" and states that it wraps Claude Code, Codex, Gemini CLI, Qwen, OpenCode, Crush, Copilot CLI and others, running each as a real process in its own pseudo-terminal. The intended user is someone who already pays for one of those CLIs and wants parallel work without buying a separate agent API. The README is explicit that agents run "with your existing subscription and its hourly limits", so the cost model is your existing plan, not a per-token bill from a new provider.

What Actually Runs Under the Floor: node-pty, xterm.js and a Router

The architecture visible in the README is layered. At the bottom, each agent is a real CLI process spawned into a pseudo-terminal via node-pty. The README says sessions are "byte-for-byte authentic" and rendered with xterm.js, which means the app is not reimplementing the CLI's protocol. It is hosting the terminal.

Above that sits the coordination layer. According to the README, each agent gets long-term memory and a mailbox, a router moves messages between inboxes, and a GOD agent adjudicates and assigns work, escalating to you only when needed. The agent you talk to directly is Michael, described as your clone and the boss of the floor. On top of that is the visual layer: a Pixi.js office floor where sessions appear as avatars that walk to stations and where "envelopes fly desk-to-desk when they message each other".

The stack listed in the README is Electron, React, TypeScript, Pixi.js, xterm.js and node-pty. That combination tells you what kind of program this is: a desktop application with a terminal emulator and a 2D renderer, not a library you import. The README also points to a separate docs/ARCHITECTURE.md file for project structure, so the README itself is a summary rather than a complete specification.

Getting It Running: Download First, Build Only If You Want To

The README gives a direct path: a download link for version 0.5.6 on macOS, Windows or Linux, with the note that macOS builds are signed and notarized and that you do not need to build from source. The repository is TypeScript with an Electron front end, and the README lists a CONTRIBUTING.md, so building from source is a contributor path rather than a prerequisite.

On the agent side, the README lists the CLIs it wraps: claude, agy, codex, grok, kimi, qwen, opencode, crush, pi and copilot, plus "any custom command". The implication is that the harness expects those binaries to be installed and authenticated on your machine already, since it runs them as processes rather than calling their APIs. The README also mentions bring-your-own keys and local models through Ollama, LM Studio or vLLM, which covers the case where you do not have a subscription CLI at all.

For the exact configuration of a custom command or a local model endpoint, the linked docs and the CHANGELOG are where to look.

The Coordination Model Has a Single Point of Judgement

Michael, the clone agent, is the router. The README says he "routes work between them while you watch" and that the GOD agent adjudicates and assigns. That is a deliberate design choice, and it has a cost: the quality of the whole floor depends on the routing decisions of one agent. If Michael misreads a task, the wrong desk gets the envelope, and the failure is a coordination failure rather than a model failure.

The README frames this as a feature ("he's the boss of the floor; you're still the boss of him"), and for interactive work it probably is. But it means Munder Difflin is not a deterministic scheduler. If your workflow needs auditable, repeatable dispatch, a plain script that launches CLI processes and pipes files between them will be more predictable, even though it will not have memory or a mailbox.

There is a second constraint implied by the design: every agent is a terminal process. That is what makes the harness work with subscriptions instead of API keys, but it also means each agent occupies a real process with real resource usage, and the README's own framing of agents "walking to stations" suggests a bounded floor rather than unlimited horizontal scaling.

Where the Visual Layer Helps and Where It Gets in the Way

The office floor is the most distinctive part of the project. Sessions become avatars, movement reflects work state, and messages appear as envelopes between desks. For a single developer running five or six agents, that is a genuine improvement over six terminal tabs, because it makes the state of each session visible at a glance.

The trade-off is that it is a GUI. The README describes a desktop app, and the whole product is built around watching the floor. If your use case is "run this overnight on a build server and read a log in the morning", Munder Difflin as described is the wrong shape.

The README does include a Telemetry section, which is worth reading before you point it at private repositories. That is the first thing to check.

Compared With a Plain Script or a Hosted Orchestrator

The obvious alternative is a shell script that spawns several CLI processes with different prompts and writes their output to files. That approach is completely transparent, has no dependencies beyond the CLIs you already have, and costs nothing extra. What it lacks is exactly what Munder Difflin adds: agents that can message each other, memory that persists across sessions, and a router that can reassign work mid-flight. A script cannot do those things because each process is isolated by design.

The other alternative is a hosted orchestration framework that calls model APIs directly. Those give you programmatic control and reproducibility, and they scale beyond one machine. The difference in approach is fundamental: a hosted framework pays per token and requires API keys, while Munder Difflin runs your existing subscription CLIs as child processes and inherits their hourly limits. The README leans on that distinction heavily, describing the project as "free, open source and performant" and built to work "with the subscriptions you already pay for". If your subscription limits are generous, that is a real advantage. If you routinely hit those limits, the harness does not remove them, it just gives you more agents competing for the same quota.

Maintenance, Licence and the Pre-Release Question

The licence is MIT, which permits commercial use, modification and redistribution with the copyright notice retained. That is permissive and unremarkable; it does not impose copyleft obligations on your own code. This is not legal advice, and if you plan to redistribute a modified build you should read the LICENSE file yourself.

The repository is not archived and the release history shows v0.5.5 on 2026-10-01, following v0.5.3 and v0.5.2 in September 2026, and the README already offers a 0.5.6 download. That combination, frequent releases on a 0.x version line, tells you the API surface and the app behaviour are still moving. Expect to re-check configuration after upgrades, and expect the CHANGELOG to be the document that matters when something breaks.

The maintenance cost that is easy to miss is the CLI layer. Munder Difflin wraps other people's tools. When Claude Code, Codex or Gemini CLI changes its terminal output or its flags, the harness has to follow. You are taking on a dependency on the release cadence of every CLI you enable, not just on this project's own cadence.

Who Should Install It and What to Check First

Munder Difflin fits a specific person: a developer who already runs one or more subscription coding CLIs, works on a desktop machine, and wants several agents cooperating on related tasks without writing glue code. The memory and mailbox features are the reason to choose it over opening more terminals, and the office floor is the reason it is pleasant to leave running.

It does not fit anyone who needs headless execution, deterministic task dispatch, or a guarantee that agent-to-agent messages follow a fixed protocol. The router is an agent, and agents make judgement calls.

Before installing, verify three things directly from the repository. First, confirm your CLI is on the supported list or that the custom command path works for it. Second, read the Telemetry section and decide whether the default is acceptable for the code you plan to point at it. Third, check the release notes for your platform, since the README states macOS builds are signed and notarized but does not make the same claim for Windows and Linux. If all three check out, the download link in the README is the fastest way in.

Editorial conclusion

Adopt Munder Difflin if you already hold Claude Code, Codex or similar subscriptions, want several agents working in parallel on one machine, and are comfortable running a 0.x desktop app. Do not adopt it if you need a headless, scriptable orchestrator for CI, or if you cannot accept that agent coordination depends on a router agent making judgement calls. Before installing, verify three things from the repository: that your CLI is on the supported list or can be added as a custom command, that the release for your platform is signed (the README states macOS builds are signed and notarized), and what the telemetry section of the README says about what is sent and how to turn it off.

Frequently asked questions

What is Munder Difflin?

A free, open source desktop multi-agent harness that turns the terminal coding CLIs you already run and pay for into a coordinated office of agents. Each CLI runs as a real process in a pseudo-terminal, the sessions appear as avatars on a shared 2D office floor, and a clone agent named Michael routes work between them. It is built with Electron, React, TypeScript, Pixi.js, xterm.js and node-pty.

Which coding agents can Munder Difflin run?

Claude Code, Codex, xAI Grok, Kimi Code, Gemini CLI, Antigravity, Qwen, OpenCode, Crush, Pi, GitHub Copilot CLI and Cursor, plus any custom command. You can also bring your own keys and run local models through Ollama, LM Studio or vLLM. Each runs as a real process with your existing subscription and its hourly limits.

How do the Munder Difflin agents message each other?

Through mailboxes. According to the README, each agent reads its memory and drains a mailbox, the router moves messages between inboxes, and the GOD agent adjudicates, assigns and escalates only when it needs you.

Do I need to build Munder Difflin from source?

No. The README states you do not need to build from source to use it, offers downloads for macOS, Windows and Linux, and notes that macOS builds are signed and notarized. The open source build is available on the GitHub releases page, and packaging per platform is done with electron-builder.

Official sources

  1. chaitanyagiri/munder-difflin on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/chaitanyagiri-munder-difflin.svg)](https://hysenlabs.com/projects/chaitanyagiri-munder-difflin)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/chaitanyagiri-munder-difflin.svg)](https://hysenlabs.com/projects/chaitanyagiri-munder-difflin)

Was this useful?