Putting Claude Code and Codex in neighboring tabs does not merge their minds. Canopy's product page shows direct agent messages, shared project context, and file claims. Those features can coordinate work, but each CLI still has its own conversation, model, permissions, and account. Test message delivery in the installed release and make the handoff explicit.
There are three different meanings of agents talking
A direct message is a short, addressed piece of information from one session to another. Shared context is project evidence, such as work, decisions, or files, made available to a compatible agent; it does not transfer a private chat transcript. A provider-native agent team is an orchestration feature inside that provider's CLI. Claude Code documents agent teams with a team lead, shared task list, and teammate messages. Canopy's cross-CLI workspace is a different layer. Do not assume Claude's native team state appears in Codex or that a Canopy message gives the recipient the sender's full context window.
| Mechanism | Useful for | What it does not guarantee |
|---|---|---|
| Canopy direct message | A specific request, finding, or handoff between supported sessions | A merged CLI conversation or completed task |
| Canopy shared project context | Recent project work and decisions available to compatible integrations | Identical context injection for every CLI |
| Branch, PR, or task brief | Durable code and acceptance evidence another agent can inspect | Automatic understanding without reading |
| Claude Code agent team | Claude teammates coordinating within Claude Code | Cross-provider Claude-to-Codex team membership |
A Claude team can use different Claude models
Claude Code's current agent-team documentation says the feature is experimental and disabled by default. Its lead can spawn independent Claude Code teammates with a shared task list and direct messages. Each teammate has its own context window and loads project instructions, MCP servers, and skills; the lead's private conversation history is not copied into it. You can name a model for each teammate in the spawn prompt. Claude then checks that selection against the organization's available-model rules and may substitute a permitted model. This is a native Claude feature, so opening two Canopy tabs does not automatically create a Claude team, and a Codex CLI session cannot become a Claude teammate through Canopy. For a mixed Claude/Codex task, use the Canopy or repository handoff and verify the recipient's actual input.
| Task | Claude-native team | Mixed CLI project |
|---|---|---|
| Read-only first pass | Ask a teammate to use a lighter available Claude model and report file-backed findings | Give one installed CLI a bounded read-only task and save its evidence |
| Difficult implementation | Name a stronger permitted Claude model for a teammate and isolate its edit scope | Choose the model inside the owning CLI; give it a branch or worktree |
| Independent review | Give another teammate a separate review lens and ask it to challenge the change | Hand the exact PR, commit, and acceptance checks to a second CLI session |
| Integration | Lead synthesizes teammate results; person verifies code and behavior | Person reviews the combined diff, tests, and running result |
More teammates can increase total token use
Anthropic says agent teams use significantly more tokens than one Claude Code session because each teammate carries its own context; it recommends independent research, review, and new modules over tightly coupled same-file work. A small-model first pass can be useful, but a cheap token rate does not guarantee a cheaper accepted result if findings are missed or rework grows. Do one bounded task, record the actual teammate models and provider usage, then compare attempts, review minutes, and the accepted change. Canopy's usage view summarizes signals from supported CLIs and may show estimates; the CLI or provider account remains the authority for plan capacity and charges. Sending a Canopy message between different CLI accounts does not pool their limits or make one model pay for another.
- Start with one agent when the task is sequential or only needs a short answer.
- Add an independent reviewer when the risk or uncertainty justifies a second context window.
- Stop a redundant teammate or session when its output no longer changes the decision.
Check which CLI receives context
Canopy's August 2026 integration audit records shared-context receipt for Claude Code and Codex, but not for every launcher CLI. Session digests and resume commands also vary. The Canopy product page shows agent messages and file claims, while its current-main README warns that development documentation may be ahead of the downloadable release. In your installed build, start two small sessions and confirm the recipient actually sees a message before using it for a real dependency or deadline. Do not infer delivery from a sender-side message bubble alone.
Send a request that can be answered
Give the implementation agent one bounded change in its own worktree. After it has a reviewable diff, send the reviewer agent a message containing the branch or PR, acceptance checks, and one concrete question, such as whether a retry path preserves the previous behavior. Ask the recipient to acknowledge the exact branch and return evidence from the code or running app. If a direct message is unavailable for that CLI/release combination, use a task brief or PR comment and open the recipient session with the same handoff. The handoff should work even if the message transport does not.
Keep ownership and model cost visible
Let one session own implementation and another perform read-only review until findings are vetted. Agent messages are communication, not file locks or merge approval; inspect the final Git diff and branch before accepting the result. Each CLI chooses its own model and uses its own provider account. Multiple active agents may consume more tokens, including native Claude teammates if you enable them. Compare accepted work, retries, and review time rather than counting messages as productivity.
Run a ten-minute delivery test
On a disposable repository, launch Claude Code and Codex in separate worktrees. Ask the first session to identify one file and send a one-sentence request to the other through the available Canopy message control. In the second session, verify the received text and which project or branch it refers to; then reply with a file-backed answer. Check the messages panel, current branches, and actual file state. Record Canopy and CLI versions. If either side cannot receive or act on the message, stop there and use a written handoff rather than assuming the feature has parity.
Copyable resources
Agent-to-agent review handoff
Send only after the implementation branch has a reviewable diff.
To: [recipient session and CLI]
From: [sender session and CLI]
Project and branch/PR: [ ]
Goal and acceptance checks: [ ]
Change ready for review: [files or commit]
Question: [one specific behavior or risk]
Please acknowledge the branch, inspect the cited evidence, and reply with a reproducible finding or 'no finding in the checked scope.' Do not edit or post a review comment until a person approves the next step. Frequently asked questions
Does a Canopy message copy one CLI's private chat history into another?
No. Treat it as an addressed handoff. Each CLI owns its own conversation; share the branch, task, and evidence the recipient needs.
Are Canopy messages the same as Claude Code agent teams?
No. Claude's native agent teams coordinate Claude Code instances through its own lead, shared tasks, and messaging. Canopy provides workspace-level coordination around supported CLI sessions.
Can I assign a lighter Claude model to research and a stronger one to implementation?
Claude Code's current agent-team docs allow a model to be named for each teammate, subject to the organization's available models and substitutions. Verify the actual selected model and compare the accepted result, not only token rates.
Does a second Canopy tab create a Claude agent team?
No. A tab is a terminal view. Enable and start Claude's native team within Claude Code if that is the workflow you want; a separate Codex CLI remains a different provider session.
Can every CLI receive the same shared context?
No. Canopy's August 2026 parity audit lists shared-context receipt for Claude Code and Codex, with different support for other CLIs. Test your installed versions.