atriumatrium
Human-in-the-loop coding agents

The control room for real coding agents.

Launch them, steer them, inspect their work, and recover the whole session across crashes, reboots, and reopenings.

Most AI tools give agents a task. atrium gives humans and agents a shared environment.

Persistent workspace stateInter-agent communicationProgrammable protocol

Core pillars

What makes atrium atrium

atrium is built around three core ideas: the room persists, the work stays visible, and coordination happens inside the workspace instead of outside it.

atrium restore chooser listing 14 AI agents and 1 process ready to relaunch across saved rooms

atrium restores panes, layout, scrollback, working directories, branch and worktree context, and compatible agent sessions after a quit, crash, reboot, or reopen.

Parallel without chaos

Fan out as many agents as you have ideas.

Every task launches into its own worktree-isolated room. Branches don't collide, diffs don't drift, agents don't fight over the same files. Review them side-by-side when they're done.

main·4 worktrees · 4 agents · 0 conflicts
parallel rooms
ATR-42·feat/auth-refactor
Refactor session handling
runningclaude-code
ATR-43·fix/flaky-auth-test
Fix flaky integration test
runningcodex
ATR-44·perf/db-pool
Tune Postgres pool sizing
runningcursor
ATR-45·docs/onboarding
Rewrite onboarding guide
runninggemini

Task launches a worktree

One command — `task launch ATR-N --worktree` — spins up an isolated git worktree, a fresh room, and an agent already pre-bound to it. No setup, no collisions.

Branches stay isolated

Every agent works on its own checkout. Refactor, build, and break things in parallel — without stomping each other's diffs or fighting over locked files.

Review before it lands

Attributed diffs, anchored comments, and resolvable threads, side-by-side across rooms. Nothing reaches main until you say so.

Agent oversight

See every agent at a glance.

A live sidebar that tracks every agent across every workspace — working, waiting, parked, or dismissed. Step in when it matters, stay out when it doesn't.

Live state per agent

Working, waiting, later, or dismissed — at a glance, across every workspace.

Stop runaway processes in one click

Every active terminal surfaces its running command. Kill a stuck process, replay the last one, or jump to its pane — without leaving the sidebar.

Know when to step in

System notifications when an agent starts waiting on you — not every time it speaks.

Jump straight to any agent

Click an entry to focus the agent's pane and switch into its room — no hunting through workspaces.

Dismiss without losing context

Pause any agent. Its pane snapshots and session resume exactly where they left off.

Nudge agents back to work

One click on a stalled card sends a 'please continue' straight into the agent's session — no switching rooms or retyping context.

Mission

Build the room where humans and agents can actually work together.

Not another AI IDE. Not unattended orchestration.

atrium exists to turn AI coding from isolated prompts into durable collaborative work.

The goal is not to hide the agent or replace the human. The goal is to give both a durable place to coordinate, inspect progress, recover context, and keep momentum.

01

Rooms, not tabs

02

Context, not resets

03

Oversight, not guesswork

Steerable

Humans stay in the loop. Agent work should be redirectable, inspectable, and easy to recover.

Shared

Humans and agents should inhabit the same operating context instead of rebuilding everything from scratch on every handoff.

Persistent

Real work carries forward over time. Sessions, panes, context, and structure should survive interruption without drama.

Bring Your Own

Shell

zsh, bash, fish — your shell, your dotfiles, your muscle memory.

The shell has been around for decades. CLI agents are making it powerful again. atrium doesn't replace any of that — it gives your existing tools a durable place to work together.

The rest of the room is already built in

Files, browser research, tasks, search, source control, and workspace controls are part of the environment, not separate apps you have to stitch back together around the agent.

Worktree-aware file tree

Follows the focused terminal's branch. Git status inline. Drag files into panes.

Language-aware editor

Monaco + LSP for TypeScript, Python, Bash, and YAML — with ESLint and Ruff diagnostics inline.

Launch agents on tasks

Fire a task card into a fresh worktree with one command. Agent starts pre-bound, room labeled, context ready.

Speech-to-text

Talk to your agents. Hands off the keyboard, dictation into the focused pane.

Inter-agent messaging

Agents discover each other, read context, and send framed messages across panes with scope controls.

Markdown editor

Rich text editing with comments, table of contents, and Mermaid diagrams.

Built-in source control

Stage, diff, commit, push, and drill into commits without leaving the workspace.

Review agent work

Review attributed diffs, leave anchored comments, resolve threads, and send feedback back to agents.

CLI-controllable browser

Research, navigate, and automate live web pages from inside atrium with a built-in browser pane.

Repo search

Search file contents and filenames with regex, live streaming results.

Built-in task board

Track work with shared tasks, comments, statuses, and filters that live inside the same app.

Native workspace controls

Split panes, drag-to-rearrange, tabs with layout diagrams, global zoom, themes.

The CLI is the API

Scriptable from day one.

Every pane, task, agent, room, and browser is one CLI call away. Drive atrium from your shell, your scripts, or the agents themselves — atrium exports $ATRIUM_CLI_PATH into every pane it owns.

$ATRIUM_CLI_PATH
$ atrium task create --title "fix flaky auth test" --priority high
✓ ATR-42 created
$ atrium task launch ATR-42 --adapter claude-code --worktree
✓ worktree created · agent started · bound to ATR-42
$ atrium agent list --json | jq '.[] | .room'
"auth-refactor" "integration-tests" "docs-pass"
$ atrium browser snapshot e2f1 --visible-only

One binary, every surface

Tasks, panes, rooms, workspaces, agents, browsers — all addressable from the same CLI.

Designed for agents and humans

Every command accepts --json. Agents script atrium. Humans script atrium. Same surface.

Self-documenting

Every verb has --help with exact flags. The CLI is the contract, and it can't drift.

A programmable environment under the hood

atrium is not just a shell with tabs. Its internal protocol and state model make the workspace addressable. Agents are not merely running inside the app — they are operating within a shared environment the app can restore, inspect, and coordinate.

Human

atrium

Persistent · Programmable

Protocol · State · MCP
Agents

atrium:// protocol

URI-based dispatch for pane, workspace, command, hook, and MCP operations

MCP tools

Agents list panes, read output, inspect context, and write to other panes

State-backed workspace model

Every namespace addressable, restorable, and observable via the state registry

Trust boundary

Your code never leaves your machine.

Local-first by design

Every workspace, session, and scrollback lives on disk in ~/.atrium/. Your code never leaves your machine.

Your agents, your accounts

atrium coordinates the CLI agents you already authenticate. No atrium account. No model key in our hands.

Opt-in telemetry only

Usage diagnostics are off unless you turn them on. Crash dumps stay local until you explicitly share them.

Early Access

Help shape what atrium becomes

Early access isn't a trial — it's a collaboration. The features you request, the bugs you find, and the rough edges you flag go straight into the roadmap. Come build the workspace you actually want to work in.

Open the room once.
Come back to it anytime.

Built for developers working with real coding agents today, with a development environment that gets more capable as the agents inside it do.

Claude Code, Codex, and Gemini CLI supported out of the box, with a growing adapter model underneath. macOS today. Windows and Linux coming.