{"slug": "atlas-planning-surface-for-coding-agents", "title": "Atlas: Planning Surface for Coding Agents", "summary": "Atlas, an open-source planning surface for coding agents, records every agent run as checkpoints linked to prompts, tool calls, and reasoning, and supports running Claude Code, Codex, and other ACP agents side by side with shared memory. The tool, built by Pacifio, keeps code and sessions local by default and aims to solve the problem of agents losing context between sessions.", "body_md": "Atlas is source control for coding agents. Every agent run produces checkpoints: commits are linked back to the session that made it alongside the prompts, tool calls, and reasoning. You see which agent did exactly what and why.\n\nRun Claude Code, Codex, Atlas's own agent, or anything from the ACP registry side by side against the same codebase, with shared memory so switching agents mid-task doesn't mean starting over.\n\n**Every commit, explained.** A checkpoint links a commit back to the session that produced it: prompts, tool calls, and file changes kept together, queryable months later.**Run any agent, side by side.** Claude Code, Codex, Atlas's own agent, and the wider ACP registry, all in the same window, against the same codebase. Switching agents mid-task doesn't mean starting over.**One memory, every agent.** A decision Claude Code made shows up in Codex's next prompt. Plans, file changes, failures, and architecture notes are shared automatically, matched on-device against what you're asking about.**Your notes are agent context.** Markdown in`.atlas/knowledge/`\n\n, plus the`CLAUDE.md`\n\nand`AGENTS.md`\n\nyou already wrote, feed every agent in the project.Files, folders, symbols, branches, commits, notes, papers, and past sessions resolve locally before the prompt is sent.`@`\n\nanything into a prompt.**Local by default.** Code, notes, and sessions stay on your machine. Sign in and create an organisation when you want to sync across a team.\n\n** Join the Discord** ·\n\n`#general`\n\nchat · `#dev`\n\nbuild questions · `#feature-requests`\n\nideas · `#bugs`\n\nreport breakageStart with [CONTRIBUTING.md](/pacifio/atlas/blob/main/CONTRIBUTING.md) to send a change, or [open an issue](https://github.com/pacifio/atlas/issues) for anything you hit.\n\n[Why Atlas](#why-atlas)[How it works](#how-it-works)[Checkpoints](#checkpoints)[Features](#features)[Download](#download)[Build from source](#build-from-source)[Contributing](#contributing)[Local by default](#local-by-default)[Links](#links)\n\nAgents now write a large share of the code and keep none of the reasoning behind it. Atlas records both, and makes them queryable: what changed, by whose agent, at what point in time.\n\n**Agents start from zero every session.** Atlas keeps a persistent on-device memory of decisions, plans, and changes, and pushes the relevant parts into every turn.**Switching agents loses the thread.** The first message of a new session carries a curated fact pack and the tail of your last one, even when that session ran on a different agent.**You can't review what you can't see.** Every session is stored and searchable, next to a real commit graph and file-level diffs of what actually landed.**Context lives in ten places.** The knowledge base,`CLAUDE.md`\n\n,`AGENTS.md`\n\n, Claude Code's memory files, and Codex's history fold into one index every agent reads from.**Nothing is locked in.** Notes are markdown, canvases are JSON, sessions are JSONL, and the editor is a file on disk. Close Atlas and pick up in vim. The one exception is the checkpoint record (which agent session produced which commit), which is SQLite in the project's gitignored`.atlas/`\n\n, because it is queried, not read.**Built for agents from the ground up.** The agent runtime, shared memory, and session history are the foundation the rest of the app is built on.\n\nAtlas runs your agents as they are, and enriches what they see.\n\nClaude Code and Codex run as external subprocesses over [ACP](https://github.com/zed-industries/agent-client-protocol), the most-used, most-tested path. Atlas Agent, the native agent, runs in-process on a hard fork of the Codex engine (see `CONTEXT.md`\n\nand ADR-0004).\n\nBeyond those, Atlas can spawn any agent in the ACP registry (Cursor, OpenCode, Kilo Code, and more), pulling in each one's official binary automatically. All of them go through the same send path, so everything below applies whichever one you pick.\n\nNote\n\nQA on the long tail of registry agents is ongoing.\n\nBefore your message reaches the agent, Atlas assembles context around it:\n\n| Injected | Where it comes from | When |\n|---|---|---|\n`@` mentions |\nResolved locally in Rust before the prompt is sent. Notes, skills, papers, and past sessions are inlined; files and folders resolve to a path | Every turn |\nShared agent memory |\nActive plan, decisions, file changes, failures, and architecture notes, written by any agent | Every turn |\nSemantic matches |\nYour message is embedded on-device and matched against the project's memory index | Every turn |\nSession handoff |\nA curated fact pack plus the tail of your last session in this project, including one from a different agent | First message |\nWhat you already wrote |\nKnowledge notes, `CLAUDE.md` , `AGENTS.md` , Claude Code's memory files, and Codex's history, folded into one index |\nContinuously |\n\n**One path, no per-agent special-casing.** Run your existing Claude Code or Codex subscription through Atlas and the session gets more context, with no change to how you work.**Claude Code's memory is visible to Codex, and the reverse.** Neither agent can read the other's history on its own.**Folders resolve to a pointer, not a paste.**`@`\n\n-ing a 5000-line file sends a path the agent reads on demand, so one mention doesn't occupy the context window for the rest of the session.**Embedding runs on your machine.** Retrieval never leaves the device.\n\nA checkpoint is what a commit doesn't tell you on its own: which session produced it, what the agent was asked, the tool calls it made, and the reasoning behind the change, kept together instead of lost the moment the terminal scrolls.\n\nAtlas records every agent session locally in `.atlas/sessions.db`\n\n, with secrets scrubbed before anything touches disk. When you commit (from any tool, even with Atlas closed), the commit is linked back to the session that produced it as a checkpoint, and links survive rebases and amends.\n\nYou don't have to read the raw transcript to get the context back: select a checkpoint and chat with it directly, and it answers from what actually happened in that session. Local mode works fully offline with no account.\n\n| Capability | Description | Link |\n|---|---|---|\n| Multi-agent sessions | Claude Code, Codex, and Atlas's native agent, selectable per session and running in parallel across tabs. Sessions are independent of tabs, so switching never drops a run in flight |\n|\n\n[Memory](https://docs.tryatlas.cc/docs/context/memory)[Chat & Sessions](https://docs.tryatlas.cc/docs/product/chat)[Skills](https://docs.tryatlas.cc/docs/context/skills)[Skills](https://docs.tryatlas.cc/docs/context/skills)[Chat & Sessions](https://docs.tryatlas.cc/docs/product/chat)[Organisations](https://docs.tryatlas.cc/docs/organisation/organisations)| Capability | Description |\n|---|---|\nSession capture |\nEvery session recorded to `.atlas/sessions.db` : prompts, messages, tool calls, the files each one touched, and the patches it applied |\nCheckpoints |\nEach session linked to the commits it produced. Commits are observed rather than intercepted, so one made from a terminal, from another editor, or while Atlas was closed still finds its session |\nSurvives history rewrites |\nLinks re-point through amend and rebase by patch-id reconciliation. When a squash makes the link genuinely ambiguous, it orphans instead of guessing |\nTranscript import |\nBackfills your existing Claude Code history, so the record starts before you installed Atlas |\nSecrets scrubbed on write |\nRedaction runs before anything is persisted, so the local store is never itself a disclosure risk |\nCapture health |\nOne signal per workspace, OK, Degraded, or Stopped, each with a reason and the next step |\nMission control |\nDashboard for agent activity: usage over time, consumption breakdown, timelines, and a filterable log table |\n\nWorks with no account and no network.\n\n| Capability | Description | Link |\n|---|---|---|\nEditor |\nCodeMirror editing surface, with per-project editor state restored across restarts |\n|\n\n**Git**[Git & Diff](https://docs.tryatlas.cc/docs/source-control/git)** Terminal**`vim`\n\n, `htop`\n\n, and friends[Terminal](https://docs.tryatlas.cc/docs/product/terminal)**Knowledge base**`.atlas/knowledge/`\n\n, versioned next to the code, with backlinks, a link graph, and export to HTML or a standalone server binary[Knowledge base](https://docs.tryatlas.cc/docs/context/knowledge-base)**Research**`@`\n\n-mention them into a prompt[Research](https://docs.tryatlas.cc/docs/context/research)**Browser**[Explorer](https://docs.tryatlas.cc/docs/product/explorer)** Spaces**[Chat & Sessions](https://docs.tryatlas.cc/docs/product/chat)** Split view**[Editor](https://docs.tryatlas.cc/docs/product/editor)** Activity log**[Timeline](https://docs.tryatlas.cc/docs/source-control/timeline)Grab the latest `.dmg`\n\nfrom [tryatlas.cc](https://www.tryatlas.cc/) or the [releases page](https://github.com/pacifio/atlas/releases).\n\nNote\n\nmacOS is the supported platform.\n\nNote\n\nLinux and Windows build from the same Tauri codebase but are untested.\n\nTo use the Claude Code agent, install the `claude`\n\nCLI and put it on your `PATH`\n\n. Atlas's native agent needs no external CLI.\n\nRequires ** Bun**,\n\n**Rust**(stable, via\n\n[rustup](https://rustup.rs/)), and\n\n**Xcode Command Line Tools**.\n\n## Linux system dependencies (GTK 3, WebKit2GTK 4.1, GLib headers)\n\n**Debian / Ubuntu / Linux Mint**:\n\n```\nsudo apt install -y libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev\n```\n\n**Fedora / RHEL**:\n\n```\nsudo dnf install glib2-devel gtk3-devel webkit2gtk4.1-devel\n```\n\n**Arch Linux / Manjaro**:\n\n```\nsudo pacman -S glib2 gtk3 webkit2gtk-4.1\n```\n\n**openSUSE**:\n\n```\nsudo zypper install glib2-devel gtk3-devel webkit2gtk3-devel\ngit clone https://github.com/pacifio/atlas\ncd atlas\nbun install\nbun run dev:app\n```\n\nThe first Rust compile takes a few minutes; after that it is seconds. Use `bun run dev`\n\nfor frontend-only iteration, though anything calling `invoke()`\n\nneeds `dev:app`\n\n.\n\nProduction builds:\n\n```\nbun run build:app       # .app bundle\nbun run build:app:dmg   # .app + .dmg installer\n```\n\nSee [CONTRIBUTING.md](/pacifio/atlas/blob/main/CONTRIBUTING.md). One thing catches people out:\n\n**Feature work targets the current version branch**, not`main`\n\n.`main`\n\nonly receives a finished version branch, and that merge is the release.\n\n[ARCHITECTURE.md](/pacifio/atlas/blob/main/ARCHITECTURE.md) covers how Atlas is built. [SECURITY.md](/pacifio/atlas/blob/main/SECURITY.md) covers reporting vulnerabilities.\n\n**Your code, notes, and sessions stay on your machine.** Nothing is uploaded to run an agent.**Secrets are scrubbed before anything is written to disk.** Not before upload, before persistence.**Session capture is local-only by default.** The[Checkpoints](#checkpoints)record of your agent sessions is written to`.atlas/sessions.db`\n\non your machine and stays there. No account required, and nothing sent anywhere until you explicitly opt in to sync.**Accounts are opt-in.** Sign in to create an organisation and sync across devices and teammates.**Anonymous usage analytics are on by default.** Coarse metadata, never code or prompts.[What's collected, and how to turn it off](/pacifio/atlas/blob/main/TELEMETRY.md).\n\n**Website:**[tryatlas.cc](https://www.tryatlas.cc/)** Docs:**[docs.tryatlas.cc](https://docs.tryatlas.cc/)** Discord:**[discord.gg/GmnFggaPfP](https://discord.gg/GmnFggaPfP)** Issues:**[github.com/pacifio/atlas/issues](https://github.com/pacifio/atlas/issues)** Telemetry:**[what Atlas collects, and how to turn it off](/pacifio/atlas/blob/main/TELEMETRY.md)\n\nMIT. See [LICENSE](/pacifio/atlas/blob/main/LICENSE).", "url": "https://wpnews.pro/news/atlas-planning-surface-for-coding-agents", "canonical_source": "https://github.com/pacifio/atlas", "published_at": "2026-09-04 04:39:37+00:00", "updated_at": "2026-09-04 04:53:03.939157+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools"], "entities": ["Atlas", "Pacifio", "Claude Code", "Codex", "ACP", "Zed Industries"], "alternates": {"html": "https://wpnews.pro/news/atlas-planning-surface-for-coding-agents", "markdown": "https://wpnews.pro/news/atlas-planning-surface-for-coding-agents.md", "text": "https://wpnews.pro/news/atlas-planning-surface-for-coding-agents.txt", "jsonld": "https://wpnews.pro/news/atlas-planning-surface-for-coding-agents.jsonld"}}