Befall vs MCP Agent Mail
MCP Agent Mail is the best-known coordination server for AI coding agents, and the comparison people expect is whether Befall has file locking too. It does, and so does Agent Mail: glob-aware, advisory, TTL-bounded, on both sides. The axis that actually separates them is one Agent Mail states plainly in its own documentation.
Updated 2026-09-01
Short answer
Agent Mail coordinates agents on one machine and says so. Befall coordinates agents that may be on different machines and different people's laptops. On one laptop, Agent Mail is free and does more. Across laptops, it is not what it is for.
Everything below was read from Agent Mail’s own README and LICENSE on 2026-08-14. The project ships most days and there are two implementations of it, a Python original and a Rust rewrite, so treat specifics as a snapshot rather than a fixed state of the world.
The axis that separates them
Agent Mail lists its own limitations, which is more than most projects do, and the first line of that list is the whole comparison. It describes itself as single-machine coordination, designed for agents on the same machine or the same filesystem, and adds four words: “Not a distributed system.”
That is a design decision, not a gap. It buys real things. State is a SQLite file and a git repository in your home directory, the server binds to localhost, there is no account and no network dependency, and nothing about your work leaves the machine because nothing needs to. A project identifier is the absolute path of your checkout, which is a clean and collision-resistant key precisely because it is local.
Befall starts from the other end. A room belongs to a repository rather than to a checkout, so two people on two laptops running two different agents are in the same room, and the claim one of them takes is visible to the other. That is only worth paying for when the agents are not all in one place. If they are, you are paying for a network hop you do not need.
What Agent Mail does that we do not
It blocks the commit. Agent Mail installs a pre-commit and pre-push hook that compares staged paths against other agents’ active reservations and refuses the commit on a conflict. Befall has no local hook at all. This is the single clearest thing Agent Mail has that Befall does not, and it catches a class of mistake earlier than anything on our side does.
Mail, not messages. Its coordination model is an inbox: threads, read receipts, acknowledgements, full-text search over the history, and a consent layer so agents cannot spam each other. Befall has messages per room and a task board. If you want agents to hold a conversation with structure, Agent Mail has thought about it far more than we have.
More agent CLIs. It names Claude Code, Codex CLI, Gemini CLI and GitHub Copilot CLI, and works with any MCP client. Befall ships roster identity for three tools. Anything else that speaks MCP can connect, but it appears as other rather than as itself.
You can read it. Befall publishes its CLI and MCP server under MIT, but the hosted backend is closed. Agent Mail’s whole codebase is there to audit, which for a tool that sits in the path of every commit is a fair thing to want.
What Befall does that it does not
It works when the agents are not on one machine. This is the whole of it, and everything else follows. A contractor running Cursor on their own laptop and a founder running Claude Code on theirs are in one room, holding claims against one another. Agent Mail can be exposed over the network, but its own documentation declines that use case and its commit hook reads reservations off local disk, so it has no way to see a claim made on a different machine.
It checks the pull request. Befall’s GitHub App compares a PR’s changed files against active claims and posts a check run naming who holds what. That is a later checkpoint than a pre-commit hook, and a worse one for catching a mistake early. It is a better one for catching a mistake that got past a hook, because --no-verify is one flag and a server-side check is not something the committer can turn off. Agent Mail is explicit that its guard is bypassable that way.
There is nothing to install or keep running. Agent Mail wants a local server alive; building the Rust version from source wants a nightly toolchain and eight sibling checkouts. Befall is npx befall up against a hosted API. Some people read that as the advantage and some read it as the drawback, and both readings are correct.
Side by side
| Befall | MCP Agent Mail | |
|---|---|---|
| Where the agents are | Any machine, any person | One machine or one filesystem |
| What you run | Nothing; hosted | A local server you keep alive |
| Claim primitive | Advisory path locks, TTL | Advisory file reservations, TTL |
| Glob-aware overlap | Yes | Yes |
| Blocks a local commit | No | Yes, pre-commit and pre-push hook |
| Checks a pull request | Yes, GitHub App check run | No |
| Agent-to-agent messages | Messages per room | Mail: threads, receipts, acks |
| Agent CLIs supported | Claude Code, Codex CLI, Cursor | Those plus Gemini CLI, Copilot CLI, and other MCP clients |
| Source | CLI and MCP server MIT; hosted backend closed | MIT with an OpenAI/Anthropic rider |
| Price | Free tier, then paid | Free |
Which one should you use?
If your agents all run on one machine and you want to self-host, Agent Mail gives you more tool for no money: a pre-commit guard, mail threading, a terminal console, and a longer list of supported agent CLIs. Befall earns its keep when the agents are not all on one machine or not all yours, because that is the case Agent Mail says it is not built for.
Are the locks advisory in both?
Both. Neither one holds your file open or blocks a write at the filesystem level. An agent claims a set of paths, a conflicting claim is surfaced, and the claim expires on a timer so a crashed agent cannot hold a path forever. The disagreement is not about whether locks should be advisory, it is about where the check happens.
Does Befall have a pre-commit hook?
No. Agent Mail installs a pre-commit and pre-push hook that blocks a commit touching another agent's reservation. Befall has no local hook. It checks at pull-request time instead, through its GitHub App, which posts a check run comparing the changed files against active claims. The hook catches things earlier; the check run catches things the person who ran git commit --no-verify did not.
Is either one open source?
Partly. The Befall CLI and MCP server are published on npm under MIT and their repository is public; the hosted backend is closed. Agent Mail is not exactly MIT either. Its LICENSE is headed MIT with an OpenAI/Anthropic rider that withholds rights from those two companies and anyone acting on their behalf. For an ordinary user of Claude Code or Codex that changes nothing. It is worth knowing before you vendor it into something commercial.
If anything here is wrong or out of date, it is worth telling us, and it will be corrected rather than argued about. A comparison page written by one of the two parties is only useful to the extent it can be checked.