← All posts

The Whole Family Ships: Agent! 1.1.87 and AgentiLoop CLI 0.0.5

Agent! for Mac gets Auto-Pilot, six new providers, a stricter critic and macOS 14.6 support. The Rust and Go CLIs get a bigger toolbox: search, web fetch, todos, AGENTS.md, /undo, custom commands and --json.

The AgentiLoop family: one Mac app and two terminals A big Mac window labeled Agent! 1.1.87 stands in the middle. On its left a terminal window shows a little crab and the label Rust 0.0.5; on its right a terminal window shows a little gopher and the label Go 0.0.5. Dotted lines connect all three to a shared loop symbol at the top. Agent! 1.1.87 $ agentiloop Rust 0.0.5 $ agentiloop Go 0.0.5 One loop. Three ways to run it.
The AgentiLoop family on October 1: Agent! for Mac, plus the Rust and Go command-line editions.

Today the whole family ships at once. Agent! 1.1.87 is the new release of the Mac app, and AgentiLoop CLI 0.0.5 is out for both Rust and Go. It's a full release, not a pre-release, and it's the biggest step yet for all three.

Here's what's new, straight from the git history.

Agent! 1.1.87 for Mac

The last full release of the Mac app was 1.1.33 on September 12. A lot has happened since: 449 commits went into 1.1.87. These are the highlights.

🤖 Auto-Pilot: /auto <goal>

The headline feature. Give Agent! a goal, and /auto runs it as a series of unattended cycles inside a time budget. Each cycle works toward the goal, checks where it stands and keeps going.

  • No cycle or iteration cap. It works on LLM tabs and keeps a goal history, so /auto last and /auto #N bring back an earlier goal.
  • Sessions survive app restarts and resume on the same tab.
  • Esc stops only the current cycle. Stop All (or /auto stop all) ends the session.

This is the agent loop with the human stepping back on purpose: you set the destination and the budget, and Agent! drives.

🔌 Six new providers, and fewer settings to fiddle with

New in 1.1.87: Fluxion AI (with OpenAI and Anthropic protocol options), Muse Code (reuses your muse login subscription), Requesty, A2Agent, OrcaRouter and Qwen Code on the Coding Plan. There's also an experimental fm serve provider that exposes Apple Foundation Models over a local Chat Completions API.

Vision support is now detected from each provider's catalog metadata, so the Force Vision toggle isn't needed anymore. Under the hood, every provider now lives in one registry, APIProvider, instead of a dozen separate code paths.

🧐 A critic that can't be talked out of it

Agent! has a critic gate: a second model reviews the change before the task is called done. In 1.1.87 the review is enforced. An unchanged diff is refused, a changed diff is reviewed again, and issues can't be waved away as "out of scope." The critic now also runs on Codex and Apple Intelligence, and the log shows which issues it found and whether the code changed afterward.

Alongside it is Jev, the TypeSafe System One decision layer that advises the tool loop. Its settings live in the new LLM Common Settings.

🧠 Smarter context

