AGX saves your agents' progress as durable checkpoints — not chat history.
Resume any task instantly, no matter how long it ran. Runs locally, bring your own API keys.
npm install -g @mndrk/agx
agx initWebsite • Blog • Install • Features • How It Works • CLI • Development
Every AI coding agent — Claude, Codex, Gemini — starts from scratch each session. Long tasks get expensive to re-explain. Context gets lost. Work gets repeated.
AGX checkpoints agent state after every step. When you resume, the agent picks up exactly where it left off. No replaying history, no burning tokens on context windows. Resuming is constant-cost whether the task ran for 5 minutes or 5 days.
It ships as a CLI, a local web dashboard, and a macOS desktop app — all from one repo.
We've been using AGX to build AGX — over 125 PRs merged by autonomous agents. Read more on the blog.
npm install -g @mndrk/agx
cd my-project
agx init # First-time setup — picks up your API keys
agx board start # Open the local dashboardDownload from Releases. Bundles the UI, CLI, and Node runtime — install and go.
git clone https://github.com/ramarlina/agx.git
cd agx && npm install
npm run local:dev # Run the dashboard in dev mode- Chat with any provider — Claude, Codex, Gemini, Ollama. Switch freely.
- Durable tasks — Survive restarts, crashes, and reboots. State is checkpointed, not rebuilt from conversation history.
- Human-in-the-loop — Agents pause at gates for your explicit approve/reject before touching anything dangerous.
- Local dashboard — Project home, agent chat, built-in terminal, Linear integration. See what's running at a glance.
- Agent teams — Group agents by role (engineering, research, ops). Tasks route automatically by tag.
- Live presence — See which agents are active in the sidebar, on projects, and on Linear issues in real time.
- Fully local — Runs on your machine. Your code never leaves. Full execution logs, task signing, destructive-command safeguards.
The CLI manages tasks, runs agents, and controls the dashboard.
agx init # First-time setup wizard
agx config # Reconfigure providers, models, backend URLagx new "<goal>" # Create a new task
agx run <task_id> # Run a specific task
agx status [task-id-or-slug] # Show status
agx retry <task_id-or-slug> [--from <stage>] # Reset + retry
agx approve <task> [--node <node-id>] [-m "feedback"] # Approve a gate
agx reject <task> [--node <node-id>] [-m "feedback"] # Reject a gate
agx deps <task> [--depends-on <task> ... | --clear] # Manage dependenciesagx project list # List projects
agx repo add . --project my-project # Analyze current repo and attach it
agx repo add ../service --project my-project --name APIagx vars set API_URL https://example.com # Set a variable
agx vars get API_URL # Get a variable
agx vars list # List all variablesagx -p "Explain this error"
agx claude -p "Refactor this function"
agx codex -p "Propose a migration plan"| Provider | Alias | Command |
|---|---|---|
| Claude | c |
agx claude |
| Codex | x |
agx codex |
| Gemini | g |
agx gemini |
| Ollama | o |
agx ollama |
-p, --prompt # Task goal
-P, --provider # c | x | g | o
-m, --model # Explicit model for provider commands
-a, --autonomous # Create task + start daemon + run until done
-y, --yolo # Skip confirmations during execution (implied by -a)
--swarm # Multi-agent swarm execution modeAGX treats agent memory as durable state, not conversation history.
Each task runs in a Wake - Work - Sleep loop:
- Wake — Load full context from the last checkpoint
- Work — Execute commands, edit files, validate output
- Sleep — Save state and yield, ready to resume anytime
Resuming is constant-cost. A task that ran for a week resumes as fast as one that ran for a minute.
┌──────────────┐ ┌──────────────┐ ┌────────────┐
│ Dashboard │◄─►│ SQLite │◄─►│ Task Queue │
│ (Next.js) │ │ Durable State│ │ │
└──────────────┘ └──────────────┘ └────────────┘
┌──────────────┐ ┌──────────────┐ ┌────────────┐
│ AI Provider │◄─►│ AGX CLI │◄─►│ AGX Daemon │
│ C/Codex/G/O │ │ │ │ │
└──────────────┘ └──────────────┘ └────────────┘
- State layer — SQLite (WAL mode), durable checkpoints, task queueing
- Execution layer — CLI + daemon, provider tool calls, filesystem edits
- Decision layer — Execution graph runtime + human gate transitions
- Node.js >= 22.16.0 (CLI install only; desktop app bundles its own runtime)
- At least one AI provider CLI:
No external database required. AGX uses SQLite locally.
This repo is an npm workspace. CLI, dashboard, and desktop app all live here — clone once, run everything.
agx/
apps/
local/ # Next.js dashboard (Home, chat, terminal, teams, objectives, Linear)
desktop/ # Electron macOS app (bundles dashboard, CLI, and Node runtime)
lib/ # CLI and runtime source
commands/ # CLI command implementations
cloud-runtime/ # Packaged standalone dashboard bundled into the npm artifact
npm install
npm run local:dev # Start the dashboard at localhostnpm run local:build # Production build
npm run board:bundle # Package standalone runtime for the CLIcd apps/desktop
npm run dev # Launch Electron in dev mode
npm run build:mac # Build the macOS .app + .dmg- Dashboard/Chat: Next.js, Tailwind CSS
- Desktop: Electron, electron-builder
- Database: SQLite (WAL mode)
- Runtime: Node.js (TypeScript /
tsx) - Streaming: EventSource (CLI → board)
Contributions welcome.
- Ideas & questions: GitHub Discussions
- Bugs & features: GitHub Issues
- PRs: Fork
main, add tests, submit
Telemetry is enabled by default.
AGX collects anonymous usage data to improve the tool. Here's exactly what we collect:
| Data | Example |
|---|---|
| OS & architecture | darwin, arm64 |
| Node.js version | v22.16.0 |
| AGX version | 1.4.55 |
| Commands run | new, daemon start |
| Provider used | claude, codex, gemini, ollama |
| Task outcomes | completed, failed |
| Timing | duration_ms: 12345 |
We do NOT collect: prompts, code, API keys, file paths, or any PII.
agx telemetry off
# or: export AGX_TELEMETRY=0
# or: ~/.agx/config.json → { "telemetry": { "enabled": false } }MIT
Stop re-explaining context. Let your agents remember.