# Has anyone automated a ChatGPT \<\> Codex orchestration loop?

**URL:** <https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120>\
**Category:** Use cases and examples\
**Tags:** codex\
**Created:** [September 13, 2026, 9:39am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120 "2026-09-13T09:39:52Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ja\_cob](https://avatars.discourse-cdn.com/v4/letter/j/ea5d25/32.png) [@Ja\_cob](https://community.openai.com/u/Ja_cob)\
**Post date:** [September 13, 2026, 9:39am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/1 "2026-09-13T09:39:52Z")

</div>

I’m trying to work out whether anyone has already solved a workflow problem that I suspect is better described as **agent orchestration** rather than simply automation.

At this point in the development workflow I already have the architecture, development strategy, roadmap, experiment methodology, decision boundaries, and human-approval points reasonably well defined.

The remaining bottleneck is mostly execution/transport.

The rough model is:

**ChatGPT / reasoning layer**  
→ determines the next governed task or experiment  
→ Codex executes it against the repository  
→ files/state are modified and experiments/tests are run  
→ results/artifacts come back to the reasoning layer  
→ the reasoning layer reviews the evidence and decides the next step  
→ repeat, or escalate to the human when an actual judgement call is required.

Right now the manual part remains unnecessarily involved in parts of that loop: transferring instructions, making sure the right files are available, starting execution, bringing experimental results/state back, etc.

I have explicitly governed state, explicit decision points, experiment records, and places where the system must stop for human judgement, and I’m trying to automate the mechanical layer around that process.

Something roughly like:

`planner/reviewer → Codex → repo/files → experiment → results → planner/reviewer → next task`

Ideally with:

- the repository/files acting as durable state rather than relying on chat memory;

- automatic artifact/result handoff;

- traceability of what happened;

- retries/failure handling;

- explicit human approval gates where required;

- the ability for the planner to generate the next task based on the resulting state.

Has anyone built something like this successfully?

In particular, I’m curious whether the best current approach is:

- OpenAI Agents API;

- Codex App Server;

- Codex SDK / Codex exec;

- MCP;

- GitHub Actions or another external orchestrator;

- ChatGPT Work;

- some combination of the above;

- or something I’m completely overlooking.

The part I’m especially unsure about is the **ChatGPT side**. Can the existing ChatGPT experience realistically remain the reasoning/orchestration layer, or does a reliable implementation effectively require recreating that layer programmatically using an API agent?

I’d be particularly interested in hearing from anyone who has actually implemented a loop like this, including what broke once you tried to make it unattended.

---

<div class="post-metadata">

**Author:** ![Slavax](https://avatars.discourse-cdn.com/v4/letter/s/3be4f8/32.png) [@Slavax](https://community.openai.com/u/Slavax)\
**Post date:** [September 13, 2026, 11:14am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/2 "2026-09-13T11:14:12Z")

</div>

OA would prefer if you would use metered Codex/Work exclusively without unmetered Chat

You can still use Chat for like research/general understanding/maybe snippets of code

The limits are very generous already

But I wouldn’t expect some automatic workaround which makes little financial sense for OA

If anything they were cracking down on this including something api 2 sub not sure how it works but yeah perhaps also not the best place to ask

---

<div class="post-metadata">

**Author:** ![aaronsamuel](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/aaronsamuel/32/691248_2.png) [@aaronsamuel](https://community.openai.com/u/aaronsamuel)\
**Post date:** [September 13, 2026, 11:25am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/3 "2026-09-13T11:25:39Z")

</div>

tbh kind of i see it the same as u do which i then tried to implement but not ready to share yet, id come back if it reliably works tho

---

<div class="post-metadata">

**Author:** ![EricGT](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/ericgt/32/20571_2.png) [@EricGT](https://community.openai.com/u/EricGT)\
**Post date:** [September 13, 2026, 11:26am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/4 "2026-09-13T11:26:19Z")

</div>

> [@Ja\_cob](#):
>
> - something I’m completely overlooking

[/goal](https://developers.openai.com/cookbook/examples/codex/using_goals_in_codex) ???

> [@Ja\_cob](#):
>
> I’d be particularly interested in hearing from anyone who has actually implemented a loop like this

An instance of me using /goal is noted in this [topic](https://community.openai.com/t/how-many-codex-tokens-have-we-burned-because-the-task-was-too-broad-the-context-too-large-and-the-workflow-designed-for-an-older-model/1387415).

---

<div class="post-metadata">

**Author:** ![aaronsamuel](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/aaronsamuel/32/691248_2.png) [@aaronsamuel](https://community.openai.com/u/aaronsamuel)\
**Post date:** [September 13, 2026, 11:33am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/5 "2026-09-13T11:33:18Z")

</div>

This post was flagged by the community and is temporarily hidden.

---

<div class="post-metadata">

**Author:** ![merefield](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/merefield/32/14812_2.png) [@merefield](https://community.openai.com/u/merefield)\
**Post date:** [September 13, 2026, 1:25pm UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/6 "2026-09-13T13:25:15Z")

</div>

This is why I do most of my product development conversations directly in Codex CLI.

You can ask codex to save conclusions as architecture and roadmap documents (and anything else you want)

When you are ready you can move directly into coding without any manual cut and paste.

---

<div class="post-metadata">

**Author:** ![T.Maillet](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/t.maillet/32/741809_2.png) [@T.Maillet](https://community.openai.com/u/T.Maillet)\
**Post date:** [September 14, 2026, 9:38am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/7 "2026-09-14T09:38:43Z")

</div>

I think you’re missing the point of chatGPT beeing somehow free for the reasoning and keeping codex for the actual coding allow you to save a lot of tokens.

---

<div class="post-metadata">

**Author:** ![merefield](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/merefield/32/14812_2.png) [@merefield](https://community.openai.com/u/merefield)\
**Post date:** [September 14, 2026, 9:44am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/8 "2026-09-14T09:44:48Z")

</div>

Fair point, but I think it comes down to efficiency too. As a freelancer my time is valuable, and so is yours.

Cutting and pasting is laborious and inefficient.

There are other advantages to my approach:

1. Planning can take account of the actual codebase and its constraints.
2. Decisions become architecture and roadmap files alongside the code.
3. Implementation can follow directly, reducing the need to explain decisions again.

And a point often missed is that you should be aiming to monetize your time and your output so that ultimately they are paid for by the revenue you get back.

I appreciate this is a Topic about automating this.

But if this was ever automated, then OpenAI would have to start considering using the very same quotas because obviously people would place more burden on ChatGPT - which is utilising the very same limited compute.

---

<div class="post-metadata">

**Author:** ![T.Maillet](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/t.maillet/32/741809_2.png) [@T.Maillet](https://community.openai.com/u/T.Maillet)\
**Post date:** [September 14, 2026, 9:48am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/9 "2026-09-14T09:48:30Z")

</div>

Those are also extemely fair point 🙂

On my end I’m a plus user. And to use the most of codex quota for as long as it remains affordable I have to keep the reasoning in ChatGPT.

I totaly agree, if they automate it they will make it so it uses the quota for sure.

I think they are 100% aware of the fact that many people do use ChatGPT for the reasoning but why would they automate something that would make them lose money.

Factually speaking it is already “automated”. Codex uses the same (sometime even more advance model) than ChatGPT. So if you had infinite quota you could do as you Merefield do and keep it all in codex. That sounds like the obvious answer. On that I can’t argue.

---

<div class="post-metadata">

**Author:** ![merefield](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/merefield/32/14812_2.png) [@merefield](https://community.openai.com/u/merefield)\
**Post date:** [September 14, 2026, 9:50am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/10 "2026-09-14T09:50:13Z")

</div>

Yeah, for the time being I think working within the limits you have with any workaround that is within Terms of Use is completely reasonable.

I appreciate that on Plus, quotas are particularly tight and you have to squeeze out every quota efficiency you can 👍

---

<div class="post-metadata">

**Author:** ![floam](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/floam/32/480674_2.png) [@floam](https://community.openai.com/u/floam)\
**Post date:** [September 14, 2026, 10:48am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/12 "2026-09-14T10:48:31Z")

</div>

ChatGPT plugin from OpenAI can connect to remote environments from Chat. Showed up as an installable plugin earlier. Cloud Agent feature

 ![IMG_1909](https://us1.discourse-cdn.com/openai1/original/4X/c/d/7/cd7ff99bae3a82b23264029c44d7b57d0d556c0c.jpeg)

 ![IMG_1908](https://us1.discourse-cdn.com/openai1/original/4X/1/d/9/1d939b6608032dff927af84a05d20ab731fee42a.jpeg)

 ![IMG_1911](https://us1.discourse-cdn.com/openai1/original/4X/e/0/6/e06f19a4c6a1642b7643f629e60eb247b6f37b1f.jpeg)

 ![IMG_1910](https://us1.discourse-cdn.com/openai1/original/4X/a/a/e/aaed6475f39cdc548e9546abfae4ec53aeb56c3b.png)

---

<div class="post-metadata">

**Author:** ![Pimpcat](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/pimpcat/32/738039_2.png) [@Pimpcat](https://community.openai.com/u/Pimpcat)\
**Post date:** [September 14, 2026, 11:39pm UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/13 "2026-09-14T23:39:12Z")

</div>

Yes. I have been running this pattern for the last few days. The key insight is that it works better as a durable supervisor with ephemeral workers than as one  
autonomous agent that stays alive indefinitely.

The loop looks like this:

durable state → supervisor → fresh worker → diff, tests, and artifacts → independent verifier → next gate, retry, or human hold

The supervisor does seven things:

1. Reads the repository and current run state.
2. Selects the next bounded gate.
3. Creates a work order with scope, constraints, budget, and acceptance criteria.
4. Launches a fresh worker in an isolated worktree or scratch directory.
5. Collects the worker diff, logs, test results, and structured receipt.
6. Independently verifies the result.
7. Advances, retries with a new worker, stops when progress is absent, or requests human approval.

The workers are intentionally disposable. Each exists for one bounded attempt and then disappears. The supervisor retains the durable state, work orders,  
artifacts, and gate results, rather than the worker conversation. This avoids stale assumptions, context pollution, accidental scope expansion, and workers  
defending an earlier failed approach.

A worker receipt might contain:

run\_id  
gate  
attempt  
changed\_files  
commands\_run  
test\_results  
artifacts  
blockers  
suggested\_next\_state

The supervisor never treats “the agent says it succeeded” as evidence. It reopens the diff and runs the acceptance gates itself. Repeated identical failures  
produce a hold instead of infinite retries.

ChatGPT can remain the human facing reasoning and planning layer, but it should not be the unattended scheduler or source of truth. Unattended execution  
requires an external runner with repository access, process control, persistent state, budgets, and explicit promotion gates.

The transport is less important than the separation of responsibilities. Codex CLI, Codex App Server, an API worker, or the Agents SDK can provide the worker  
and tool layer. MCP can provide tools. The supervisor should still own durable state, retries, verification, and promotion. OpenAI’s current guidance points to  
the Responses API for reasoning and tool calling workflows, and the Agents SDK for orchestration, tracing, handoffs, and state management. Responses guidance

The main lesson is simple: do not ask the model to supervise itself. Use models as bounded, disposable workers and put the control loop in deterministic  
software. Start with one repository, one gate, one worker, one receipt, and one verifier. Add concurrency only after that loop is reliable.

---

<div class="post-metadata">

**Author:** ![Ja\_cob](https://avatars.discourse-cdn.com/v4/letter/j/ea5d25/32.png) [@Ja\_cob](https://community.openai.com/u/Ja_cob)\
**Post date:** [September 15, 2026, 12:00pm UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/14 "2026-09-15T12:00:44Z")

</div>

This looks extremely close to the missing piece I was trying to describe. Is Codex Tasks (Internal/CCA) available in ordinary Chat, or was this part of a limited/internal rollout? because I can’t find it : (

Also, when a remote task completes, can that completion trigger or resume the same ChatGPT conversation automatically, or does the user still need to prompt ChatGPT to read the result?

What interests me most is whether a loop like ChatGPT → create Codex task → task completes → ChatGPT reviews result → creates next task can run until an explicit human decision gate is reached.

---

<div class="post-metadata">

**Author:** ![Ja\_cob](https://avatars.discourse-cdn.com/v4/letter/j/ea5d25/32.png) [@Ja\_cob](https://community.openai.com/u/Ja_cob)\
**Post date:** [September 16, 2026, 4:57am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/15 "2026-09-16T04:57:41Z")

</div>

Your architecture sounds very close to what I’m trying to achieve. ChatGPT as the architecture/review layer, durable project state outside model context, and disposable Codex workers executing bounded packets.

Could you kindly elaborate: in your automated loop, what actually takes the bounded packet from ChatGPT Web and invokes codex exec --ephemeral, and how does the resulting terminal evidence get returned to the ChatGPT review session?

Does ChatGPT then resume automatically, or is there still a human prompt required at that boundary?

I’m deliberately trying to keep the Codex worker from deciding its own next task; the controller/reviewer should make that decision.

---

<div class="post-metadata">

**Author:** ![Pimpcat](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/pimpcat/32/738039_2.png) [@Pimpcat](https://community.openai.com/u/Pimpcat)\
**Post date:** [September 16, 2026, 7:30pm UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/16 "2026-09-16T19:30:44Z")

</div>

I use ChatGPT to develop the plan, then hand it to my own runner using Codex via the API. From there, a supervisor manages disposable workers against bounded tasks and checks the returned evidence before deciding what happens next. The workers don’t choose their own next task.

The ongoing execution loop runs outside ChatGPT Web, so it doesn’t depend on automatically resuming the conversation after each task. I’m keeping the implementation details private for now, but that’s the broad separation of responsibilities.

5.6 SOL Max for architectural planning webchat. 5.6 Luna xhigh supervisor that runs 5.6 Luna high disposable workers. It can run 1 to 10 workers at a time too no problem at all. It’s also the cheapest way to code and the easiest way to manage context.

---

<div class="post-metadata">

**Author:** ![mblofeld](https://avatars.discourse-cdn.com/v4/letter/m/ecccb3/32.png) [@mblofeld](https://community.openai.com/u/mblofeld)\
**Post date:** [September 18, 2026, 2:00am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/17 "2026-09-18T02:00:58Z")

</div>

I’ve actually been experimenting with a somewhat different version of this.

Rather than using Codex/API workers for the normal loop, I’m using an ordinary ChatGPT conversation as a project supervisor, with separate ordinary ChatGPT chats as replaceable application workers. A local Windows tool I’m building handles the deterministic side: Git/task branches, tests, checkpoints, provenance, diagnostics, packaging/deployment, etc., with GitHub as the durable source of truth.

The important part is that the chats aren’t authoritative state. A worker can disappear or be replaced and the next worker recovers from the durable assignment, current source and checkpoints rather than needing the previous chat history.

The motivation was partly cost. I found Codex very effective, but a lot of its usage was being spent around deterministic operations that don’t really require another model turn. Moving those into the local harness lets me use the normal ChatGPT Plus conversations for the reasoning and reserve Codex, if needed at all, for problems where its autonomous edit/test loop is genuinely valuable.

It isn’t fully unattended at the ChatGPT boundary yet — I still initiate the worker interaction — but the development task itself is durable and recoverable outside the chats.

It sounds quite close to what you’re describing, except I’m deliberately seeing how far the architecture can go without requiring Codex/API usage for the normal development cycle.

---

<div class="post-metadata">

**Author:** ![TheLagBorn](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/thelagborn/32/762341_2.png) [@TheLagBorn](https://community.openai.com/u/TheLagBorn)\
**Post date:** [September 18, 2026, 2:51am UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/18 "2026-09-18T02:51:47Z")

</div>

Check this out, I’ll be uploading the update of Not-Code soon, I think this is what you want to achieve, but I’m dealing right now with agent collision, improving the FIFO system and dealing with ngrok free tunnel limits in addition to the OA silent nerf of 25-26 minutes limit for tooling session that added august 20, follow me on X to know exactly when I ship the update to Microsoft Store. [Luis Camilo Salgado Reyes on X: "Not-Code is naturally evolving into an autonomous AI Agent Bot. That evolution came from a real engineering constraint: around August 20, we began consistently hitting a ~25–26 minute MCP tooling/session limit when running long-lived agents through ChatGPT. Instea… / X](https://x.com/TheLagBorn/status/2099638580918288839?s=20)

---

<div class="post-metadata">

**Author:** ![anfedoro](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/anfedoro/32/409492_2.png) [@anfedoro](https://community.openai.com/u/anfedoro)\
**Post date:** [September 23, 2026, 4:02pm UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/19 "2026-09-23T16:02:25Z")

</div>

I may offer the way I use.. look here - [A practical setup for using ChatGPT as a supervisor around Codex and Work.](https://medium.com/@anfedoro/a-practical-setup-for-using-chatgpt-as-a-supervisor-around-codex-and-work-7a718b7febb7?sharedUserId=anfedoro)

---

<div class="post-metadata">

**Author:** ![RagnarOath-Taker](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/ragnaroath-taker/32/757084_2.png) [@RagnarOath-Taker](https://community.openai.com/u/RagnarOath-Taker)\
**Post date:** [September 24, 2026, 3:01pm UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/20 "2026-09-24T15:01:34Z")

</div>

The durable-supervisor / disposable-worker pattern described here is very close to where I’ve converged too.

One boundary I think deserves to be first-class is the step between “the next piece of work exists” and “launch an agent to do it.”

I don’t think planned work should automatically become agent work.

Before execution, I think the control layer needs to derive at least:

- the canonical work identity;
- who or what is responsible for it;
- what information is actually required;
- the minimum authority/effect ceiling;
- whether the execution modality should be deterministic software, a human, a bounded agent, or a composition;
- whether the proposed worker is qualified for that work;
- and what independent evidence will count as completion.

That changes the loop from roughly:

planner → agent → reviewer

to:

govern work → allocate → authorize → execute → independently verify → reconcile state.

I’d be interested in whether anyone here has implemented that allocation/authority boundary independently of the model/provider, especially when workers can be substituted between attempts.

Drafted with AI assistance and reviewed by me.

---

<div class="post-metadata">

**Author:** ![rafa3](https://sea2.discourse-cdn.com/openai1/user_avatar/community.openai.com/rafa3/32/740294_2.png) [@rafa3](https://community.openai.com/u/rafa3)\
**Post date:** [September 24, 2026, 4:53pm UTC](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120/21 "2026-09-24T16:53:57Z")

</div>

Not fully… A lot of things I still doing manually, but just because I can use GPT Sol in ChatGPT without consuming my Codex limits. But it’s being a good experience until now.

[Next page](https://community.openai.com/t/has-anyone-automated-a-chatgpt-codex-orchestration-loop/1397120.md?page=2)
