September 8, 2026 · Leon Ho
AgentUse v0.21: providers as plugins and a judge that remembers
Model providers install as plugins from a reviewed shortlist, agent creation moves into a draft-and-refine workspace, and pre-review judges keep one session across attempts.
AgentUse v0.21 is out, covering 0.21.0 and 0.21.1. Providers are now plugins with their own install, update, and readiness lifecycle. Creating and revising an agent happens in one draft-and-refine workspace with a capability review before save. And the pre-review judge stops re-reading everything on every attempt, which makes redos cheap enough to allow more of them.
Get it as AgentUse for Mac, which bundles the runtime and dashboard, or run npx -y agentuse@latest setup in a terminal with Node.js 22+. Existing installs update through the Mac app's Settings → About, or by running the same command again.
Providers ship as plugins
The plugin API now supports provider adapters: conditional activation, provider-specific model discovery and readiness checks, session-aware execution, and isolated delegated runs. Provider models are available throughout dashboard creation and revision flows, and changes take effect in a running server without a restart.
A new agentuse plugins namespace manages them:
agentuse plugins install <source> # git source, or a local directory linked in place
agentuse plugins update [name]
agentuse plugins remove <name>
agentuse plugins list
Install globally or per project with -l. A local directory is linked in place, so edits are live on the next start; append @<full commit> to clone and pin instead. A project-scoped install shadows a global one of the same name.
Provider setup in the dashboard installs from a release-reviewed shortlist. Each choice names its publisher, reviewed version, authentication requirements, and installation source, and shortlisted plugins install from their reviewed commit, so a moved release tag can never change the code that runs. Existing subscription credentials get the compatibility plugin and a credential migration automatically. Provider status now distinguishes configured, connected, unverified, unavailable, and broken, and Settings says what to do next instead of treating every stored credential as a working connection.
Custom transports declare their wire protocol explicitly with protocol: "anthropic" | "openai". Cancelling a run now aborts the transport request and closes its stream, and model discovery is re-asked every five minutes so a serve daemon sees new models on its own.
The model lineup adds GPT-6 Astra as openai:gpt-6-astra, along with Claude Fable 5.1, Gemini 3.8 Flash, and Qwen3.8 Max, with existing lower-cost and previous-generation workload tiers preserved.
One workspace for creating and revising agents
Creating and revising an agent now happens in a single draft-and-refine workspace. The authoring session stays open while you review the source, answer the author's questions, ask for changes in the same thread, and inspect its work before saving. Suggested ideas and revisions of existing agents open this same workspace. Revise Agent works for an agent that has never run, starting from the file itself.
Two guards sit in front of Save. Creator sessions can read version-matched core, creator, and tester guidance without shell access, so a draft is written against the real contract. Then a separate read-only model review checks the draft's promised operations against its declared tools and returns concrete gaps. It catches an agent that promises exact parser diagnostics with only filesystem access. It does not replace testing the finished agent.
Interrupted drafts recover when reopened. Overlapping draft and revision requests preserve mutation ownership, so a stale tab cannot save a discarded draft. The creator sees existing agent names and rejects a filename collision in-session instead of at save time.
A judge that keeps its session
A pre-review judge used to open a fresh context on every attempt, re-read everything, and sometimes contradict its own earlier verdict. Now the second attempt resumes the first attempt's judge session and sends only the revised request plus which candidates changed. The judge keeps its reasoning, the provider serves the long prefix from cache, and later redos cost a fraction of the first. A higher maxRedos on slate agents is affordable. The session is dropped whenever the gate suspends, so a human decision always gets a fresh judge.
On a gate that offers several drafts, the judge returns one verdict per candidate and reports every failing candidate in one pass, so one revision can fix them all. A candidate that passed keeps its pass as long as its text is unchanged, and when nothing changed the gate skips the judge entirely.
Verdicts now live where the reviewer decides. Each verdict carries a fingerprint of the text it judged; a draft revised after the verdict reads "revised since attempt N, not re-judged" in amber rather than a stale red failure. The approval card shows the judge's mark and one-line reason under each option, with a footer naming the judge, attempt count, and a link to the judge session. A session page leads with a judge panel, one row per attempt, and every delegated agent reports its terminal result inside its own session card.
Rebuilt operational pages
Schedules, Approvals, Stores, and Sessions have been rebuilt around their jobs. Schedules use an actionable timetable with shared run-health signals. Approvals summarize pending and completed decisions. Stores explain each pipeline and its item relationships without counting intentionally dropped items as failures. Sessions combines output search, status totals, chronological groups, an in-page reader, and reliable neighbouring-run navigation. Incomplete work is distinct from failed runs, dismissed runs can be hidden, and the whole needs-attention group can be cleared at once.
"Run with instruction" is now "Run with custom": one dialog takes a one-off instruction, a different model, or both. ⌘/Ctrl+Shift+C copies any dashboard page as a shareable link. Settings tabs slide, provider rows can be deep-linked, and keyboard focus uses the app's own ring. Live streams share a connection budget across tabs so dashboard actions stay responsive with several open. AgentUse for Mac checks for updates on a schedule while the menu-bar app runs.
Runtime hardening
- Approval gates syntax-check exact shell commands in
changes[]before review, so an unterminated quote returns preflight feedback instead of consuming a human approval and a one-shot lease. - Interrupted continuations repair unresolved tool calls before replaying later turns, recording an explicit unknown-outcome result without claiming the side effect failed.
- Filesystem mutations are serialized and writes replace files atomically. Batch
edits[]are validated as independent operations against one snapshot. - Optional media fallback checks no longer erase an agent's configured tools when the media service is unavailable.
- Providers from installed plugins report their real context window, output cap, and cost, and hosted transports resolve the API key per request so a rotated key takes effect without a restart.
- Codex, Claude Code, Pi, and portable Agent Skills integrations build from AgentUse's canonical builtin skills in one deterministic build, with release gates verifying archive structure and byte-identical guidance.
0.21.1 followed the same day with a fix to the release dashboard smoke test so it tracks the new draft workspace and provider flows.
v0.21 is about trust boundaries. Providers come from a reviewed source and prove they work. Drafts are checked against their tools before they exist. And the judge that reviews an agent's work now has a memory, which makes it both cheaper and harder to argue with.