Skip to main content

Using Atomic

This page collects day-to-day usage details that do not fit on the quickstart page.

Interactive Mode

Interactive Mode

The interface has four main areas:
  • Startup header - shortcuts, loaded context files, prompt templates, skills, and extensions
  • Messages - user messages, assistant responses, tool calls, tool results, notifications, errors, and extension UI
  • Editor - where you type; border color indicates the current thinking level
  • Footer - working directory, session name, token/cache usage, cost, context usage, and current model
The editor can be replaced temporarily by built-in UI such as /settings or by custom extension UI.

Editor Features

FeatureHow
File referenceType @ to fuzzy-search project files
Path completionPress Tab to complete paths
Multi-line inputSHIFT+Enter, or CTRL+Enter on Windows Terminal
ImagesPaste with CTRL+V, ALT+V on Windows, or drag into the terminal
Shell command!command runs and sends output to the model
Hidden shell command!!command runs without sending output to the model
External editorCTRL+G opens $VISUAL or $EDITOR
See Keybindings for all shortcuts and customization.

Slash Commands

Type / in the editor to open command completion. Extensions can register custom commands, skills are available as /skill:name, and prompt templates expand via /templatename.
CommandDescription
/login, /logoutManage OAuth or API-key credentials
/modelSwitch models
/scoped-modelsEnable/disable models for CTRL+P cycling
/fastToggle Codex fast mode for chat and workflow stages when openai/* or openai-codex/* models are available
/workflowList/run workflows; manage runs (connect/inspect/pause/interrupt/resume/kill); reload workflow resources
/settingsThinking level, theme, message delivery, transport
/resumePick from previous sessions
/newStart a new session
/name <name>Set session display name
/sessionShow session file, ID, messages, tokens, and cost
/treeJump to any point in the session and continue from there
/forkCreate a new session from a previous user message
/cloneDuplicate the current active branch into a new session
/compact [prompt]Manually compact context, optionally with custom instructions
/copyCopy last assistant message to clipboard
/export [file]Export session to HTML
/shareUpload as private GitHub gist with shareable HTML link
/reloadReload keybindings, extensions, skills, prompts, and context files
/hotkeysShow all keyboard shortcuts
/changelogDisplay version history
/exitExit Atomic
/quitQuit Atomic

Message Queue

You can submit messages while the agent is still working:
  • Enter queues a steering message, delivered after the current assistant turn finishes executing its tool calls.
  • ALT+Enter queues a follow-up message, delivered after the agent finishes all work.
  • Escape aborts and restores queued messages to the editor.
  • ALT+Up retrieves queued messages back to the editor.
On Windows Terminal, ALT+Enter is fullscreen by default. Remap it as described in Terminal setup if you want Atomic to receive the shortcut. Configure delivery in Settings with steeringMode and followUpMode.

Sessions

Sessions are saved automatically to ~/.atomic/agent/sessions/, organized by working directory.
atomic -c                  # Continue most recent session
atomic -r                  # Browse and select a session
atomic --no-session        # Ephemeral mode; do not save
atomic --session <path|id> # Use a specific session file or session ID
atomic --fork <path|id>    # Fork a session into a new session file
Useful session commands:
  • /session shows the current session file and ID.
  • /tree navigates the in-file session tree and can summarize abandoned branches.
  • /fork creates a new session from an earlier user message.
  • /clone duplicates the current active branch into a new session file.
  • /compact summarizes older messages to free context.
See Sessions and Compaction for details.

Context Files

Atomic loads AGENTS.md or CLAUDE.md at startup from:
  • ~/.atomic/agent/AGENTS.md for global instructions
  • parent directories, walking up from the current working directory
  • the current directory
Use context files for project conventions, commands, safety rules, and preferences. Disable loading with --no-context-files or -nc.

System Prompt Files

Replace the default system prompt with:
  • .atomic/SYSTEM.md for a project
  • ~/.atomic/agent/SYSTEM.md globally
Append to the default prompt without replacing it with APPEND_SYSTEM.md in either location.

Exporting and Sharing Sessions

Use /export [file] to write a session to HTML. Use /share to upload a private GitHub gist with a shareable HTML link. If you use Atomic for open source work and want to publish sessions for model, prompt, tool, and evaluation research, see badlogic/pi-share-hf. It publishes sessions to Hugging Face datasets.

CLI Reference

atomic [options] [@files...] [messages...]

Package Commands

atomic install <source> [-l]     # Install package, -l for project-local
atomic remove <source> [-l]      # Remove package
atomic uninstall <source> [-l]   # Alias for remove
atomic update [source|self|atomic] # Update Atomic and packages; skips pinned packages
atomic update --extensions       # Update packages only
atomic update --self             # Update Atomic only
atomic update --extension <src>  # Update one package
atomic list                      # List installed packages
atomic config                    # Enable/disable package resources
See Atomic Packages for package sources and security notes.

Modes

FlagDescription
defaultInteractive mode
-p, --printPrint response and exit
--mode jsonOutput all events as JSON lines; see JSON mode
--mode rpcRPC mode over stdin/stdout; see RPC mode
--export <in> [out]Export a session to HTML
In print mode, Atomic also reads piped stdin and merges it into the initial prompt:
cat README.md | atomic -p "Summarize this text"

Model Options

OptionDescription
--provider <name>Provider, such as anthropic, openai, or google
--model <pattern>Model pattern or ID; supports provider/id and optional :<thinking>
--api-key <key>API key, overriding environment variables
--thinking <level>off, minimal, low, medium, high, xhigh
--models <patterns>Comma-separated patterns for CTRL+P cycling
--list-models [search]List available models

Session Options

OptionDescription
-c, --continueContinue the most recent session
-r, --resumeBrowse and select a session
--session <path|id>Use a specific session file or partial UUID
--fork <path|id>Fork a session file or partial UUID into a new session
--session-dir <dir>Custom session storage directory
--no-sessionEphemeral mode; do not save

Tool Options

OptionDescription
--tools <list>, -t <list>Allowlist specific built-in, extension, and custom tools
--no-builtin-tools, -nbtDisable built-in tools but keep extension/custom tools enabled
--no-tools, -ntDisable all tools
Default built-in tools: read, bash, edit, write, ask_user_question, todo. Additional built-in read-only tools are available through tool options: grep, find, ls.

Resource Options

OptionDescription
-e, --extension <source>Load an extension from path, npm, or git; repeatable
--no-extensionsDisable extension discovery
--skill <path>Load a skill; repeatable
--no-skillsDisable skill discovery
--prompt-template <path>Load a prompt template; repeatable
--no-prompt-templatesDisable prompt template discovery
--theme <path>Load a theme; repeatable
--no-themesDisable theme discovery
--no-context-files, -ncDisable AGENTS.md and CLAUDE.md discovery
Combine --no-* with explicit flags to load exactly what you need, ignoring settings. Example:
atomic --no-extensions -e ./my-extension.ts

Other Options

OptionDescription
--system-prompt <text>Replace default prompt; context files and skills are still appended
--append-system-prompt <text>Append to system prompt
--verboseForce verbose startup
-h, --helpShow help
-v, --versionShow version

File Arguments

Prefix files with @ to include them in the message:
atomic @prompt.md "Answer this"
atomic -p @screenshot.png "What's in this image?"
atomic @code.ts @test.ts "Review these files"

Examples

# Interactive with initial prompt
atomic "List all .ts files in src/"

# Non-interactive
atomic -p "Summarize this codebase"

# Non-interactive with piped stdin
cat README.md | atomic -p "Summarize this text"

# Different model
atomic --provider openai --model gpt-4o "Help me refactor"

# Model with provider prefix
atomic --model openai/gpt-4o "Help me refactor"

# Model with thinking level shorthand
atomic --model sonnet:high "Solve this complex problem"

# Limit model cycling
atomic --models "claude-*,gpt-4o"

# Read-only mode
atomic --tools read,grep,find,ls -p "Review the code"

Environment Variables

VariableDescription
ATOMIC_CODING_AGENT_DIROverride config directory; default is ~/.atomic/agent
ATOMIC_CODING_AGENT_SESSION_DIROverride session storage directory; overridden by --session-dir
ATOMIC_PACKAGE_DIROverride package directory, useful for Nix/Guix store paths
ATOMIC_OFFLINEDisable startup network operations, including update checks, package update checks, and install/update telemetry
ATOMIC_SKIP_VERSION_CHECKSkip the Atomic version update check at startup. This prevents the latest-version request
ATOMIC_TELEMETRYOverride install/update telemetry: 1/true/yes or 0/false/no. This does not disable update checks
PI_CACHE_RETENTIONProvider/upstream-specific prompt-cache retention knob; set to long where supported
VISUAL, EDITORExternal editor for CTRL+G
PI_* aliases are also supported for app-specific ATOMIC_* variables for legacy compatibility. PI_CACHE_RETENTION is not one of those aliases and has no ATOMIC_* equivalent. Use PI_CACHE_RETENTION=long when configuring prompt-cache retention for providers/upstreams that support long-lived caches.

Design Principles

Atomic keeps the core CLI small, while this distribution bundles first-party package extensions for workflows, subagents, MCP, web access, and intercom. Other workflows can still be installed as extensions or packages, or handled externally with tools such as containers and tmux. For the full rationale, read the blog post.