A group of apes is a shrewdness. A group of parrots is a pandemonium. I learned both of those words this summer, while working out which of the two I had running on my laptop.
On one screen, an Amiga emulator playing Arte, a demo released by the group Sanity on 29 December 1993 . On the other, a browser canvas trying to be the same thing. Between them, I could not see, disassembling 68000 machine code and arguing with each other through a mailbox I had built for them.
I picked that target to be unfair. A crunched 1993 binary, twenty-six executables, no source, and a fidelity bar set at the pixel. A process only tells you something when the work is hard enough to break it, and I wanted to know where mine broke.
I have been making the same argument here since February, across pieces on the developer's changing job, on harnesses and meta-harnesses, and on the idea coming round again after fifty-seven years. In the earliest piece I wrote this:
If the cheap coding plans give way to metered API pricing, the economics change sharply. The counter-pressure is that capable open-weight models, many from Chinese labs, keep getting better. How long until "good enough" runs on your own hardware for free? Nobody knows, and the answer reshapes everything above it.
That was 25 February. On 1 June replaced premium requests with , which amounts to metered pricing . I began testing open-weight models through and its plan almost immediately. The summer became an attempt to answer the second half of my own question.
That February I had also put "developing at the speed of ideas" on a slide under a heading about the parts that were not all sunshine. My warning was that features pile up faster than you can test them. The summer added another limit: other people can build at that speed too. What felt eccentric in early June had a vocabulary, a product category and better implementations than mine six weeks later.
I still wanted to know what orchestration took beyond typing "orchestrate this build" at . So I built a model catalogue, a health-checked proxy, a launcher that chose a model and budget per job, a back-channel for blocked , and a from the build logs. Then I pointed the flock at the demo.
Why I went looking
Two things happened a week apart.
On 1 June, GitHub moved from premium-request counting to metered AI Credits, priced at one cent each . My $39 plan returned $39 of credits, and a variable "flex allotment" of up to another $39 . It was the end of a subsidy and put a meter beside work whose cost I had stopped noticing.
Then on 9 June, shipped Fable 5. Three days later it disabled the model for every customer on the planet, on a US government export-control directive , and access did not come back until 1 July . I wrote about that at the time.
That week, being cut off stopped looking like a continuity-deck scenario. I could not justify two $200 monthly subscriptions for a hobby. More than that, I wanted to test my own "good enough" claim instead of continuing to assert it, and see orchestration in practice rather than in a diagram.
Attempt one: Claude calling other harnesses
publishes an official plugin for , under Apache-2.0, which wires the two together through your local Codex install . Add a short note to CLAUDE.md about when to delegate, and Claude will hand a well-specified task to Codex and read the result back without being asked twice. That worked on the first afternoon.
That left ClinePass and OpenCode Go inside their own harnesses. was $9.99 a month, with my first month under five dollars on promotion , while OpenCode Go was $5 for the first month and $10 after . At those prices you subscribe, then feel slightly stupid about not using them.
I built the Cline equivalent of the Codex plugin: one command, one run, a diff in the working tree, nothing committed. It grew provider switching, and a lightly repaired skill added OpenCode delegation. By the end of the week Claude could hand work to all three.
To harden the Cline plugin rather than admire it, I used it to build two games end to end, first a terminal version and then a fuller one each time. I logged every failure and fed it back into the tooling.
The bookkeeping soon hurt more than it saved. I had to track which models each plan served, which had been retired, and which could take a hard refactor rather than a rename. That mental table went stale within days and did so silently. I built a feed that published the available models with capabilities and scores, letting tools query it rather than carry a list. By then I could see I would not keep this approach.
The first arrangement. Delegation worked; the two dotted lines are what sank it. Author's illustration.
The delegates failed in different ways. Codex's sandbox broke shell-heavy tasks. Cline modified files outside its scope, switched unpredictably between worktrees and the main checkout, and once operated outside the tree I gave it. I could not run that beside other agents.
The deeper failure was mine. The delegation rules were impressions committed to CLAUDE.md: this model is decent, that one is cheap, protect the expensive plan. They decayed whenever a provider changed anything. Claude could not see remaining quota, reset times or which model suited the job. It dispatched in the dark while I held a spreadsheet.
Claude Code could plan and review work that other harnesses executed. The plumbing was never the problem. It lacked the facts needed to decide where a job should go.
Then a fifth plan, at 2% of list
On 19 July Alibaba opened its individual Model Studio Token Plan from six dollars a month, led by .8-Max-Preview. The promotion charged a tenth of the standard credit rate by day and, in my measurements, a fiftieth between 16:00 and 02:00 . It was cheap enough to be silly.
That promotion has since ended. Qwen3.8-Max launched properly on 3 August, 2.4 trillion parameters and a million of context , and the evening window now runs at half price rather than a fiftieth.
Five plans, then, but not five interchangeable buckets. ClinePass had a monthly allowance. OpenCode Go had a reset window. Qwen's price changed with the clock, while the Claude allowance was both a worker pool and the thing keeping the alive . I was trying to optimise a table whose rows moved while I used it.
After twenty-five years of consulting, cost, quality, speed, pick two is wired into me. Most project tasks do not need the smartest worker, and overnight jobs can be slow. Could an orchestrator make that trade deliberately instead of always reaching for the best model?
Attempt two: subagents, and the wall
The obvious move was to put every model behind Claude Code. fronts many providers through one Anthropic-compatible endpoint , so the , skills and tools could stay the same.
A tool would maintain the proxy, reconciling the feed against my rules and checking every candidate before admission. It also let Claude query reachability, cost and . That fixed attempt one's real failure.
I set up three profiles with shared skills but separate credentials: Claude to Anthropic, Qlaude to Qwen, and Plaude to the proxy. Fable would plan, Opus would orchestrate, and cheaper models would work.
Nothing ran.
Every reason was documented. Only one was fatal.
The orchestrator cannot pick a model per job. You can pin one at session launch, in a subagent definition, or through an environment variable . But the per-invocation parameter accepts only tier names, leaving the profile to decide the model. That was the decision I needed the orchestrator to make.
The context window comes with a trade. The [1m] suffix gives Claude Code a million-token window with . Setting the window through environment variables requires disabling compaction , and behind a gateway Claude Code cannot verify million-token support .
The model list does not arrive. Claude Code will not fetch it from a custom endpoint without an API key, which passthrough does not provide . I typed the names; this was a nuisance.
Underneath all three sits one sentence in Anthropic's own gateway documentation that I should have read first: Anthropic does not support routing Claude Code to non-Claude models through any gateway .
Claude Code is built for Anthropic's models. Reaching others is possible but uncomfortable, which is reasonable. It simply did not expose the decision I needed.
Every one of these was published first
I found each constraint afterwards, by breaking something and then searching for why it broke. The habit cost me about a week here, and it is the same habit that makes people insist a tool cannot do something it documents on page one.
Attempt three: Claude launching Claude
Using Claude for everything was no longer the smartest plan, but I liked the harness and had watched it run well with Qwen. I kept going.
The way out was a launcher.
Instead of creating , the launcher starts whole Claude Code processes with the model and context window set through environment variables . Widening the window disables automatic compaction, so a long run can hit a wall. Scoped briefs can accept that trade.
I kept the orchestrator as a plain Claude Code session so I could drive it from my phone and publish progress artifacts.
Jobs declare a role instead of a model: planner, implementer, reviewer. The launcher asks the proxy what currently fits, checks the budget, walks a failover list and refuses work that exceeds every permitted window. The orchestrator asks for a reviewer without caring whose weights are behind it.
The assembled stack. Each box is a small contract; the mailbox was the last piece added and the one that changed the yield most. Author's illustration.
The lane orchestrator dispatches, the config maintainer checks the proxy, and the model catalogue feeds both. Only the launcher knows about Claude Code.
The build
Fable wrote the specification, tickets and orchestration strategy from the tools' live guidance. Claude built an HTML dashboard from the build logs. Then I opened the session on my phone and typed "Go".
That genuinely delighted me. Checking a build I had described rather than written, from a sun lounger or between churches beside an Italian lake, felt close to the promised future.
Phase one worked. The retrospective was ugly.
Free-tier models failed often. Fifty-six of 287 dispatches died as provider refusals, heavily concentrated in the free tiers.
The preferred expensive models because they scored higher, draining the subscriptions I had to protect. If the orchestrator's plan runs dry, I no longer have an orchestrator. The whole point was to send ordinary work somewhere cheaper.
Demonstrated on the way out
The final fact-check pass on this article was supposed to run on a frontier model. It stopped partway through with a message telling me I had hit the monthly spend limit, on a piece arguing that the expensive tier runs dry exactly when you need it. I did not arrange that.
Wrong briefs and missing sandbox files also killed jobs. With no mid-flight correction, I had to adjust and pay for the work again.
Several providers failed through the gateway and needed proxy patches. Cline returned messages in a shape that was not quite standard, so it needed an adapter; OpenAI needed a separate fix. These interfaces are compatible by convention rather than agreement, so the seams appear as undocumented request failures.
The fixes gave the orchestrator eyes. Price signals made "cheap" and "expensive" legible even where a plan was flat-rate. supplied live quota headroom for each subscription. A hard stop protected the Claude pool, and the guidance preferred Qwen during its cheap window.
The change that mattered most was the mailbox, which let a blocked worker ask and wait. Two stalled units went from nothing to nearly complete after one answer; blind re-dispatch had yielded nothing across two waves.
For one afternoon I copied markdown between three Claude sessions in three repositories so the tooling could improve itself. A postman delivering letters between rooms of his own house. That indignity is already disappearing.
The ledger
Three attempts, and only the third produced numbers, because only the third had anything worth instrumenting.
| Attempt one | Attempt two | Attempt three | |
|---|---|---|---|
| Shape | Claude calls other harnesses | Claude runs everything as subagents | Claude launches Claude |
| Delegation targets | Codex, Cline, OpenCode | none reached | any model on the proxy |
| Guidance | static text I wrote by impression | same | queried from a live catalogue |
| Cost and quota visibility | none | none | headroom per subscription |
| Recovered from a stuck worker | no | n/a | yes, via the mailbox |
| Dispatches completed | not instrumented | zero | 287 |
Attempts one and two predate the build record, so their rows are qualitative by necessity rather than by choice. Attempt two never dispatched anything. Author's summary.
Phase two of the third attempt, with the corrected guidance, went smoothly. Here is what it actually ran on.
| Dispatches | On the Claude plan | Already paid for | Reference burn |
|---|---|---|---|
| 287 | 1 | 286 | $6,237 |
| across 131 units | the reserve rule held | 238 flat-rate, 48 free | list-price equivalent |
Counts from the build's own record: 131 units, 254 ingested runs, 287 dispatch attempts, 13,906 agent turns, 122 logged incidents. The reference burn is the launcher's own arithmetic against published list prices, kept as a rate comparison so runs could be compared to each other. It is not a bill and nothing like it was invoiced. Author's calculation.
That single Claude dispatch was a rule, not an accident. The orchestrator used the Claude subscription to plan, review and judge, then handed the typing to something cheaper 286 times out of 287.
Roughly half the work ran on models from Chinese labs, led by Qwen 3.8 Max. Most of the rest went to two seats. Capacity collapsed twice, and both times the work continued on whatever still answered.
Nobody who watches a ten-dollar model spend six hours disassembling 68000 code and produce a correct decoder still reaches for the word parrot. The 2021 critique targeted systems stitching language together probabilistically without reference to meaning . Whatever this is, it is not that. The charge fell to a subscription costing less than lunch.
The port runs: twenty-one parts and 19,524 frames, with audio and inside its performance budget. It is also visibly wrong. Every mechanical gate passed while several parts differed from the original across most interior pixels. The gates measured colour, rows and timing. None measured resemblance, the only thing a demo is for. The orchestration did what I asked; I had asked for the wrong proof.
What it still gets wrong
Claude forgets procedure. Rules in project instructions, skills and tool output still faded during long sessions. It never learned which files belonged in a worker's sandbox.
Past half the context window, orchestration worsened. Past three quarters, Claude often stopped orchestrating and began doing the work itself, badly.
More prose did not help. Hooks could refuse to end a turn, and strict tools could reject a sloppy call. Judgment you cannot rely on needs a gate that does not.
It stopped being strange
got named in June for designing an agent's cycle rather than its . By late July, named the layer that wires many agents together . I had been doing both without either word.
open-sourced Omnigent on 13 June and pushed it from .3.0 to v0.8.1 between 27 June and 3 August . Those releases added automatic harness-and-model selection, live discovery from provider catalogues and installed CLIs, and for agents stuck in retry loops . My catalogue, role-based dispatch and hooks had become product features in five weeks. I do not know whether Omnigent tracks quota per subscription, so I will not claim it does.
runs agent CLIs side by side in isolated worktrees under MIT licence . Cross-session messaging arrived in Claude Code while I was writing, putting my mailbox in the product .
LiteLLM already had the part I missed: cost-based and usage-based routing, provider budgets, and per-key and per-team hard limits . The quota logic I taught an agent through guidance was configuration in the proxy I already ran. By August, much of my June stack had become a weekend's setup: let sessions talk, let the gateway pick the model, and stop it overspending.
By August, the direction I had been arguing since February no longer sounded unusual. Frontier and open-weight models sat behind the same endpoint. Product features handled live discovery and automatic routing, while the interesting work moved above the harness into orchestration. In June I had to argue for that direction. Five weeks later I was reading it in release notes, while every tool I built to prove it had already become obsolete.
Router traffic is not enterprise adoption. approached a third of tokens on one public router , while a December 2025 Menlo Ventures survey of 495 US decision-makers found enterprise open-source share falling from 19% to 11% . Licensing, indemnity and governance shape procurement. My experiment measured what one person could reach with five subscriptions, not what an organisation would approve.
Open weights change the sovereignty question because the work need not go to a Chinese provider. The weights are downloadable. An organisation can run capable models on its own hardware, beyond the reach of a vendor or a Friday government directive.
That scales down. A regional data centre can serve models within its jurisdiction, and one provider behind my proxy offers exactly that under a -use allowance. If speed is unimportant, local hardware also moves closer to sufficient.
Local, regional, hosted and can sit behind the same endpoint. The gateway is a sovereignty tool as much as a cost tool. That may be the most useful thing I learned all summer.
I cannot see what they are doing
I know how many agents I dispatched and what they returned because I built the record. I cannot enumerate their processes, see what each read, or prove that a worker stayed inside its assigned directory. Each received a , which is only a second checkout of some files.
I accepted that on a hobby project with nothing sensitive in it. I would refuse it at work. The professional tools put policy enforcement and sandboxing above the harness before routing and discovery . That ordering says which problem their builders consider dangerous.
I have cancelled ClinePass, OpenCode Go and Qwen for now. The models arrived, the work got done for almost nothing, and there was nowhere safe to put it.
I expect to try again with a server, remote tooling, real sandboxes and an orchestration layer somebody else maintains. Omnigent is the obvious candidate. Its version is one I might trust.
Final thought
I gave each of them a worktree and called it containment. A worktree is a second copy of some files. It is not a cage.
A Shrewdness of Apes, or a Pandemonium of Parrots? · August 2026 · A field report on a summer of using Claude Code to orchestrate other agents and models across five subscriptions. Build counts, dispatch totals and fidelity percentages are read from the project's own build record; the reference burn is the author's own list-price calculation and not a billed amount.
References24
- 1Bender, E. M., Gebru, T., McMillan-Major, A., Shmitchell, S., "On the Dangers of Stochastic Parrots: Can Language Models Be Too Big?", Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency (FAccT '21), pp. 610–623, March 2021. dl.acm.org ↗
- 2Anthropic, "Statement on the US government directive to suspend access to Fable 5 and Mythos 5", June 12, 2026. anthropic.com ↗
- 3Anthropic, "Redeploying Claude Fable 5", July 2026 (restoration of access after the export controls were lifted). anthropic.com ↗
- 4GitHub, "GitHub Copilot · Plans & pricing". github.com ↗ Accessed 2026-08-08
- 5Cline, "ClinePass, Best of Value for Open-Weight models", June 29, 2026. cline.bot ↗
- 6OpenCode, "Go" plan documentation. opencode.ai ↗ Accessed 2026-08-08
- 7Alibaba Cloud Model Studio, "Token Plan (Personal Edition)" documentation, and the launch post "Model Studio Token Plan for Individual: One Subscription for Every AI Model, Up to 3x More Value", July 2026. alibabacloud.com ↗ · modelstudio.alibabacloud.com ↗
- 8Alibaba Cloud, "Alibaba Unveils Qwen3.8-Max: Its Largest and Most Capable Flagship Model to Date", August 3, 2026. alibabacloud.com ↗
- 9Anthropic, Claude Code documentation, "Other LLM gateways". code.claude.com ↗ Accessed 2026-08-08
- 10Anthropic, Claude Code documentation, "Model configuration". code.claude.com ↗ Accessed 2026-08-08
- 11Anthropic, Claude Code documentation, "Create custom subagents". code.claude.com ↗ Accessed 2026-08-08
- 12Anthropic, Claude Code documentation, "Settings" (environment variables `CLAUDE_CODE_AUTO_COMPACT_WINDOW` and `DISABLE_AUTO_COMPACT`). code.claude.com ↗ Accessed 2026-08-08
- 13Anthropic, Claude Code documentation, "Message your other Claude Code sessions" (cross-session messaging, requires v2.1.224 or later). code.claude.com ↗ Accessed 2026-08-08
- 14OpenAI, "codex-plugin-cc" (Codex plugin for Claude Code, Apache-2.0). github.com ↗ Accessed 2026-08-08
- 15LiteLLM, "Use Claude Code with Non-Anthropic Models". docs.litellm.ai ↗ Accessed 2026-08-08
- 16Demozoo, "Arte by Sanity" (Amiga OCS/ECS, released 1993-12-29 at The Party 1993). demozoo.org ↗ Accessed 2026-08-08
- 17Omnigent, GitHub releases (v0.3.0, June 27, 2026 through v0.8.1, August 3, 2026). github.com ↗ Accessed 2026-08-08
- 18Databricks, "Introducing Omnigent: a meta-harness to combine, control and share your agents", June 13, 2026. databricks.com ↗
- 19stablyai, "orca" (agent development environment, MIT licence). github.com ↗ Accessed 2026-08-08
- 20MarkTechPost, "Prompt Engineering vs Loop Engineering vs Graph Engineering: What Changes at Each Layer", July 29, 2026. marktechpost.com ↗
- 21OpenRouter, "State of AI". openrouter.ai ↗ Accessed 2026-08-08
- 22Menlo Ventures, "2025: The State of Generative AI in the Enterprise", December 2025. menlovc.com ↗
- 23LiteLLM, "Router: Load Balancing" (routing strategies including cost-based routing against the model cost map, usage-based routing v2, latency-based and least-busy routing, cooldowns and fallbacks). docs.litellm.ai ↗ · docs.litellm.ai ↗
- 24LiteLLM, "Spend Tracking" and "Budgets, Rate Limits" (per key, user, team and organisation spend tracking; hard budgets with daily and monthly resets). docs.litellm.ai ↗ · docs.litellm.ai ↗ Accessed 2026-08-08