- You asked
- Add dark mode to my app
- It did
- Built it, switched it on, and made sure it works
- Double-checked
- Ran the tests, then reviewed its own work
- Played it safe
- Reversible changes only. Nothing goes live without you
- Your move
- Have a look, it’s ready when you are
The coding agent you don’t have to watch.
Pair with it in your terminal, or hand it a task and walk away. AFK verifies its own work, texts you when it’s done, and leaves a receipt of every step. Unsure? It stops and asks.
$npm install -g agent-afkRequires Node ≥20 · puts afk on your PATH
- Free forever
- No account required
- Apache-2.0
35k downloads last month
Not ready to install? Get release updates
Two ways to run it.
The REPL prints each tool call as it runs, so you can redirect mid-task. Press Ctrl+B to push a turn to the background and keep typing, or put the job on the daemon’s schedule and leave. Traces are written to ~/.afk/ in both cases.
At the keyboard
Tool calls show up inline as they run. You pick what’s next.
Away from the desk
Scheduled jobs run unattended on the daemon. From Telegram, /watch follows a session and /abort stops it.
Every tool call rendered inline: arguments, elapsed time, parallel ×N badges, and diff previews, laid out so you can scan a run at a glance.
LLM-powered autocomplete on the input line, with history-prefix fallback. Start typing and the REPL finishes the thought.
Ctrl+B backgrounds a running turn. /bgsub dispatches new work. Keep prompting while agents run in parallel.
!cmd runs a shell command without leaving the REPL. !&cmd backgrounds it. No context switch.
A live Observe → Model → Choose → Act → Update rail in the footer. See exactly where the agent is in its reasoning loop.
Shift+Tab cycles between default, plan, and bypass permission modes. Change the trust level without interrupting the conversation.
Hooks, MCP, plugins. Wire your own logic in.
Every stage of the agent lifecycle is extensible. Block a tool call with a hook, connect an MCP server, or install a plugin that ships its own skills. Coming from Claude Code? afk migrate brings your config along.
PreToolUse, PostToolUse, SessionStart, SessionEnd, SubagentStart, SubagentStop. Each hook can block, inject context, or fire custom logic.
4-layer config: plugin → user → project → flag. Supports stdio, HTTP, SSE, and OAuth transports. Wire any MCP server in minutes.
Git-sourced or npm plugins contribute skills, MCP servers, and config. Project-scope plugins in .afk/ load per-repo.
afk migrate imports CLAUDE.md rules, custom commands, and project context from Claude Code. Switch without starting over.
For developers who’d rather ship than supervise.
- You kick off a task and check back every few minutes. “Autonomous” that needs watching isn’t.
- The agent says “done” but you still have to verify it actually worked.
Watching every step is supervision, not trust. AFK is designed to run the gap between go and done.
What is an AFK agent? →Built around the ways agents actually break.
I built this because
finishedkept not meaningcorrect: the agent's own check approved the work, but the next stage expected that approval in a slightly different format; good work, rejected three times, nothing crashed. That's what real agent failure looks like.
- Fake done
Claims completion without verification: confident, unchecked, sometimes just wrong.
- Context rot
Long runs decay into unreadable soup. The longer it works, the less anyone can follow.
- Babysitting tax
You still supervise every few minutes. “Autonomous” that needs watching isn’t.
Familiar surface. Deeper machinery.
- Subagent orchestration
- Most agents can spawn subagents but rarely do. AFK makes them the default. The agent you talk to in-session is the orchestrator, tasked with delegating work to subagents and coordinating the final result.
- Verification workflows
- A second adversarial agent re-derives claims before they reach your diff: finished has to prove it is correct.
- Remote supervision
- Leave the desk. Your phone buzzes when the run finishes or stalls.
Slash skills, not single prompts.
One command, a full parallel pipeline: each skill fans out subagents, gathers results, and re-checks. That's the orchestration you'd otherwise ask for every time. These five see the most use.
End-to-end feature pipeline: spec → research → plan → parallelize → build → verify → heal → ship.
Ship-ready in one pass; pauses for approval.
Parallel hypotheses for bugs and failing tests.
Each validated in an isolated git worktree.
Adversarial re-derivation of sub-agent claims before you act.
Re-checked before the build pipeline.
Parallel reviewers across a diff or PR: security, correctness, api-compat, tests, perf.
Synthesized by severity into a merge recommendation.
Release pipeline for finished local work: pre-flight, tests, commit, push, PR.
With optional adversarial verification.
Three attach surfaces. One isolated root.
All three converge on ~/.afk/: config, plugins, plans, skills, session traces, memory. Nothing leaks into your global config.
Interactive TUI with tool-lane visualization, ghost-text suggestions, background subagent dispatch, and one-keystroke permission cycling.
Background loop. Runs unattended with bypass-permissions and plan persistence.
Mobile attach. Send messages, tail output, interrupt from anywhere.
Config · plugins · plans · skills · session traces · memory
See how Agent AFK stacks up
Side-by-side breakdowns vs. the tools you already know — grounded in the actual implementations.
vs. Claude Code
A terminal-first alternative with persistent skills, scheduling, and memory. Not a sidecar to Claude Code.
vs. Cursor
Full agent capabilities in any terminal, including Cursor's. Different tools solving different problems.
vs. Aider
Where Aider pairs interactively, AFK orchestrates end-to-end: scheduling, subagents, memory, and Telegram notifications.
vs. OpenClaw
A personal AI assistant vs. a coding agent with a terminal runtime. They serve genuinely different purposes.
vs. Hermes
Hermes is a self-improving general agent. AFK is a coding-specific agent. Different categories, different jobs.
vs. Codex
Both are terminal-native coding agents. Codex brings the OpenAI ecosystem. AFK brings model freedom and no subscription.
The model isn’t the product. The loop is.
Agent AFK operating contract, published in the repo
Free and open source. Pay for ongoing expertise, not features.
The runtime is Apache-2.0 and free: every feature, no unlocks. Paid plans are monthly support from the maintainer, not feature gates.
The whole runtime: yours to run, read, fork, and ship. Nothing held back.
- Full CLI, REPL & daemon
- Telegram bridge & remote supervision
- Built-in slash skills (mint, diagnose, ship, review…)
- Subagents, hooks, MCP & plugins
- Local
~/.afk/traces & memory - BYO model: tokens stay with your provider
AFK wired into your stack and kept running. Setup, custom skills, ongoing tuning, and direct access to the maintainer.
- Full repo + daemon + Telegram setup
- Custom skills and orchestration for your workflow
- Direct async access to Griffin via Slack or email
- Monthly working session: tuning, new skills, upgrades
Billed monthly. Annual option available.
Typically replies within 24h.
A hands-on partnership: priority support, weekly syncs, CI integration, and custom orchestration built around your team.
- Everything in Supported
- Priority response and weekly working sessions
- CI / internal tool integration
- Custom orchestration, plugins, and skill development
- Team onboarding, rollout, and ongoing enablement
Billed monthly. Annual commitment available.
Typically replies within 24h.
- Model usage is separate. Bring your own Claude / API / provider.
- No paid unlocks. Everything in the CLI is in the open-source repo.
Install it in one command. No paywall, ever.
Apache-2.0 and free. Install now, or drop your email for release notes and what's next.
$npm install -g agent-afkRequires Node ≥20 · puts afk on your PATH
- Open source · Apache-2.0
- Local-first · runs on your machine
- BYO model · tokens stay with your provider
- ~/.afk/ · plans, sessions, skills, traces
- macOS · Linux
view the source on GitHub ↗ · already installed? configure it → · email about supported setup →