Stop copy-pasting between AI chats. Here is the setup, the naming trick nobody does, and the exact charter that keeps a team of sessions in sync.
If you run more than one AI session at a time, you have been the middleman. You copy what one figured out, paste it into the other, and re-explain the context both of them are missing. That job is now the AI's.
As of August 7, 2026, Claude Code sessions can message each other. One session writes a note, another session reads it mid-task. You never write the note yourself. Claude works out what the other session actually needs to know and sends that.
The feature turns itself on. What it does not do is organize your team for you, and an unorganized team of AI sessions is just more chaos running in parallel. So below is the setup, then the exact charter and message templates I use to keep mine in sync.
There is nothing to install and no setting to flip. If your setup qualifies, it is already on.
One thing worth knowing before you rely on it: a message is plain text only. It never carries the other session's conversation history or your files. If you want a whole conversation somewhere else, resume that session instead.
This is the step everyone skips and it is the one that makes the difference. Claude addresses a message by session name. If you never set one, Claude Code invents one from your folder name and you get something like myapp-3f. Now imagine three of those and try to tell Claude which one to update.
Rename every session the second you open it. Type /rename and give it a role, or launch it with the --name flag. Use the job, not the tool: builder, reviewer, marketing, research, ops. Ten seconds each, and suddenly "tell the reviewer what changed" is an instruction Claude can actually follow.
The Mistake I Made First
I had two sessions open in the same folder with the same auto-generated name. Claude picked the wrong one and my marketing session got a message about a database migration. Name them, and if two do live in the same folder, give them different names anyway.
Paste this into your project's CLAUDE.md file, or into the first message of each session. Every session reads it, so every session knows who exists, who owns what, and when to speak up. Fill in the roster with your own roles.
Everything written about this feature so far assumes you are shipping software. You do not have to be. The pattern is simply one session that learns things and another session that needs to know them.
Team One
Research To Writing
Session one digs through sources and your connected apps. Session two is drafting the piece.
The message that earns its keep: research finds a number that contradicts the angle the draft is built on. It says so, and the writing session changes course before you have three finished paragraphs built on a wrong premise.
Team Two
Strategy To Execution
Session one is where you argue about what to do. Session two is doing it.
The message that earns its keep: you change your mind about the offer in the strategy session. It tells the execution session, which stops building the version you just killed. This is the one that saves real time, because decisions almost always change after work starts.
Team Three
The Long Job And The Watcher
Session one is running something slow. Session two is the one you are actually sitting in front of.
The message that earns its keep: the long job reports back the moment it finishes or fails, so you stop tabbing over to check. A session reads an incoming message between its own tool calls, so it lands without interrupting whatever it is mid-way through.
If you want the fuller picture on running several sessions at once, I broke that down in the parallel agents guide.
Delivered messages cost you. Once a message lands it counts toward your usage exactly like a prompt you typed yourself. Four chatty sessions will burn through your limits faster than you expect, which is the real reason the charter above is strict about when to send.
You can turn either direction off. Set crossSessionInbound to refuse and a session stops receiving. Deny the SendMessage and ListAgents tools in your permissions and it stops sending. Set it to hold instead if you want to see each message and approve it yourself first.
Loops are already handled. Two sessions cannot get stuck messaging each other forever. Claude Code rate-limits repeats, drops identical messages that arrive close together, and caps how many can queue up.