The multi-agent IDE built on pi

One mission.
Many agents.
Your IDE.

Take on work bigger than one prompt. Run independent tasks in isolated lanes, delegate focused pieces inside each lane, and stay close to every decision, diff and result.

A full editor, terminal and review environment around pi’s small, extensible agent harness. Bring Astra, Opus 5.5, Sol 6.1, or another configured model. Use your existing subscriptions or API keys. You choose the team.

macOS · Linux · WindowsFree · MITBuilt in Phosphor ↓
Curated replay of the Phosphor Remote Hosts lane: the parent records a scoped approval while four workstreams appear beside the Host worker’s parent guidance.
Remote Hosts: one parent, four bounded workstreamsRecorded work · curated replay ↗

Real work / Phosphor Remote Hosts

An ambitious feature.
Not one giant prompt.

One parent coordinated four workstreams. Workers asked before crossing their scope. Independent reviewers challenged the results. The parent owned integration.

01 / WORKSTREAM

Enrollment API

Routes, identity boundaries and cross-account access checks.

02 / WORKSTREAM

Host lifecycle

Readiness, heartbeats, graceful shutdown and recovery.

03 / WORKSTREAM

Desktop live status

Live updates, reconnects and signed-out safety.

04 / WORKSTREAM

Docs & roadmap

What exists, what is decided, and what is still a design question.

The part a chat log doesn’t show

A team you can
actually inspect.

  1. Scope is explicit. A worker needed to change shared shutdown code. The parent approved a narrow exception and required existing behavior to stay tested.
  2. Review is a separate job. Security, correctness and documentation reviews ran independently. “Finished” was not treated as “accepted.”
  3. A failed run need not mean lost work. After a worker connection failure, a replacement continued from retained work and the recorded decisions.

The capture above replays selected, redacted records in the real Phosphor UI. Task labels are expanded; activity is historical, not live. This lane predates the Swarm switch. Remote Hosts is the feature being built, not a claim that remote execution is available.

Your models. Your division of labor.

Different minds.
One accountable workflow.

The recorded parent used Astra and Opus 5.5 at different points; Sol 6.1 was assigned to workers and reviewers. Here is one way to divide a new mission.

EXPLORE & PLAN

Astra

Map the codebase, examine dependencies, and turn an open question into bounded work.

ORCHESTRATE & INTEGRATE

Opus 5.5

Delegate the pieces, answer scope questions, weigh review findings, and assemble the result.

IMPLEMENT & REVIEW

Sol 6.1

Build focused changes. Use separate reviewer runs to challenge them before integration.

Example roles, not built-in presets or a benchmark. Choose available models and thinking levels through pi and pi-subagents. Phosphor does not automatically assign these models. Claude subscriptions can connect through pi-claude-cli.

Across the whole project

Parallel work.
A clear next move.

A team inside one lane is only half the story. Work on several features at once, without mixing their branches or losing the one task that needs your decision.

Phosphor gives each task a lane: its own agent, its own worktree, its own diff. The home screen sorts lanes into Waiting on you, Ready to merge, Needs a push, In review, and Running, so you know where to look next.

Phosphor’s lane dashboard with parallel sessions, a ready-to-merge task, and project usage.
Lanes from Phosphor’s own developmentReal session ↗

01 / How it works

Start with
a chat.

Type what you want done. Every tool call and edit shows up as it happens, and each chat runs on its own branch.

Phosphor’s chat-focused layout with a session sidebar, conversation, inline edit, and composer, with no auxiliary pane open.
Chat first, with the agent’s work one click awayReal session ↗
01 / ISOLATE

One task, one branch.

Open a folder, pick a model, and the session starts in its own Git worktree. Start a second task and it gets a separate checkout.

02 / INSPECT

See what it actually did.

Expand any tool call for its arguments and output. Open an edit for its diff. Review every changed file against where the session started, and revert what you don’t want.

03 / KEEP

Plans and docs stick around.

Plans, diagrams, and HTML pages the agent writes are saved as versioned artifacts. Reopen the session later to read, edit, or compare versions.

Make room
for the code.

Open the file explorer and editor next to the chat, or give them the whole window. The same session works as a chat app or as an IDE. Your call.

Phosphor’s IDE-style layout with a wide Monaco editor and file explorer on the left, the agent conversation on the right, and the session sidebar hidden.
Explorer and editor on the left, agent on the rightReal session ↗
More layouts +

Files, Changes, Terminal, or Artifacts, one pane at a time. Dock it left or right, resize it, or go fullscreen. Each session remembers its layout.

Choose a layout
Files and Monaco beside the conversation
Files and Monaco beside the conversationReal session ↗
The same pane docked to the left
The same pane docked to the leftReal session ↗
The pane takes over the session area
The pane takes over the session areaReal session ↗
How panes work ↗
Changes and artifacts +
An inline edit with the Changes pane beside the conversation.
Review the agent’s editsReal session ↗
A document in the versioned artifact pane beside its conversation.
Artifacts open next to the chatReal session ↗

PR status comes from the gh CLI. Merges happen locally with git, not through GitHub. Artifact HTML runs isolated with no network access. That isolation covers the page, not the agent’s tools.

Resume old sessions, fork a conversation, or queue a follow-up while the agent is still working. Recurring work can run as a local routine: a new session on a schedule, on your machine while it’s awake, not in the cloud.

