Atomic doesn’t replace your coding agent. At each stage it spawns the agent’s own CLI and talks to it via that agent’s SDK — so file editing, tool use, MCP setup, hooks, and context handling all keep working as they do today.Documentation Index
Fetch the complete documentation index at: https://bastani.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Supported agents
| Agent | Chat | Workflow flag |
|---|---|---|
| Claude Code | atomic chat -a claude | -a claude |
| OpenCode | atomic chat -a opencode | -a opencode |
| GitHub Copilot CLI | atomic chat -a copilot | -a copilot |
.claude/, .opencode/, .github/), skills, and context files — all managed by Atomic. See agent-specific files.
Switching agents
Use the same workflow across agents by pinning a variant in.for(...):
| Agent | How to send a prompt |
|---|---|
| Claude | await s.session.query(prompt) |
| Copilot | await s.session.send({ prompt }) |
| OpenCode | await s.client.session.prompt({ sessionID: s.session.id, parts: [{ type: "text", text: prompt }] }) |
When to use -a on your own CLI
If your worker file imports a workflow pinned to one agent (import workflow from "./claude/index.ts"), there’s nothing to disambiguate — no -a flag. Only reach for -a/--agent when one CLI dispatches across workflows that exist in multiple agent variants. The atomic CLI itself uses -a for that reason: its built-in registry has cross-agent variants of ralph, deep-research-codebase, and open-claude-design.
Agent reference
Claude Code
Claude Code CLI reference.
OpenCode
OpenCode server reference.
GitHub Copilot CLI
Copilot CLI usage reference.
Permissions
How Atomic bypasses prompts in workflows — and why that means containerization.