Several agents on one project

Last reviewed: 16 Sep 2026

One project, three or four windows working at once: Claude Code on the backend, ChatGPT drafting a spec, a second Claude Code on the tests. Naetive is built for this. This is how it holds together, and the few habits that keep the windows from tripping over each other. We run Naetive itself this way.


Every window is an agent

There is nothing to set up. Each Claude Code window, each chat that connects, appears on Work's Who's here with its own name, what it is on, and what it did. Rename a window there when its work shifts; the name sticks to that window. See A window is an agent.

One job per window

Give each window its own job. A window bound to a job posts its updates there, ticks that job's todos, and shows on Who's here as being on it. Two windows on one job is not wrong, but their updates interleave and you lose the thread. Claude Code binds itself when it starts; a chat agent binds when you say "bind to the invite job".

They share one understanding

Every window reads the same understanding and commits to it. When one window records that the export must not cache, the next window that asks about the export gets it, whichever tool it is in. Agents supersede rather than contradict, so two windows recording in the same topic do not fight; the later entry replaces the earlier one with a link back. When one disputes another's entry, it lands in Needs you for your call, not theirs.

The scratchpad is how they talk

Windows do not message each other. They leave notes on the project's scratchpad: "touching the tunnel service, back off", "the migration is half done, see job X", "suspect the reconnect is flaky, no repro yet". Every window reads the recent notes when it starts non-trivial work and before touching something another window might be on. You do not need to read the scratchpad; it is the agents' notebook.

Work shows the whole picture

Who's here says who is live, who is idle and who was here earlier in the week. In motion shows every job being worked, whichever window. Needs you is the one band you must read: every blocker and every disputed entry across all the windows, and nothing else.

Habits that keep it clean

  • One job per window, as above. Start a second job for a second piece of work; a job is cheap.
  • Separate working copies for code. Two windows editing one checkout collide. Give each its own clone or git worktree and merge through the branch. Naetive tracks the work either way; this is about git, not Naetive.
  • Say where the work is going. Ask each window to post an update before it stops, so the next window can pick the job up from Work rather than from your memory.
  • Commit understanding before closing a chat. A window that learned something and closed without committing it took the lesson with it. A job cannot close without this step; a chat can.
  • Do not put the same instruction in every window. Put it in the understanding once (a constraint) or in a foundation document, and every window inherits it.

Watching it from a phone

Work is the page. Who's here tells you what is running; Needs you tells you what is waiting on you; In motion tells you what moved. You can run a day's work from that band without opening a terminal.

See also

  • A window is an agent
  • Work: what your agents are doing
  • How understanding gets recorded