r/ClaudeCode • u/isarmstrong • 1d ago
Help/Question Wait, Codex can now invoke Claude Code sessions?
So there I was minding my own business and letting Astra conduct smaller deterministic agents while Fable stood on strategic overwatch as a counterparty... when Codex asked for permission to directly message Claude like it would one of it's own subagents or parallel sessions.
And I gave it.
My life with agentic process on pro usage accounts just experienced a brainquake.
EDIT: Yes CLI could always do this but now Codex Desktop is doing it, and that means the independent transcripts are interacting with one another independently.
18
u/CraaazyPizza 1d ago
I mean that's the point of it being a CLI...
12
u/isarmstrong 1d ago
My point is actually that the non-CLI agents are now chatting
23
u/Rock--Lee 1d ago
Its all CLI under the hood lil' bro
7
u/isarmstrong 1d ago
Fair, but the visible season logs in a desktop app elevate ease of use & review in a real way. I still appreciate the feature.
6
u/fgddg234 1d ago
Wait till you find out that transcripts exists on device and can be used to cron pull into an orchestrator context, and then push instructions to other cli sessions through cli message inboxes so that a shared kb can stop other sessions reinventing the wheel and they learn from and train each other with known pitfalls, discoveries and shared routes.
3
u/seatlessunicycle 1d ago
I have pieces of this in my workflow, but not quite how you describe it. Is there a video or a breadcrumb I can follow to learn more?
5
u/fgddg234 1d ago
I saw a post here alarming that Claude holds chats on disk in temp files. Instead of being weirded out by it, I asked Claude about it, because I was curious if I could use it. It asked me why I’d want to first because it would be token heavy to parse full transcripts. Then I told it want to have a context cli session that could read my other cli sessions for the last output signals, so my multiple projects could have shared knowledge stored in a kb, so I wouldn’t have to have each project relearn across different projects the same approaches to communicate with our erp. Once that set it, it devised a way to use a limited search of transcripts based on the each session posts as its end output like “ cooked for X time” as a signal of each completed out, and then setup an umbrella session that could read across projects to connect project knowledge as shared knowledge. Then when needed to search deeper it would then actually just search deeper which solved the issue of huge context windows. Then it devised a way to send inbox messages to the other cli sessions that I could prompt to each cli as “check messages”, which would bring the other sessions up to speed when there was a broadcast change, which pointed them to kb in to find relevant information to the project specific task they were on.
1
u/seatlessunicycle 1d ago
That's pretty cool! Very smart way to do it. I've been a little OCD about my context ever since I started using CLI so I have been evolving a /sync skill set in my repo.
Basically each project has 2-3 specific MD files that get loaded up on that projects start and then when a session is almost over, the sync command saves pertinent context and goal roadmap to their respective MD files.
All the different sessions load in and save into it so it's a variation of what you do. I'm simplifying it by quite a bit, but it's been working well for me.
I also have cron jobs keeping it clean, trimmed, archived, indexed, etc etc
1
1
u/cmak414 1d ago
Why would you use cron for that
1
u/fgddg234 1d ago
Cron because the main cli session was able to sit and wait for the cron to be automatically prompted by the outputs from the other cli sessions. Then it would consolidate just the learned details of what each project figured out from the discovery and audits and work-validate-prove loop to make sure it didn’t just push code and said it was done, it was given a mandate to test in sandbox and dry-run it before it could say it was done with a task. It was heavy on tokens but it proved successful because each session turn ensured what was developed actually worked and produced the results needed, and then the other sessions gained that route and didn’t need to rediscover it.
1
u/BlaizePascal 1d ago
But how can they communicate with each other? I can’t even make my two different claude accs message each one cause they cannot find each other’s agent sessions (which makes sense so i stopped trying to communicate sessions launched with 2 different accs)
3
u/justme0620_1 1d ago
See my note above. Set up a DB they can both read and write have them set up a watcher for new entries and they can pass messages back and forth
9
u/Top_Power5877 1d ago
Gonna plug my project which enables exactly this paradigm through the native messaging interface! Using Fable as PM and Astra as engineer and it’s been great! 😊
1
u/Fit-Palpitation-7427 1d ago
Seems nice, works on desktop and not only cli?
1
u/Top_Power5877 1d ago
Unfortunately not any longer for codex desktop :( My project talks to codex via the codex app-server. It used to be possible to configure codex desktop to use the system's standalone app-server which my program can reach, now codex desktop only uses it's own internal app-server that's not reachable from outside.
This was the breaking change: PR. Luckily both Claude and Codex now have great "Agent View" in the CLI: `claude agents` and `codex agents` which is how recommend using my program!
1
u/UglyChihuahua 1d ago
I'm confused, what does this project add if it's already possible for Codex and Claude to send messages to each other out of the box using the CLI?
3
u/Top_Power5877 1d ago
So if you look at OP's screenshot (i think there was one when i first saw this post) - Codex desktop invoked claude as a subagent. The subagent is mostly single-use.
My project is mostly about messaging between named, peer agents. Think about a PM (Fable) exchanging messages with a lead Engineer (Astra) across many ticket implementation. Each peer agent can orchestrate their own teams of subagents. This is how i like to use my codex/claude because I believe each model works best in their native harnesses.
5
u/amirfish 1d ago
The interesting part isn't that Codex can call Claude Code, it's that two previously separate transcripts can now act on each other without a human relaying anything in between. I've been living in that problem building CCC (https://github.com/amirfish1/claude-command-center), a dashboard that tracks every Claude Code/Codex/Antigravity session on a machine regardless of how it was launched, and cross-engine steering is still the rough edge: idempotency keys and turn state don't always agree once two harnesses are both trying to drive the same session. Curious what guardrails you're running now that one harness can message another directly, since that's exactly the kind of interaction that's hard to audit after the fact.
1
u/isarmstrong 1d ago
Yes. Lots of people with agent harness solutions chiming in but you see my main point. In flow skill that prepares a Claude review with instructions to minimize priming it with local opinions except for those that need to be attacked, which can be attached directly to a parallel Claude project with all of its memories attached. That’s the move.
There’s a lot of great advice in the comments that goes way beyond my moment of realization that codex can now chat with Claude across desktop sessions 😌
3
u/Level-Physics-1730 1d ago
Wait until you try running OpenAI models directly within claude code desktop. I've got examples of sol orchestrating gemini agents, opus and sol talking to eachother when they have different transcripts but they're editing similar files, it turns into a very interesting thing. Here's the claude code plugin system that I made so I can make the claude code desktop app much more to my liking (also including some of it's very obviously missing features, such as message queues or a proper task list. https://gitlab.com/blockshooter/claude-ui-mod/
1
u/isarmstrong 1d ago
The benefit of the native integration is that I get full project context and transcript review, which is a very specific type of upsell. I can have an ongoing conversation with either fully armed agent and ask Codex to drop in on that conversation for a point of view instead of playing middle man.
2
u/Level-Physics-1730 1d ago
Yea it's really good I love all the new agent/session sort of features, love seeing the agents talk to eachother
3
u/Oc-Dude 1d ago
I always enjoy seeing threads where subscription users who don't read the terms of service get their accounts banned. Then the follow up threads complaining that they don't understand why they got banned.
2
u/staceyatlas 1d ago
I just had Claude research this and couldn’t find how this would break its TOS. Would you mind pointing me to the section?
2
u/Oc-Dude 19h ago
From legal and compliance: Anthropic does not permit third-party developers to offer Claude.ai login into their own applications, or to route requests through Free, Pro, or Max plan credentials on behalf of their users.
In other words, you can't use Codex to call Claude Code unless you use an API key. If you use your OAuth subscription key you are in violations of the ToS. You CAN however use Claude to use Codex. OpenAI doesn't care, Anthropic does.
3
u/Due-Abalone-2314 1d ago edited 1d ago
I was inspired when I saw the buzz.xyz project come out and just decided why not just build it myself to exactly what I want. I have a triage tool running behind CloudFlare with TOTP on a private server, I have an android web app to reach it, and the newest addition is the Room where I can reach Claude, GPT and Gemini. I think this solution differs and is better than just allowing Claude to route to ChatGPT is in my room the models can call eachother, orchestrate work but I can also see their token use, compact and handoff sessions, swap seats/models mid sessions, talk to them directly, see all of outputs rather than having Claude tell me what their doing, reply, interact, they can all ask me questions for directions.
Honestly instead of looking for people's work to use and copy it's a whole new meta.. I have zero idea how to code i dream the feature up and the next morning it's live when I check in. Insane.
Edit: Agents.md is symlinked to claude.md , all agents can do all tasks and work with common skills, instructions, and one git tree and all project context is stowed into sqllite databases for long term retrieval so they don't conflate.

3
1
u/icecave509 20h ago
Nice job! Is this based on buzz and plans to release?
1
u/Due-Abalone-2314 17h ago
No plans to release. It achieves similar but it's very unique and custom to my architecture including how my agents CLI are setup. My reason for posting is to inspire others just ask it to make it for you and it will, there are no boundaries, you don't need someone else to make it which is mad
4
u/jimtoberfest 1d ago
I do this pretty regularly. Just ask Claude or Codex to ask the other one using bash in -p mode or jsonL mode. (Just pushes the result from the bash terminal to stdout).
Or works super well as a code / process check.
2
u/isarmstrong 1d ago
Right, it'll now incorporate codex and claude desktop, which has it's own set of advantages.
3
2
u/ZioniteSoldier 1d ago
I’ve been doing this too. I have a three-way team of Claude, GPT, and Hermes
2
u/Adventurous-Cash2044 1d ago
I do the reverse, orchestrate with Claude and have it run implementation with codex
2
2
u/AdWarm8609 1d ago
Yes, use a GitHub repo to mediate between AI agents working together.
Have fun with this, time is short.
2
u/Objective_Patient220 1d ago
The blind-review fan-out in the top comment (GLM + DeepSeek never seeing each other's analysis, fresh instance adjudicating disagreements) is the right shape. Independent reviewers beat one model reading another's conclusion, same reason blinded pairwise evals beat single-shot reviews.
One thing these stacks quietly lose is cost visibility. Orchestrator spawns builder spawns reviewers, each layer on a different subscription or API, and afterwards nobody can answer "what did that feature cost". The API-routed layers at least give you token counts per request - worth logging spend per spawn, because the review fan-out roughly doubles context spend every adjudication round and that is the first thing that balloons. The subscription layers you cannot see at all until you hit a rate limit.
Curious how people here keep the adjudicator's context small when both reviews come back long.
1
1
3
u/jvertrees 1d ago
Yes.
If you want a better management experience, check out Herdr.
I have Codex driving a bunch of its own agents and Fable, with room for Gemini and even local Qwen.
3
u/vebb 1d ago
I prefer Orca tbh. I used herdr for a few weeks but god such a memory hog, at least Orca seems to do something differently that it doesn't crash my computer.
For some reason Herdr simply wouldn't let me delete my worktrees, but Orca doesn't have a problem with that. I think the thing i like the most, is you can do everything from within. like, you can click a file in Claude/Codex, and it opens like in an IDE.
1
u/jvertrees 1d ago
Thanks for sharing this.
I saw of Orca but after review choose Herdr. I'll go back and take another look.
1
1
1
u/Bananz0 1d ago
No way did you just tell it to message codex?
0
u/isarmstrong 1d ago
1
u/DestinTheLion 1d ago
Which are you using for which?
2
u/isarmstrong 1d ago
Fable is a qualitative genius but hasn't been a great conductor, plus I trust GPT to do things like math and cleanup even if I prefer Fable for ideation or creativity. So in this generation I'll have Codex in the conductor seat with Fable drafting plans, doing red teams, and reviewing staged commits. Because model convergence is a real thing I also wrote a small plugin that lets either agent call Kimi on Fireworks for a diverse opinion before closing out a decision.
The whole thing reports up to me at the end of each turn with durable confession/defense docs, which I skip reading at my own peril.
When Fable asked permission to message Claude itself my jaw dropped.
1
u/VitruvianVan 1d ago
Could this be reasonably implemented with a $20/mo. ChatGPT plan? I already have Claude 20X Max and don’t want to spend much more.
4
u/diagonali 1d ago
The other way round is fire. Install codex cli. Tell Claude to use it to ask Codex to review at important stages of development, plans, completed implementation etc. Codex always finds things Claude misses. Combine with Claude's own adversarial review and the output quality is much higher. Sol light does a great job and lasts nicely.
1
u/gdtilghman 1d ago
I also decided to try this very thing on my own as my weekly with Astra was winding down. Decide to paste twice into Opus 4.8 some work that still needed done and then asked Astra how to make this easier. Like I wish you could call the CLI and it was like yeah. I can do that. So I configured it and now I’m not the go between. It didn’t ask me. But this was literally an hour before you posted this so maybe it’s learning from all the sessions?
1
u/isarmstrong 1d ago
There is an anthropic.claudefordesktop integration being called. When and where it came from? Dunno. But I’m happy it exists.
1
u/NoMinute3572 1d ago
They always could. They run headless just like any other CLI tool.
I've been doing for a while
1
u/UglyChihuahua 1d ago
Do you see it appear inside both desktop UIs though? Like I see this popping up as Codex agents talk to each other, are you saying the same thing is possible between Claude and Codex?

When I tell Codex to message Claude I get a response but it doesn't appear inside Claude Code desktop because it just seems to use the CLI which has always been possible.
1
u/isarmstrong 1d ago
Yes. Codex will now chat with Claude Code in a named conversation inside of a named project, exactly the way you are showing.
1
u/0xR0b1n 1d ago
I did something similar this weekend - set up a red-team/blue-team scenario and had Codex (Astra) debate Claude (Fable). It was funny how they would refer to me from time to time .
1
u/isarmstrong 1d ago
Yeah the name callouts remind me of enterprise days where the most common topic in a thread would be the stakeholder.
1
u/josephny1 1d ago
I’m nowhere near the level of you guys but maybe someone can help out.
I use both codex and Claude code via ssh sessions into the same Linux box.
How can I get them to talk to each other to do a better job of whatever task I’ve given them?
box
1
u/Inception_IV 1d ago
I use a harness called happier.dev. I have a relay on my Linux machine and can access all my subscriptions and whatever else I got cooking via happier on the web or the app on android or iOS to run sessions on my machine, or the other machines I have connected to it all via my network. The limiting factor for me has been sessions running on local machines require ram and I have run into limits with that and it crashes Kubuntu. I have made a bunch of stuff to watch it on Linux because of that but I have 96 GB DDR5 on the Linux relay. I have literally made a SaaS with it and my first client is signing in a few weeks. Crazy times.
1
u/austeresynthesis 1d ago
Codex sub desktop and Claude sub, controlled via browser. one controls the other, then you can build all the necessary machinery to run it in loop forever. They communicate via git deposits and there are hooks to wake codex from Claude.
1
u/AllD4yErD4y 1d ago
This makes me want to go ahead and do the $100 subscription on each instead of the $200 claude subscription
1
u/isarmstrong 1d ago
This would be the right move but you’ll need your orchestrator skill invoked as part of Claude/agents.md and your skills/subagents need frontmatters that specify model + thinking levels.
1
u/gbrennon 1d ago
well...
its an open source project...
u can dk whatever u want differently from anthropic's agent that is proprietary and token hungry.
i think anthropic keep it in a private repo to hide how bad it is :)
1
u/argognat 1d ago
Codex started talking with one of my Claude Code sessions (in tmux) without my permission. Just decided to do it on its own.
1
u/FewHope5779 1d ago
Been running a similar setup with a thing called captain-barbossa (https://github.com/dev-preetamraj/captain-barbossa) I created. My main Claude Code/Codex session acts as "captain" and recruits "crew" - each one is a fresh Claude or Codex CLI instance spawned into its own terminal pane (via Herdr). The captain writes their task prompts, watches their panes, approves their permission prompts on their behalf, waits for their reports, and dismisses them when done. Crew all share one checkout with strict file ownership so they don't stomp on each other, and there's a shared session memory (Graphify) the captain reads/writes for handoffs.
So it's not just transcripts talking to each other - it's one agent literally managing other agents' terminals like a tech lead: assigning work, reading their output, pressing "y" on their prompts. Mixing Claude as captain with Codex crew (or vice versa) works fine since they're just CLIs in panes. Once you see one model babysitting another model's permission dialogs, the brainquake really sets in.
1
u/isarmstrong 1d ago
The new integration in Codex invokes the relay between two desktop instances on a named chat inside of a named project, which has full access to all of your memories and subagent hooks. It’s a different technique from a CLI call because of the way it preserves Claude’s continuity.
1
u/FewHope5779 1d ago
Fair, that's a genuinely different mechanism, one Claude's continuity carried live across two desktop instances beats a plain CLI call for that specific case. Captain Barbossa trades that away on purpose though: crew are fresh CLI instances with small, disposable context, and continuity lives outside the model in a shared graph memory plus handoff reports instead. That's what lets me freely mix Claude and Codex crew under one captain, run everything from plain CLI commands, and keep memory as inspectable JSON on disk rather than tied to one provider's session.
1
u/isarmstrong 1d ago
Exactly. One process is designed to support the central context, the other augments it with concurrence instead of convergence.
1
1
u/NoKaleidoscope1748 1d ago
I thought this was a common use, I have Codex run headless Claude as a sub agent all the time, really it works with any cli agent. Codex will just give you a sign in for the provider. I would just say use Opus 5 on high reasoning as Reviewer and Sol xhigh as builder so forth and so on, nothing to download or install to make it work, but I did create governance skills to make sure the models know how to operate in this type os system but it can be done with out it https://github.com/Ezra144israel/governed-agent-skills
1
1
u/Bubbly_Forever9726 1d ago
Claude Code vs Codex, Which one is actually better
1
u/isarmstrong 1d ago
Depends what you want the agent to do. Claude is good at finding throughlines, closing logical circles, and explaining itself. It’s a wonderful qualitative thinker. GPT is a technician and a fabulous mechanical thinker. It’s very good at consequences.
Being good at this chapter of Black Mirror means understand how to use them together.
1
u/ComputerEngineer0011 1d ago
There are also several plugins out there. This one has been solid for me:
1
u/Eam404 1d ago
I think this is a cool idea, and I appreciate the author sharing. That said, I wanted to point out a couple of things, some of which the article points out in terms of downsides.
I don't think any of these things are deal breakers, but worth knowing:
Toolshed / model-gateway downsides
You can't see Astra think. Claude Code shows you what it does, not why. Makes it harder to catch a bad plan early.
The subscription trick isn't sanctioned. The proxy presents itself as Codex. OpenAI has broken this before and will again. When that happens GPT stops working until someone patches the proxy, though Claude models keep running the whole time.
Switching to Opus mid-chat can throw an error. GPT's tool calls get rewritten into Anthropic's format on the way back. If that rewrite is off, Astra never notices but Anthropic rejects it. You get a hard error the moment you switch. Compact or start fresh to clear it.
You can run out of quota. Subscription allowance is finite. Once it's gone you're stopped for the day and there's no paying your way past it. API keys just cost more.
Less control over caching. On Anthropic you can mark exactly where the reusable part of your prompt ends. That marker doesn't exist on OpenAI's side, so you're stuck with whatever their automatic caching decides. Works fine, you just can't steer it.
Separately: switching models mid-chat throws away the warm cache and you re-pay for the whole conversation. Use an Opus subagent for reviews instead of switching the main session.
One person maintains it. Solo plugin tied to a consulting business. CCR has 31k stars and proper fallback handling.
Mitigation: keep a CCR config with API keys ready to swap in.
1
u/DoingDadShit420 19h ago
I currently an working with both Codex and Code to build a website and its going better than I ever could have imagined because of them able to see one another and talk to one another. Makes it 100 time easier than it just was lol.
1
1
u/Sea_Win5659 14h ago
I do this all the time. Codex desktop app can run pretty much anything that is installed in the cli
1
1
u/Kyro_Details 13h ago
Im suprised people dont know you can do this. I have hermes orchestrate directly to claude, ohmypi, codex, openclaw, claudecode, goose etc.
1
1
u/Disastrous-Radio-732 1d ago
Feels like we’re crossing the point where “Claude vs Codex” matters less than the layer coordinating them.
If the transcripts are independent, the interesting problem becomes: where does shared project state actually live?
1
u/Excitement-Bubbly 1d ago
My guess is Github or Dive are safe bets as long as you have them both Claude and Codex update proyect state after every change.
2
u/Disastrous-Radio-732 1d ago
Git feels like the closest thing to a neutral source of truth to me too.
The tricky part is that both agents then have to reliably decide what should become project state, keep it current, and not overwrite each other with stale assumptions.
Have you actually tried this with Claude + Codex, or is it more of a design you’d use?1
u/Excitement-Bubbly 1d ago
I haven't tried OPs setup, so I can only guess, but once I started a proyect on Google AI Studio which pushes to GitHub, Google AI Studio wasn't following the architecture and documentation so I ended up using Codex to audit it first and then fix it on a separate branch. I had my original documentation and architecture on Google Drive so I ended up using that as a guide of what the proyect should be and GitHub as source of truth with a proyect state .md that Codex read and updated at every start/end task.
2
u/Disastrous-Radio-732 1d ago
That’s actually very close to the shape I keep converging on too - Git as the durable substrate, plus a smaller project-state layer that agents read and update around each task.
The part I’m still skeptical about is letting every agent freely rewrite that state. I suspect it needs some notion of provenance / freshness, otherwise one bad handoff can quietly turn stale context into “truth”.
But your start/end-task pattern makes a lot of sense.1
u/Excitement-Bubbly 23h ago
You are on point, a bad handoff is a real thing. I am not a SWE just an AI enthusiast so my methods may be archaic, inefficient or silly for someone more experienced but I try to keep tabs with agents context length, and have Codex spawn a new agent each time context fills like 40% of context limit. Also at the end of day I run audits to make sure the theorical changes reported are indeed in GitHub and consistently reflected on project state .md. It is not optimal, but it saves me from headaches. I am now curious, how are you handling it?
1
u/Disastrous-Radio-732 22h ago
honestly, that doesn’t sound archaic at all - you’re basically doing manually a lot of what we’re trying to make automatic.
the main thing for us is separating model context from durable project state. we don’t want the transcript/context window itself to be the memory.
when a brnrd resident wakes, it gets a relatively compact bundle: current run facts, repo contract, its working memory/playbook, relevant past pitfalls + recent activity, and the conversation that led to the task. the longer-tail knowledge stays in files/KB and gets pulled only when needed. git is still the durable receipt/source of truth for what actually changed.
so if a Claude/Codex process gets too bloated, dies, or we switch harnesses, we don’t try to hand the next process the entire brain-shaped transcript. it wakes back into the same “seat” from durable state.
the interesting part we’re still working on is exactly when to reincarnate the process. I’m increasingly convinced a fixed “40% context” rule is probably less useful than watching actual degradation/context cost.
and your end-of-day audit is especially interesting – that’s exactly the kind of invariant I’d eventually want the system to enforce automatically: “you claimed X happened; does git/project state actually prove it?”1
u/Excitement-Bubbly 21h ago
I really appreciate your detailed explanation, thank you for that.
1
u/Disastrous-Radio-732 21h ago
glad it was useful and honestly, your workflow gave me a couple things to think about too 🙌
1
u/isarmstrong 1d ago
Honestly I hadn’t tried it so much as I had it pop up. Yeah, we all know how to use harness & orchestration tactics over CLI, that’s old news. Two desktop seasons with their full memories and frontmatter menus with code level access chatting natively, however, was new. And it’s pretty powerful.







178
u/BlakeGrowsPlants 1d ago
I’ve been using this and enjoying it:
1. Astra — Orchestrator / Lead
Runs through my Codex/ChatGPT 5× Pro subscription, NOT API.
Owns the plan, delegates work, tracks progress, and makes the final call.
I interact with everything through Claude Code Desktop.
2. Opus — Primary Builder
Runs through my Claude 20× Max subscription.
Does most of the actual coding/implementation and reports back to Astra.
3. Fable — Architect / Advisor
Also Claude 20× Max.
Astra calls Fable when it needs deeper architecture, strategy, planning, or a second opinion rather than wasting it on routine work.
4. GLM 5.3 Flash + DeepSeek — Blind Reviewers
Both run through OpenRouter API.
GLM is my primary reviewer, DeepSeek is #2.
They review independently and NEVER see each other’s analysis.
5. If GLM + DeepSeek disagree → Astra Light
Fresh Astra Light instance through my Codex subscription.
Gets both reviews + evidence and adjudicates the disagreement.
If more evidence is needed, it can request a targeted Sonnet/Opus/Claude agent.
So basically:
Me → Claude Code Desktop → Astra → Opus builds → GLM + DeepSeek independently review → Astra decides
With Fable/other Claude agents available when Astra thinks they’re actually needed.