Goals
The agent sets a goal from your request and keeps working until it's met — or tells you what's in the way. Set one yourself with /goal. Achieved goals are kept under the Goal button.
Features
An agent that plans its own work, splits it across helpers and shows you every line as it lands — with the controls to steer it, stop it and rewind it.
Before it touches a file, the agent decides what "done" means and lays out the steps — where you can see them and change them.
The agent sets a goal from your request and keeps working until it's met — or tells you what's in the way. Set one yourself with /goal. Achieved goals are kept under the Goal button.
Every step shows above the message box. Add, reorder or tick items yourself — the agent sees your edits on its next turn.
When a choice is really yours — which library, which design — it pauses and asks you multiple-choice questions, then carries on with your answer.
Close the app mid-run, or lose power: when AFH starts again, interrupted runs resume by themselves.
How to run it, how to test it, the gotcha that cost an hour, the way you like things done: the agent saves what it learns to the project's memory, and every new thread starts knowing it. Open Memory beside the Goal button to add, edit or forget anything — or just say “remember…”, or type /remember. Your changes reach the agent on its very next step.
pnpm testChoose a mode in the message box — or create your own agents with their own prompts, models and tools.
A lead agent hands pieces to helpers that run side by side, then checks what they bring back.
The built-in Helper is a copy of your own model for self-contained side work. Add your own subagents too, and watch any of them from the top bar: what the lead asked, and what came back.
Lead with your strongest model and delegate to a fast, cheap one. Each helper can use a different provider.
Give a thread its own worktree — its own branch and folder — then merge it into your base branch when you're happy. Your main checkout stays clean.
Reads, searches and helper tasks run in parallel, and old tool output is trimmed so long runs stay quick and cheap.
Nothing happens behind a spinner. You see the thinking, the tools and the code as they happen.
Tool arguments stream as they're generated, so code appears character by character in the Live pane — not after the fact.
Thinking time, each tool call, tokens per second and how long each reply took — all in the conversation.
The browser tool drives a real Chrome or Edge, and screenshots go back to models that can see — so it notices when the page looks wrong.
After the agent edits a file, AFH checks it for errors and hands the results straight back, so broken code is fixed on the spot.
Paste or drop screenshots and files into the message box. Press the mic and speak — your words are typed in for you (with a Groq or OpenAI speech key).
Decide what it may do alone, stop it at any moment, and undo anything — files included.
Reading .env files always asks, whatever the mode.
"Undo to here" rewinds the thread and the files on disk to just before a message, and puts your message back in the box to edit and resend. Or fork the thread from any point.
Run your own commands before or after any tool, or when the agent stops. Exit with code 2 to block a tool call — or to make the agent keep going.
Tokens and cost per thread, budgets that stop a run, and prompt caching on by default for Anthropic models. Subscription plans count as no cost.
Jobs that take hours, threads with thousands of messages — AFH is made for them.
When a conversation fills 40, 60 or 80% of the model's context, older parts are summarised in place. You can still read every message; the model reads the summary. Or type /compact.
Dev servers, watchers and long builds run in the background while the agent keeps working. See them with /jobs.
"Every morning, update dependencies and run the tests." Run a prompt every few minutes, hourly, daily, on weekdays or weekly — each run is a new thread you can read. Jobs run while AFH is open.
Import threads from OpenCode or Zadloop, and your OpenCode keys, endpoints and MCP servers in one click. Export any thread as JSON or Markdown.
Your colours, your language, your commands — and new abilities the agent can install for itself.
29 dark and 17 light, from Sunset and Midnight to Dracula, Nord, Tokyo Night and Catppuccin — or build your own. Switch with a circle, diamond, wipe, fade or blur transition.
A full Arabic interface with right-to-left layout, switchable live without a restart.
Built in: /goal /todo /memory /remember /compact /jobs /new /cost, plus /review, /fix-tests, /explain and /commit. Add your own as Markdown files — .claude/commands works too.
Plug in local or remote MCP servers, and skills from ~/.afh/skills or your project. Skills made for other agents work as they are.
Ask for a new ability and the agent installs it: skills, MCP servers, slash commands, hooks or custom agents.
Everything the app does is a local API. Start an agent from a script, a git hook or CI, and stream what it does.
Create threads, send messages, read replies and diffs, set goals and approve actions — with one key from Settings → Developer.
Each is a single file with no dependencies. Live events stream every token and tool call as it happens.
Private by design
AFH runs and stores everything on your computer. There's no account and no telemetry.
Free for Windows. Install it, sign in or add a key, and give it something to build.