One app. Many repos.
Even more agents.

Manifold orchestrates multiple AI agents across isolated branches so they never step on each other's code. No wrappers. No plugins. The real CLI, untouched.

Download for macOS
Claude Code — feature/auth-refactor~/manifold $ claude
⠋ Refactoring auth middleware...
  Updated: src/auth/middleware.ts
  Updated: src/auth/session.ts
  Created: src/auth/oauth2.ts
✓ 3 files changed
~/manifold $ 
Codex — feature/api-pagination~/manifold $ codex
⠋ Adding cursor-based pagination...
  Updated: src/api/routes.ts
  Updated: src/api/handlers.ts
✓ 2 files changed
~/manifold $ 
Gemini CLI — feature/test-coverage~/manifold $ gemini
⠋ Writing integration tests...
  Created: tests/api/pagination.test.ts
  Created: tests/auth/oauth2.test.ts
  Running: 24 tests...
✓ 24 passed, 0 failed
~/manifold $ 

Your tools. Unmodified.

Manifold doesn't wrap, proxy, or re-skin your agents. When you open Claude Code inside Manifold, it is Claude Code — the same binary, the same keybindings, the same output. Same for Codex. Same for Gemini CLI. Manifold gives each agent its own terminal, its own workspace, its own branch. You keep the experience you already know.

Claude Code

~ $ claude
Claude Code v1.0.12
Model: claude-opus-4-6

> refactor the auth module
I'll refactor the auth module to use
OAuth2 with PKCE flow...

  Updated: src/auth/middleware.ts
  Updated: src/auth/session.ts
~/project $ 

Gemini CLI

~ $ gemini
Gemini CLI v0.1.0
Model: gemini-2.5-pro

> write integration tests
I'll create integration tests for
the auth and API modules...

  Created: tests/auth/oauth2.test.ts
  Created: tests/api/routes.test.ts
~/project $ 

Codex

~ $ codex
Codex v0.1.0
Model: o3

> add cursor-based pagination
I'll add cursor-based pagination
to the API routes...

  Updated: src/api/routes.ts
  Updated: src/api/handlers.ts
~/project $ 

Same tools. Same output. Manifold just gives each one its own workspace.

Three agents. One repo. Zero conflicts.

Every agent works on its own isolated branch — a full copy of your codebase that stays in sync with main but never collides with another agent's work. Manifold creates, manages, and cleans up these branches automatically. You focus on what to build. Manifold handles where they build it.

Isolated branches Each agent gets a dedicated workspace branched from your main codebase. No merge conflicts between agents.
Automatic lifecycle Branches are created when you spawn an agent, removed when you're done. No manual git choreography.
Live status See which agent is running, waiting, or finished. Watch file changes stream in real time.
Conflict detection If two agents touch the same file, Manifold flags it immediately — before it becomes a merge nightmare.

One app. Every project. All your agents.

Register all your repositories in Manifold. Switch between them instantly. Spin up agents on any project with one click. Run a Claude Code agent refactoring your backend while a Gemini agent writes tests for your frontend — in two different repos, at the same time, from the same window.

Developers don't need dashboards. They need terminals.

Manifold's UI is a multi-pane terminal environment. Each agent gets a real PTY. You see raw output — streamed, unfiltered. Open a shell tab alongside your agents. Browse files and diffs without leaving the app. Everything is keyboard-navigable. No electron bloat. No loading spinners. Just your agents, working.

How it works

1

Register a project

Point Manifold at any git repository on your machine.

2

Spawn agents

Pick an agent (Claude Code, Codex, or Gemini CLI), describe the task, and launch. Manifold creates an isolated branch and drops the agent in.

3

Ship the work

Review diffs, commit changes, and create pull requests — all from inside Manifold.

Open source. Free. Built by developers, for developers.

Manifold is MIT-licensed and available on GitHub. Star it if you find it useful. Open an issue if you don't.

View on GitHub