Work in progress. A fork of Zed, rebuilt for agents.

A workbench for building software with agents.

Mutex gives each task a persistent thread with its own git worktree. Agents make changes in isolation; you review the diff and decide what lands.

In active development. No download or waitlist yet; the source is public.

mutex.so / threads
task threads Persistent history and context survive the session
core Rust inherited from Zed
isolation Worktrees one checkout per task

> new thread: migrate settings loader

linked worktree created

agent editing in isolation

✓ branch diff ready for review

✓ merge · create PR · archive

Persistent task threads Isolated git worktrees Reviewable diffs Explicit landing and archive

Threads, not chat sessions

Every task gets a thread that outlives the conversation.

Mutex treats a task as a unit of work with state. A thread keeps its agent, context, and history together, can run in its own git worktree, and stays reviewable until you land or archive it.

01

Persistent threads

Threads keep their history and context across sessions. Archive one when it is done and restore it later.

02

Worktree isolation

Give a thread a linked git worktree so parallel tasks do not edit the same checkout.

03

You land the work

Review the full branch diff, then merge, open a pull request, or archive the thread.

The foundation

A fork of Zed, rebuilt around agents.

Mutex inherits Zed's Rust and GPUI core. Zed names that remain in crate paths and scripts are implementation inheritance; the product is Mutex.

Zed's core, inherited

The editing surface, git integration, and rendering come from Zed's codebase while Mutex builds a different workflow on top.

Parallel threads

Run several threads at once. Retry a task in a new worktree and compare the attempts side by side.

Reviewable diffs

Review Changes opens the branch diff against its merge target: everything the thread would land.

Explicit landing

Merge into the base branch or push a pull request from the thread. Conflicts stop the merge instead of hiding it.

From thread to landed change

The loop Mutex is built around.

1

Start a thread

Describe the task. Give the thread a fresh linked worktree when it should work apart from your checkout.

2

Let the agent work

The thread runs independently. Start another one, or retry the same task in a new worktree.

3

Review the diff

Open the branch diff against its merge target and read exactly what would land.

4

Land or archive

Merge into your branch or create a pull request. Archive the thread when the work is done.

Built in the open

Mutex is a work in progress. The source is public.

There is no download or waitlist yet. If the direction interests you, the repository is the place to watch it take shape.

Expect rough edges, unfinished flows, and frequent changes.

FAQ

Questions developers will ask first.

Is Mutex an editor with a chatbot attached?

No. Mutex is a workbench for directing software agents, organized around task threads, worktrees, and diffs. It inherits Zed's editing surface, but the product is the agent workflow.

Why fork Zed?

Zed provides a mature Rust codebase with rendering, editing, and git support, so Mutex can focus on the agent workbench instead of rebuilding those layers.

What works today?

Persistent threads, linked-worktree isolation, retrying a task in a new worktree, branch-diff review, and merge, pull request, and archive flows. All of it is under active development and changes often.

Can I try it today?

There is no packaged download. The source is public on GitHub, and you can build it yourself if you are comfortable running an unfinished tool.