02 / Models and accounts

Use the plans
you already pay for.

Sign in with a subscription, add an API key, or point at your own endpoint. Switch models mid-session without losing the conversation.

ChatGPT

Plus / Pro

Sign in with pi’s built-in Codex login.

Claude

Pro / Max

Runs through the official Claude Code CLI with a pi provider package.

GitHub Copilot

Copilot subscription

Sign in through pi. For Enterprise Server, use pi’s terminal login.

Kimi

Kimi For Coding

Sign in with your coding plan through pi.

Switch models
mid-session.

Search every model you’re signed into, across providers, with its context size and price. Pick a different one for the next turn and the conversation carries over.

The chip names what actually serves the session, so you can tell your Claude subscription (pi-claude-cli) from API-billed Anthropic.

The model menu in the composer: a search box, provider filters, and models with their context size and price.
Every model you’re signed into, in one listReal session · cropped ↗

See what a
session costs.

The context meter shows tokens and cost as reported, an estimate of what’s filling the context, and how much of your Claude or ChatGPT plan is left.

How the context meter works ↗
The context meter popover: context use by category, MCP servers, token and cost totals, and Claude plan usage.
Context, cost, and plan usage for one sessionReal session · cropped ↗

Claude subscriptions need the Claude Code CLI and the pi-claude-cli package. Your provider bills you for subscriptions and API usage. Phosphor itself is free. Pick a sign-in route →

03 / Extensions

Coding works out of the box.
Install the rest.

pi runs the agent loop and connects MCP services. Packages add tools on top: web search, subagents, computer use. Phosphor installs, updates, and configures them from Settings.

04 / Connectors

Your tools,
in the same session.

Connect the services you want the agent to use through pi’s built-in MCP. No more pasting tickets and logs into the chat.

MCP Connectors settings with a connected-server list and the catalog of available services, using example configuration.
Add, sign in, and check connections from SettingsSettings demo · example data ↗

Setting up and checking a connector doesn’t call a model. Using its tools in a task does, and may count against the service’s quota. pi stores OAuth tokens, not Phosphor. Slack needs your own registered Slack app.

Built in the open

Phosphor is built
in Phosphor.

The lane board under “The problem” is real work on this repo. Every green merge to main that changes the app ships a release for all three platforms, and most installs update themselves.

FAQ

Questions
people ask.

What is pi, and do I need it?

Yes. pi is the agent harness: small, simple, and built to be extended. Phosphor is the IDE around it. Every session is a real pi process, so your pi setup, extensions, and sessions carry over. Install it with npm first (Node 22.19 or newer). pi’s docs ↗

How is this different from Claude Code or Codex in a terminal?

A terminal gives you a scrolling log. Phosphor shows each tool call with its output, each edit as a diff, and every file the agent changed since the session started, with a revert button. Each task runs in its own worktree, and one screen shows which tasks need you.

Can I use my Claude or ChatGPT subscription?

Yes. ChatGPT Plus and Pro sign in through pi. Claude Pro and Max run through the official Claude Code CLI with the pi-claude-cli provider, and you can add more than one Claude account. GitHub Copilot and Kimi For Coding work too, and so do API keys and custom endpoints. Sign in to several, and a lane can move to another plan when one runs out. Subscriptions and accounts →

What does it cost?

Nothing. Phosphor is free and MIT licensed. You pay your model provider, the same as you would without it.

Does the agent ask before running commands?

No. pi runs tools with full permissions, and Phosphor doesn’t add prompts of its own. Worktrees keep branches apart, not files or network access. If you want a confirmation before risky commands, install a permission gate. The repo has an optional one, and Phosphor shows its questions in a review sheet. The optional gate ↗

Does my code leave my machine?

Phosphor runs on your computer and needs no sign-up. Your model provider gets the prompts and tool results you send it, and connected services see what the agent asks them for. Your sessions don’t go through any Phosphor server. Permissions and data →

How many agents can I run at once?

As many as your machine can hold. Each live session is its own pi process, about 170 MB when idle, and nothing closes idle ones for you yet. Right-click a lane and choose Suspend to free that memory.

Does it run on Windows and Linux?

Yes. macOS gets a DMG, Linux an AppImage or .deb, and Windows an .exe installer. Windows builds aren’t code-signed, so SmartScreen warns you on the first install.

Is there a cloud or remote version?

Remote-access foundations are being built in the open, including Host identity and machine approval. They are not a shipping remote-execution service. Today’s agent sessions run locally; routines need the computer awake. See the current remote-access boundary.

Start here

Install it.
Give it a real task.

Two commands on macOS or Linux. Phosphor needs pi on your PATH, so install pi first.

  1. 1 / pi, the agent · Node 22.19+
    npm install -g @earendil-works/pi-coding-agent
  2. 2 / Phosphor · macOS and Linux
    curl -fsSL https://github.com/agustinsacco/Phosphor/releases/latest/download/install.sh | sh

On Windows, run the .exe from the latest release. The script checks release checksums, but it’s still a script piped into your shell, so read it first if you’d rather.

MIT licensed. Runs on your machine, not as a hosted service. The agent’s tools have full permissions by default, and your providers see whatever you send them. Permissions and data →