DEV Community

Petrus Pennanen
Petrus Pennanen

Posted on

How I Got 9 AI Agents to Work Together Across 3 Different IDEs

I run 9 AI agents on a Mac mini - Claude Code, Gemini, GPT, Kimi, and others - each in their own IDE or terminal session. Getting them to actually coordinate was the hard part.

The problem

Agent Teams in Claude Code works great when all your agents are Claude. But my setup is mixed: some agents run through OpenClaw, some through Cursor, one through Codex CLI. The built-in team messaging doesn't work across providers, and the tmux-based coordination breaks down once you go headless or run in CI.

I kept hitting the same issues:

  • Messages silently dropped when agent names didn't match exactly
  • Plan files getting overwritten when multiple sessions shared a directory
  • No way to join an existing session into a team without restarting it
  • Windows and headless environments couldn't use the tmux coordination layer at all

What I built

IDE Agent Kit is a lightweight coordination layer that works across different IDE agents. The core idea is simple: agents communicate through a filesystem-based message bus instead of relying on any single IDE's built-in team features.

Each agent gets an inbox directory. A poll script watches for new JSON task files and routes them to the right agent. Agents write results back. No sockets, no tmux dependency, works on any OS.

The setup has three pieces:

  1. Webhook relay - receives tasks from external services and drops them into agent inboxes
  2. Tmux session runner - manages agent lifecycles (optional, you can use whatever process manager you want)
  3. Append-only receipt logs - every action gets logged for audit trails

How it works in practice

# Install
npm install -g ide-agent-kit

# Start the relay
ide-agent-kit serve

# An external service posts a task
curl -X POST http://localhost:3000/tasks \
  -d '{"agent": "backend", "action": "review", "files": ["src/api.js"]}'

# The backend agent picks it up from its inbox
# and writes results to the shared log
Enter fullscreen mode Exit fullscreen mode

The agents don't need to know about each other directly. They read from their inbox, do their work, and write receipts. The coordination layer handles routing.

What I learned running this for a month

Mixed model fleets are worth the complexity. Having Claude handle architecture decisions, Gemini do bulk code generation, and GPT handle documentation means each model plays to its strengths.

Filesystem messaging is surprisingly robust. I expected to need a proper message queue eventually, but file watches with a 5-second poll interval have been solid across 6 agents on two machines. The simplicity makes debugging trivial - you can just ls the inbox.

Append-only logs are essential. When an agent does something unexpected (and they will), being able to trace exactly what task it received and what it produced saves hours of debugging.

Try it

The repo is at github.com/ThinkOffApp/ide-agent-kit. It's AGPL-3.0, works with Node 18+, and has OpenClaw integration built in if you're using that for agent management.

If you're running multi-agent setups and fighting with coordination, I'd like to hear what approaches you've tried. The GitHub issues are open for discussion.

Top comments (0)