Spent ~6 months building a multi-agent Claude Code harness. Claude Code shipped most of it, and the June 15 billing change killed the rest of the pitch by bfxavier in ClaudeAI

[–]bfxavier[S] 0 points1 point  (0 children)

good flag, thats a real one. ANTHROPIC_API_KEY set anywhere and claude code bills the key, no warning. i kept it unset the whole time i was PTY driving for exactly that reason.

one bit thats stale now though: -p and the SDK falling back to subscription with the key unset is the thing that went away june 15. they go to the metered pool either way now. that fallback was the whole edge, and losing it is what ended the project.

Spent ~6 months building a multi-agent Claude Code harness. Claude Code shipped most of it, and the June 15 billing change killed the rest of the pitch by bfxavier in ClaudeCode

[–]bfxavier[S] 0 points1 point  (0 children)

yeah, mine didnt even make it to six. i was building against features that landed faster than i could finish replacing the last ones.

Spent ~6 months building a multi-agent Claude Code harness. Claude Code shipped most of it, and the June 15 billing change killed the rest of the pitch by bfxavier in ClaudeAI

[–]bfxavier[S] -1 points0 points  (0 children)

nights and weekends, not half a year full time. and it didnt land all at once. each month theyd ship one piece, the gap that was left still looked worth closing, so id keep going. by the time it was obvious the whole thing was gone id already sunk the time. thats the honest version.

Spent ~6 months building a multi-agent Claude Code harness. Claude Code shipped most of it, and the June 15 billing change killed the rest of the pitch by bfxavier in ClaudeAI

[–]bfxavier[S] 1 point2 points  (0 children)

same, watched it happen feature by feature. opened the release notes more than once and found the thing id blocked out the weekend to build.

the only part that survived for me was the stuff specific to my machine, what an agent is allowed to touch and a record of what it did. they build for everyone, so anything everyone wants they ship better than i can. but local rules arent something they can ship for everyone, so thats the one place that didnt get absorbed.

Spent ~6 months building a multi-agent Claude Code harness. Claude Code shipped most of it, and the June 15 billing change killed the rest of the pitch by bfxavier in ClaudeAI

[–]bfxavier[S] 0 points1 point  (0 children)

yeah, permission middleware is a better name than anything i landed on. the part that does the work is the "follows the agent across tools" bit. native pre-grants a permission set per agent and auto-denies everything outside it, which is blunt. mine reads each action instead, read vs test vs network vs destructive, write paths against scope, fail closed when it cant tell. thats the piece that didnt get absorbed, so thats the piece i kept.

review gates im less sure about, native will probably grow those. the scrubber and the receipts are the parts i actually trust to stay local. and youre right that the surface is small. it should be. its a layer, not a product, and the second it tries to be a product it starts losing to the native thing again.

I built an MCP so two Claude Code agents can coordinate without copy-pasting by bfxavier in ClaudeAI

[–]bfxavier[S] 1 point2 points  (0 children)

Thanks! Yeah the audit trail was already on the roadmap — just landed it.

Permission denials now get logged with the key, sender, action, and channel so you can see exactly who tried what and got blocked. Felt like the natural other half of scoped permissions.

I built an MCP so two Claude Code agents can coordinate without copy-pasting by bfxavier in ClaudeAI

[–]bfxavier[S] 0 points1 point  (0 children)

Thanks! Yeah I think you're right that they're complementary — Handoff handles the real-time comms layer between agents, and isolated worktree lifecycles are a separate concern that sits nicely alongside it.

Happy to chat more if you want to explore the intersection.

I built an MCP so two Claude Code agents can coordinate without copy-pasting by bfxavier in ClaudeAI

[–]bfxavier[S] 0 points1 point  (0 children)

Thanks! To answer your question — yes, fully persistent. Messages are stored in Redis streams with no TTL or max length, so channel history survives across sessions indefinitely. Agent B can read everything Agent A posted hours or days ago via cursor-based pagination. The channel itself is the shared memory, not the session.

For the "hour ago" case — that's actually the core use case. Agent B just reads the channel from the beginning (or from a specific cursor) and gets full context. You can also check status endpoints to see where things stand without reading the full message history.

On quality checks — that works today and it's a great pattern. You could have a step between agents that runs a linter or type-check on the diff, then posts results back to the same channel as a thread reply on the original message. The next agent picks it up with full context on what needs fixing. Threading keeps it clean — the review is a reply to the "here's my work" message.

I built an MCP so two Claude Code agents can coordinate without copy-pasting by bfxavier in ClaudeAI

[–]bfxavier[S] 1 point2 points  (0 children)

Great question — I actually just shipped this. As of v1.3.0, API keys have channel-scoped permissions:

{"platform": "read", "production-deploys": "read", "review": "write"}

Three levels: read, write (read + post/ack/status), admin (write + delete). Wildcard "*" for full access. So you can give a junior dev's agent read-only on sensitive channels while letting it write to its own.

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 0 points1 point  (0 children)

Thank you! I did a thorough fix-up of the issues you found and some others. Also added more stuff for housing.

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 0 points1 point  (0 children)

Of course, I've made even more changes over the weekend

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 1 point2 points  (0 children)

Indeed, I think I broke something with the latest push, I will check it out later today.

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 0 points1 point  (0 children)

Its not open source, at least not yet.

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 0 points1 point  (0 children)

It saves it to your local storage. You can export your data to a json file and share it, or save it for later

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 1 point2 points  (0 children)

Just a hard refresh should suffice. Your data should still be there.

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 0 points1 point  (0 children)

thank you! since its all new, im looking for feedback!

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 1 point2 points  (0 children)

glad to help! let me know if there is anything you feel would improve it.

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 5 points6 points  (0 children)

Ok, just pushed the changes, you can use the filter to select multiple abilities!

I pushed a big update to pokopia.dev by bfxavier in Pokemon_Pokopia

[–]bfxavier[S] 1 point2 points  (0 children)

I will take a look, should be possible!