ProliferateDocs
Join the beta

How Proliferate works

How the pieces of Proliferate fit together.

Proliferate runs coding agents like Claude Code, Codex, OpenCode, and Cursor inside git-backed workspaces, and leaves a diff you review before anything ships. This page is the map; Architecture is the detail.

Proliferate desktop workspace after an agent edited a README, with the completed session transcript in the center and the Changes panel showing the unstaged README diff on the right.
Agent work streams into the session while the workspace keeps the resulting file changes ready for review.

Workspaces#

Every task happens in a workspace: one repository and branch, one execution target, and the chat, sessions, and review state that go with them. The files live at that target on your machine, and that is what the agent reads and edits.

Open a workspace, pick an agent and a model, send a prompt. The agent works, streams progress back, and leaves a branch.

Three layers make that work:

LayerWhat it is
Client (desktop or web)The surface you look at: chats, terminals, files, git review, settings.
Control plane (server)Owns product metadata and configuration: accounts, orgs, workspace records, authentication, credentials, billing, integrations, projections, and routing.
Runtime (AnyHarness)Drives the agent on your machine, and is authoritative for runtime state: sessions, transcripts, terminals, and materialized workspaces.
Architecture diagram showing the desktop or web client connected to the Proliferate control plane and an AnyHarness execution environment. Connected integration calls route through the integrations gateway, while model calls go directly to a provider or through the optional model gateway.
Connected integration calls always pass through the integrations gateway. Model calls can go directly to a provider or through the optional managed gateway.

Where credentials live#

The client never calls a model provider or a third-party tool itself.

Integration credentials stay server-side. The agent reaches Linear, Notion, or Slack through a Proliferate gateway that proxies each call, so it never sees the token. Model auth depends on the route you pick: a native login, your own API key, or the managed gateway. Architecture has the exact split.

The target, chosen up front#

You pick where a workspace runs when you create it: a local checkout or a new worktree. Both behave the same in chat, terminals, files, and review, and differ in what they isolate. One local runtime serves all of them.

Moving work between targets is just git: push the branch, open it somewhere else. See Isolated workspaces.

Agents run natively#

Proliferate does not reimplement Claude Code, Codex, or any other agent. It launches each through its own CLI or protocol, so you get that agent's real behavior. Authentication, models, and permissions therefore vary by agent. See Agents.

Where to go next#