Checks and balances so they don’t go wild. Lint, tests, and review on the branch. Failures go back to the agent to fix, before that code is yours.
Apple Silicon only. Or build it yourself from the repo.
Pipelines run your scripts. And AI.
A pipeline is a list of checks Farol runs on your agent’s branch. Next to your linter and test suite, add AI steps: a prompt that reviews the architecture, audits security, or flags slop, on the agent and model you pick.
- 01Scripts and AI in one runShell steps check what a command can. AI steps check what only a reviewer would catch. Each AI step has its own model.
- 02Runs on the branchSteps run against the checkout, uncommitted work included. On your Mac, with remote sandboxes coming soon
- 03Failures go back to the agentA failed step, AI or shell, sends its report to Chat. The agent fixes it and the pipeline runs again, in a loop until every step is green.
ReviewRequired
Failed · just now · 1m 57s
ESLintsh4.2s
Testssh41s
Arch reviewSonnet 51m 08s
Retry logic is duplicated in schedule.ts and retry.ts. Extract one helper before merging.
SummaryHaiku 4.5Skipped
Run againFix in ChatEdit
Build pipelines on a canvas.
Chain shell and AI steps, and pass one step’s output to the next. Give each AI step its own prompt and model. Mark a step as a gate, and a failure skips the steps after it.
Watch a task go from plan to green.
Four minutes on one branch: build a Review pipeline, plan and build a change, send a failed check back to the agent, and see a usage limit hand the turn to another provider.
Read the transcript
0:07Workspace
This is Farol. Open a Git checkout, and Farol runs your coding agents in it, through their own command-line tools. Every branch gets its own chat, in its own worktree, so several agents can work side by side. To start something new, open a branch as its own project. Farol creates the worktree for you. Before handing the agent a task, set up the checks its work has to pass.
0:30Pipelines
Those checks are pipelines, and you build them on a canvas. Shell steps run your own commands, in your own shell. Your linter, your tests, your build. Git steps hand the diff, the log, or the changed files to the steps that come after. Drag from one step to the next to set the order. AI steps run a prompt on the agent and model you choose. They end with a verdict: pass, or fail. Steps that share a parent run side by side, and each one can read the output of the steps before it. Mark a step as a gate, and a failure there skips everything after it. A broken build won’t waste a review. Then decide when it runs: after every change the agent makes, or before a commit or a push. It’s saved in your repo, so when you commit it, your whole team gets the same checks.
1:29Chat
Now the task. In Plan mode, the agent reads the project and proposes a plan, without touching a single file. A finished plan comes with a diagram of the approach, so you can check the idea before any code exists. When it looks right, select Execute plan. Chat switches to Build, and the agent gets to work. You can follow what it’s doing: the files it reads and edits, the commands it runs, and its to-do list. You can switch the agent or the model for this chat at any time. And auto-approve decides whether its tools run on their own, or ask you first.
2:06The loop
When the agent finishes, Farol runs the required pipelines on the branch, including work that isn’t committed yet. Here, the AI review catches something a linter never would: a new function that repeats one that already exists. The report goes straight back to the agent. It fixes the problem, and the checks run again. The task is done only when every check passes. The code only becomes yours once it’s green.
2:35Model fallback
Agents run into usage limits. Fallbacks keep the work moving, even across providers. You list backup models in order. Build mode, Plan mode, and pipeline AI steps each get their own chain. Farol only falls back when the agent can’t fix the problem itself: a missing command-line tool, a crash, or a usage or quota limit. Here, Claude hits its usage limit halfway through a turn. Farol first retries the same model, three times, with a pause in between. It’s still failing, so the same turn moves down the chain, from Claude to Codex. Codex can’t pick up Claude’s session, so it starts from your task, your latest messages, and the handoff note Claude left behind. The checks don’t change. They run on the work, no matter which model did it. Pipeline AI steps have their own chain too. Claude had hit its limit, so the Arch Review step ran on Codex instead. One thing never falls back: a real answer. If a review fails, or the agent says it’s blocked, a different model wouldn’t change that, so Farol doesn’t try. Farol. The anti-slop workspace for your agents.
Is Farol free?
Yes. Farol is open source. Download the Mac build, or clone the repo on GitHub and build it yourself.
Which agents does it work with?
Claude, Codex, Cursor, Opencode, pi agent, and models through OpenRouter. Farol runs each agent through its own CLI, so install the ones you use.
What can a pipeline step be?
A shell command, like your linter or test suite, or an AI step with its own prompt, agent, and model. One pipeline can mix both.
Does Farol check agent sessions I run outside it?
No. Checks apply to the agents and pipelines Farol runs.
Where does my code go?
Shell steps run on your Mac. AI steps send their prompt and the code they need to the model provider you picked.
Can pipelines run in the cloud?
Not yet. Remote sandboxes are coming soon: shell steps will run in a fresh sandbox on your own Farol service, with a snapshot of the checkout. Ignored and secret-looking files stay on your Mac. Until then, every step runs locally.
Does it run on Intel Macs, Windows, or Linux?
Not yet. The current build is for Apple Silicon Macs only.
Keep your agents honest.
Scripts and AI checks on every change, in a loop until it’s green.
Free and open source. Apple Silicon only.