Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Open-source runtime for safely running coding agents without constant supervision
Agent AFK is an open-source runtime for coding agents designed to operate without constant supervision. It allows developers to start a task and walk away, with the agent building features, verifying its own work, and notifying the user when done. It runs locally, supports any model provider (including local models), and is licensed under Apache-2.0.
Install the CLI globally via npm: npm install -g agent-afk (requires Node ≥20). After installation, the afk command is available on your PATH. You can start tasks interactively in the terminal, run them in the background via a daemon, or supervise remotely through a Telegram bridge. The agent follows a written operating contract with explicit terminal states: Done, Blocked, Asking, or Interrupted.
/diagnose run parallel pipelines with isolated worktrees and verification.~/.afk/ for inspection and recovery.~/.afk/ and loaded in future sessions./mint, /diagnose, /shadow-verify, /review, /ship, and more, each orchestrating parallel subagents./diagnose to test parallel hypotheses in isolated git worktrees./review to get parallel security, correctness, API-compat, tests, and performance reviews on a diff or PR./ship to run pre-flight checks, tests, commit, push, and create a PR.Agent AFK is free and open source (Apache-2.0). All features are included at no cost. Paid plans are for ongoing support from the maintainer:
What are the system requirements? Requires Node ≥20 and runs on macOS or Linux.
Does it work with any model provider? Yes, it works with any model provider, including local models. Your keys and tokens stay with your provider.
Is an account required? No account is required to use the free version.
How does the agent verify its work?
It uses adversarial verification via /shadow-verify, where a second agent re-derives claims before they reach your diff.
What happens if the agent is unsure? It stops and asks instead of guessing, entering an "Asking" terminal state.
Can I interrupt a running task? Yes, one interrupt kills the entire subagent tree, and you can also interrupt remotely via Telegram.