Atomic Agent: A Local-First AI Agent That Keeps the Loop on Your Machine
Atomic Agent is a local-first AI agent. Runs open-weight models on your own machine via llama.cpp.
At a glance
- What is it?
- Atomic Agent is a TypeScript-based AI agent that runs its control loop and state locally, using llama.cpp for open-weight models. It drives a browser, edits files, runs approved commands, and imports data from other agents, but it is still a developer preview with moving APIs.
- Who is it for?
- Adopt Atomic Agent if you want a local-first agent with a TUI, browser automation, file editing, and MCP support, and you accept a developer preview. Do not adopt it if you need a stable integration point or Windows ARM support.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Atomic Agent Solves and Who It Is For
Atomic Agent addresses the problem of running an AI agent without sending your data or context to a cloud service. It is built for people who want a local-first agent that can browse the web, edit files, run approved shell commands, and remember context across sessions, all on their own hardware. The README emphasizes that the control loop and all state live on your machine, and it is llama.cpp first, so small quantized models remain useful for long, multi-step work on consumer hardware. The target user is a developer or power user who is comfortable with a terminal UI, installing via a shell script, and managing models like qwen-3.6-35b-a3b or gemma-4-12b. It is not for someone who wants a hosted agent with managed infrastructure, because the project explicitly avoids per-token fees and cloud dependencies. The README also positions it as a private-by-default tool, which matters for users handling sensitive files or browsing sessions.
How the Control Loop and State Stay Local
The core mechanism is that Atomic Agent runs the entire agent loop on your machine, with all state stored locally. The README states that it drives your browser, reads and edits files, runs approved shell commands, inspects documents, and calls external tools over MCP. The state directory holds config, memory, sessions, tasks, traces, and downloaded models, which the uninstall command can remove entirely. The agent uses llama.cpp as its inference backend, and the project references a custom TurboQuant llama.cpp build that claims +30-50% throughput on small local models. That throughput claim is in the README, but the benchmark section does not isolate the TurboQuant effect from the agent loop, so treat it as a vendor claim. The agent also supports GBNF grammars and GGUF models, which are visible in the repository topics and the installer assets. The data flow is straightforward: the model runs locally via llama-server, the agent loop interprets tool calls, and actions like file edits or browser navigation happen on the local machine. The README does not provide a detailed architecture diagram, so the exact scheduling of the loop is not fully specified.
Getting It Running: Install, Update, and Uninstall
Installation is a one-liner. On macOS or Linux, run curl -fsSL https://atomicagent.io/install | sh. On Windows PowerShell, run irm https://atomicagent.io/install.ps1 | iex. The installer downloads the release archive, verifies the checksum, and installs the CLI plus support assets, including grammars, native prebuilds, and a bundled ripgrep. After install, you start the agent by running atomic-agent or the shorter alias atag. The first run offers to import data from Hermes, OpenClaw, Claude Code, or Codex, including skills, memory, MCP servers, sessions, cron jobs, and opt-in provider keys, with a dry-run preview. Later you can run /import in the TUI or atomic-agent import <hermes|openclaw|claude-code|codex> from the shell. Updating is also CLI-driven: atomic-agent update checks for a newer release and re-runs the installer in place, while atomic-agent update --check probes without installing, and --version <tag> pins a specific release. Uninstalling is thorough: atomic-agent uninstall removes the state directory, the binary, the alias, asset directories, and the PATH line added to your shell rc file. It prints what it will delete with sizes, and requires you to type the word uninstall to proceed. Use --dry-run to preview, --keep-data to retain your data, or --yes to skip the prompt in scripts. The README notes that only the installed binary can self-update; a dev checkout updates via git.
The TUI and Multi-Window Workflow
The primary interface is a terminal UI, not a web dashboard. The README shows a terminal demo and describes keyboard shortcuts. Pressing Ctrl+N or running /window inside the TUI opens a new terminal window with a fresh atomic-agent instance in the same directory, which lets you run multiple agents side by side. The TUI also has a menu that includes a Danger zone for uninstalling, accessible via Esc or /uninstall. The TUI prompts you to restart after an update. This design choice makes sense for a local-first tool, but it means you need to live in a terminal. If you prefer a graphical interface, this is not it. The README does not describe any GUI beyond the TUI, so the experience is keyboard-driven. The multi-window feature is useful for parallel tasks, but the README does not specify whether separate windows share memory or state, so you should assume they are isolated unless you configure otherwise.
Benchmarks and Model Scaling Claims
The README includes a benchmark on the GAIA validation Level 1 split, which has 53 tasks. Atomic Agent and Hermes drove the same local qwen-3.6-35b-a3b model using llama-server with UD-Q4_K_XL quantization, with the same step budget and timeout. Atomic Agent scored 37 out of 53, or 69.8%, while Hermes scored 31 out of 53, or 58.5%. The average wall time per task was about 217 seconds for Atomic Agent and 351 seconds for Hermes. The README also shows a model scaling table for Atomic Agent alone: qwen-3.6-35b-a3b scores 69.8% at ~217 seconds, qwen-3.5-9b scores 52.8% at ~152 seconds, and gemma-4-12b scores 45.3% at ~423 seconds. These numbers come from the project's own benchmark, and the README does not describe the exact evaluation harness or whether the tasks were run on the same hardware. The benchmark is a point in favor of the agent loop, but it is not an independent validation. The text stops mid-sentence at the model scaling section, so there may be more data that is not included in the cleaned README.
Limitations and Cases Where It Is the Wrong Tool
The most obvious limitation is that Atomic Agent is a developer preview. The README explicitly states that APIs, commands, config, and behavior are still moving, and it advises pinning a release for a stable integration point. That means you cannot expect backward compatibility between releases. Another limitation is platform coverage: current builds are macOS Apple Silicon, Linux x64 and arm64, and Windows x64. There is no Windows ARM build mentioned, so if you are on a Snapdragon laptop, you are out of luck. The project requires Node.js version 25.7 or higher, which is a very recent release, so you may need to update your runtime. The agent is local-first, which means you need enough hardware to run a model like qwen-3.6-35b-a3b. A 9B model can work, but the benchmarks show accuracy drops to about half. If you need a cloud-scale model or a hosted agent with managed uptime, this is the wrong tool. The uninstall command is destructive by design, so a misstep can wipe your state directory, although the dry-run and --keep-data flags mitigate that risk.
Alternatives and How They Differ
The README itself names Hermes as a direct alternative, since the benchmark compares Atomic Agent to Hermes on the same model and task set. Hermes is another local agent that can drive a browser and run commands, but the benchmark suggests it is slower on average wall time and less accurate on GAIA L1. The key difference in approach is the agent loop: Atomic Agent claims to be more efficient with the same model, which implies a different prompting or tool-use strategy. Other alternatives mentioned in the import list are OpenClaw, Claude Code, and Codex. Claude Code and Codex are not local-first by default; they typically rely on cloud APIs, which means your data leaves your machine. OpenClaw may be local, but the README does not describe its architecture. If you want a local-first agent but prefer a different ecosystem, Hermes is the closest comparison because it uses the same model backend. If you want a cloud agent with a polished IDE integration, Claude Code or Codex are different because they are not designed around llama.cpp or local state.
Maintenance, Upgrade Cost, and License
The project is MIT licensed, which means you can use, modify, and redistribute it freely, as long as you preserve the license notice. There is no copyleft obligation, so you can embed it in proprietary software if you wish. The maintenance cost is tied to the developer preview status. The release history shows active development, with v0.5.6 released on 2026-09-08, v0.5.5 on 2026-09-03, and v0.5.4 on 2026-09-01, indicating a roughly weekly release cadence. That cadence is good for bug fixes but bad for stability. Each update may introduce breaking changes to commands or config. The self-update mechanism is convenient, but it only works on the installed binary, so if you clone the repository for development, you have to handle updates through git. The installer also bundles native prebuilds and ripgrep, which means upgrades may download new binaries for your platform. The README does not describe a migration path between versions, so you should expect to re-verify your configuration after each update.
Editorial conclusion
Adopt Atomic Agent if you want a local-first agent with a TUI, browser automation, file editing, and MCP support, and you accept a developer preview. Do not adopt it if you need a stable integration point or Windows ARM support. Before relying on it, verify that your model works with its GBNF grammars and that your Node.js version is at least 25.7. Pin a release tag for any serious use, because the README states that APIs, commands, config, and behavior are still moving. The project is MIT licensed, so you can fork it, but the self-update mechanism only works on the installed binary, not a dev checkout.
Community notes