# Auto-continue Codex in the ChatGPT app

Source: https://ryansam.com/agent-auto-continue/chatgpt-codex/
Published: 2026-10-02 Updated: 2026-10-02

Your Codex thread in the ChatGPT app hit its usage limit at 23:40, halfway through a migration.
The limit lifts at 03:00, and you'd rather be asleep than up waiting to type "Continue".

The ChatGPT app can already return to a chat on a schedule, so look at that first.
For a message right at the reset, or several turns, [Agent Auto-Continue](https://ryansam.com/agent-auto-continue/) is a free macOS menu-bar app that sends "Continue" (or your own words) the moment the limit lifts.
It needs the ChatGPT app open, one macOS permission and the Mac left unlocked.

## What the ChatGPT app already does

You can [schedule a task inside an existing chat](https://learn.chatgpt.com/docs/automations#schedule-a-task-inside-a-chat), and ask for one from a Codex chat.
ChatGPT then comes back to that chat with its existing context, at minute intervals or daily or weekly at a set time.
For local files, it needs the computer on and the app running.

The docs say nothing about how a scheduled run behaves at a usage limit.
If a check-in at a time you pick will do, try it before installing anything.

Limits, per [OpenAI](https://learn.chatgpt.com/docs/pricing): Plus and Business get a five-hour allowance (Pro currently has no five-hour limit), and weekly limits may apply too.
A turn that hits the limit midway can finish, within fair use, and Plus and Pro can buy credits to keep going.

## How it reaches the thread

It works on Codex threads the ChatGPT app created.
The app holds their writer lock (a second writer would fork them), so Agent Auto-Continue goes through the app's own window:

1. Opens the thread with its `codex://` link.
2. Checks the open thread's name matches before touching anything.
3. Fills in the message box and presses Send through macOS Accessibility.
4. Puts back whichever app was in front.

No fake keystrokes or clipboard pastes, and your unsent draft is never touched.

Everything else, from busy state and delivery proof to the usage limits with reset times, comes from the `codex` binary bundled in the ChatGPT app, over Codex's [app-server protocol](https://learn.chatgpt.com/docs/app-server).
That's how **When free** knows to go at the reset.

## Set it up

1. [Install](https://ryansam.com/agent-auto-continue/install/) the app.
2. Grant Accessibility in [System Settings > Privacy & Security > Accessibility](https://support.apple.com/en-gb/guide/mac-help/mh43185/mac): turn on Agent Auto-Continue (add it with the + button if it isn't listed).
3. Keep the ChatGPT app open (Agent Auto-Continue never launches it).
4. Click the menu-bar icon and pick your thread.
   It carries the ChatGPT (Codex) mark; Codex CLI threads have [their own page](https://ryansam.com/agent-auto-continue/codex/).
5. Choose **When free**.
6. Choose how far: **Once**, **Up to** a number of turns, or **Until done**, with an optional stop phrase.
7. Press **Continue**.
8. Leave the Mac unlocked.
   On a laptop, that means lid open and ideally on power.
   Turn on [keep-awake](https://ryansam.com/agent-auto-continue/keep-mac-awake/): it keeps the display on for this work, so display sleep can't lock it.

Agent Auto-Continue never pops the permission prompt itself, so a 03:00 schedule can't stall on a dialog.
Skip step 2 and the send fails before anything is typed, with a note saying what to allow.

![The Agent Auto-Continue queue with three items, and under Recent a ChatGPT (Codex) message, Speed up image resizing, marked Failed with the note Allow Agent Auto-Continue in, cut short. A blue box marks that row.](https://ryansam.com/_astro/permission-light.Ck520-8m.png)

*No Accessibility permission, so the send failed before anything was typed.*

## The honest limits

- **The unlocked Mac is the big one.**
  Locked when the message is due, nothing's typed; it checks every minute and again the moment you unlock.
  A one-off message waits up to six hours, then fails unsent, and a continuation waits until you stop it.
  Keep-awake can't unlock it, and leaving a Mac unlocked all night is your call.
- **ChatGPT chats aren't covered.**
  They live in the cloud, with no local record to find one or confirm a message landed.
- **Name the thread, uniquely.**
  Unnamed threads, and threads sharing a name with another, are refused rather than guessed.
- **English only.**
  In another language it can't find the message box, and says so.
- **An app update can pause it.**
  It checks the ChatGPT app read-only every five minutes while something waits, and flags an update that changed what it relies on.
  A send refused for that sent nothing, and a continuation pauses until the change is supported.

[Claude Desktop](https://ryansam.com/agent-auto-continue/claude-desktop/) Code sessions work the same way.
[Supported agents](https://ryansam.com/agent-auto-continue/agents/) compares all six, and the [FAQ](https://ryansam.com/agent-auto-continue/faq/) covers why a message didn't go.
