Devpipe / Asylum

The desktop half of Devpipe

Stop betting the afternoon on one agent.

Asylum runs a fleet of coding agents against the same prompt at once — each in its own git worktree, so none can touch another's files. When they finish, you compare the diffs, run the project's real checks, and merge the winner.

Devpipe keeps your work running on a machine that isn't your laptop. Asylum is where you watch it happen: a native, GPU-rendered desktop app with terminals, an editor, a browser and a notes vault built in. One is the compute; the other is the cockpit.

The loop

Three words run the whole app. A project is a repository. A task is a prompt. A run is one agent's attempt at that task.

  1. Pose. Write one prompt against the repo. Make it small and verifiable — a clear success criterion is what lets you score the results later.
  2. Fan out. Pick the agents to race. Asylum allocates a branch and a worktree per agent, then launches each one in its own pane.
  3. Track. Every run reports a semantic state — working, blocked, done, idle — so you can see which agent is stuck waiting on you without clicking through six panes.
  4. Review. Read the annotatable diffs side by side. Leave inline comments and ship them straight back to the agent. Run the project's own type checks, linters and tests for a PASS or FAIL.
  5. Merge. Pick the winner and merge it behind a guarded preflight, or open a pull request. The losers' worktrees are cleaned up.

What's in the window

Worktree isolation

One repository, one worktree per agent, each on its own branch, all sharing a single object database. Two agents never step on each other, and Asylum creates and tears the worktrees down for you.

31 agents, your choice

Claude Code, Codex, OpenCode, Gemini, Aider, Cursor and more, plus any CLI you define yourself. Bring your own accounts and hot-swap between them.

Agents that remember

Give an agent a name and it stops starting from nothing. A brief, and a growing list of what it learned about this repository — that the tests need a database up, that the generated files are not the ones to edit — put in front of every prompt it gets. It writes to that memory itself, as it works.

Work that starts without you

Schedule a task on a cadence and review what you find in the morning; it is an ordinary run in every way that matters. Or record a workflow once in an instrumented shell and replay it — commands, not keystrokes, so it does not break when a window moves.

Semantic states

Runs self-report working, blocked, done or idle as a coloured chip, rolled up on the board. The point is spotting the one agent that needs you.

Review that ships back

Unified and side-by-side diffs, per-hunk staging, and inline comments that go to the agent as feedback rather than dying in a review tab.

Terminal, editor, browser

GPU-rendered terminals with splits and persistent scrollback, a code editor with a file tree, and an embedded browser with design mode — click an element, send its HTML and CSS to an agent.

A notes vault

Markdown with YAML properties, [[wiki links]], backlinks, tags and templates. Attach a note to a task and it becomes agent context.

Secrets agents never see

An encrypted project-scoped store holds a credential; a masked local proxy spends it. The agent uses a key it is never shown.

One MCP endpoint

A gateway aggregates every configured MCP server under per-service namespaces, so agents connect to one loopback server instead of configuring N — and every tool call is attributed to its run.

It asks before it runs your repository

A repository's asylum.toml can declare setup commands and environment overrides, and both of those execute — setup through a login shell with your privileges, environment straight into every agent process. Opening a repository does not grant permission to run it.

Until you trust a project, its setup commands and environment overrides are withheld — and the prompt that asks restates the exact commands, so you are deciding about something you can read rather than a yes/no about a name. Trust is per-repository and revocable, and checks are gated the same way, because they run scripts the repository declares for itself.

Install

macOS builds are signed and notarized. Linux ships .deb, .tar.gz and .AppImage; Windows ships .msi and .zip.

brew install --cask wess/packages/asylum

Or take a build straight from the releases page. Asylum is a packaged desktop app — running it needs no Rust toolchain.

Where to go next