Compaction got a careful pass. Thresholds are now sized from the model actually in use (the tab's model or the fallback), and fetched Ollama context windows are remembered. That fixes a bug where some models were compacted at 16K. The kept tail and microcompact are bounded by tokens rather than message counts, oversized blocks are capped first, and context-overflow and max_tokens errors are detected the same way across providers.

🖥️ More Macs, more languages

  • macOS 14.6 Sonoma and later, on Apple Silicon and Intel. Apple Intelligence (Foundation Models) features need macOS 26.
  • The app is localized into Spanish, French, German, Chinese (Simplified), Russian, Korean and Japanese.
  • New accessibility actions: wait_until_actionable, select_text_range and observe_start/poll/stop/list.
  • Install with Homebrew: brew update && brew install --cask agentiloop-agent.

🔒 Safer by default

Recursive deletion of the current project folder is now blocked. An app-wide bug hunt fixed a ShellSafety & read-only bypass, an Ollama streaming stall and several crashes. task_complete is refused when the summary points at output that was never written, and local models that run out of memory stop immediately with a clear reason instead of spinning.

A bigger toolbox for the CLI An open red toolbox labeled 0.0.5. Tools rise out of it on labeled tags: glob and grep with a magnifying glass, web_fetch with a globe, todo_write with a checklist, /undo with a curved arrow, AGENTS.md with a document, and --json with curly braces. 0.0.5 glob · grep web_fetch todo_write /undo AGENTS.md --json { }
AgentiLoop CLI 0.0.5: same loop, a lot more in the box.

AgentiLoop CLI 0.0.5: a bigger toolbox

When we took the agent loop to the terminal, the CLI started with five sharp tools: read, list, write, edit and bash. Version 0.0.4 taught it to stop cleanly. Version 0.0.5 is about giving it more to work with. All of it landed in Rust first and was mirrored commit for commit in Go, so both editions have exactly the same features.

New tools

ToolWhat it doesAsks first?
globFinds files by patternNo
grepSearches file contents, with 0–5 lines of contextNo
web_fetchFetches an http(s) page as text, with size capsYes
todo_writeKeeps a checklist for multi-step work (see it with /todos)No

glob and grep skip .git, node_modules, target and binary files, and they honor .gitignore, including nested files, negation, anchoring and directory-only rules. That makes them faster than shelling out to find and safer than dumping a whole tree into the context.

It reads your project's instructions

If your repo has an AGENTS.md or CLAUDE.md, the CLI loads it into the system prompt, along with one in ~/.agentiloop for your personal defaults. Lines like @docs/style.md import other files (nested and cycle-safe). No file yet? /init writes a starter AGENTS.md with the build and test commands it detects.

Undo, diff and friends

  • /undo: every change made by write_file, edit_file and apply_patch is journaled per prompt, so you can roll back the agent's last turn.
  • /diff shows the git status and diff of the working tree.
  • /export saves the conversation as Markdown.
  • /usage shows token totals since start and how full the context is.

Make it yours

  • Custom slash commands: drop a Markdown file into .agentiloop/commands/, say review.md containing Review $1 for bugs, and /review main.rs runs it. $ARGUMENTS and $1..$9 are supported, and /commands lists them.
  • MCP prompts from your servers show up as /mcp__<server>__<prompt> commands.

Built for scripts and CI

  • --json prints a one-shot answer as a single JSON object: result, is_error, session_id, provider, model and usage.
  • --allow-tool / --deny-tool set permission rules by tool name or mcp_* prefix. Deny always wins, even over --yes.
  • --append-system-prompt adds text to the system prompt for one run.
  • Pipes just work: a lone - in the prompt is replaced by stdin, so git diff | agentiloop "review this" - does what it says.

Put together, that's a CI step that reviews a pull request, refuses to touch the shell and returns machine-readable output:

git diff origin/main | agentiloop --deny-tool bash --json "review this diff" -

Why ship them together?

Because they're the same idea in three shapes. Agent! for Mac is the flagship: it drives your apps, your Xcode builds and your whole desktop. The CLIs carry the same loop to every terminal on macOS, Windows and Linux. The CLI's Esc-to-cancel and the Mac app's Auto-Pilot with its Stop All button answer the same question from two sides: how does a person stay in charge of a loop that runs on its own?

That's the part we care about most. Not a cute avatar, not a bigger number on a benchmark, but the human in the loop: you set the goal, you see every step, and you can stop it. In the CLI, /undo also rolls back the agent's last file edits. Auto-Pilot has no undo, so run it in a project that's in git.

Get them

The macOS CLI binaries are signed and notarized. Unpack, put agentiloop on your PATH and run it; the setup wizard takes it from there.

Testers are very welcome. Try /undo after a big edit, point it at a repo with an AGENTS.md, or wire --json into a script, then tell us what broke. Please include your OS, provider and model, and never include API keys.