ChatGPT Scheduled Tasks Not Firing at the Set Time

Your ChatGPT Task should have run at 9am but the inbox is empty. Account timezone drift, an auto-paused Task, or a lapsed Plus plan are the usual causes — here is the fix order.

You set up a daily Task: “every weekday at 9am, summarize my Gmail inbox and post to Slack.” Monday at 9:05 you check — nothing fired. The Task is still listed on the Tasks page, marked active, with a “next run” line that has clearly drifted.

Fastest fix: open the Tasks page (profile icon → Tasks on the web app), open the stuck Task’s three-dot menu, Pause it, wait five seconds, then un-pause. That recomputes the next-run timestamp and clears any auto-pause flag. If it still does not fire, the cause is almost always one of these four: your account timezone differs from your local clock, the Task was auto-paused after repeated failures, your Plus plan lapsed (Tasks are gated to paid tiers), or the Task is bound to a retired model.

ChatGPT Tasks is a scheduling layer that runs a saved prompt on a recurring schedule, then delivers the result via push notification, email, or an in-thread message. As of June 2026 the manage view (the Tasks page) is web-only; Tasks themselves run server-side and are supported on Web, iOS, Android, and macOS, with Windows still listed as “coming soon.” OpenAI’s reference is the Tasks in ChatGPT help article.

Which bucket are you in?

Match what you see to the most likely cause before you start changing things.

What you observeMost likely causeJump to
Task’s “last ran” time is off by a fixed number of hoursAccount timezone differs from your clockStep 1
Task row shows a pause icon / greyed toggle; 3+ recent failuresAuto-paused after repeated errorsStep 2
All Tasks froze at the same moment; plan shows FreePlus lapsed, feature gated offStep 3
Runs show “skipped”; model field shows an old nameBound model retired or renamedStep 4
Run history says “success” but nothing arrivedDelivery channel brokeStep 5
Newest Tasks never activate; you have ~10 alreadyHit the 10-active-Task capStep 6
Run detail shows “tool error”Tool dependency unavailable at fire timeStep 7

Common causes

In rough order of frequency.

1. Account timezone differs from device timezone

Tasks fire against the timezone tied to your ChatGPT account, not your device clock. If you set up a Task while traveling, or your account region differs from where you live, “9am” is 9am account-time — which can be hours off your local clock. The Task fires correctly; you just are not checking at the right moment.

How to spot it: profile icon → Settings → Account shows a different timezone than your device. The Task’s “last ran” timestamp is shifted by exactly N hours from when you expected it.

2. Task was paused — manually or automatically

Each Task has an active / paused state, toggled from its three-dot menu. ChatGPT auto-pauses a Task that errors out on several consecutive runs so it does not keep spamming you with failures. A paused Task stays in the list and still shows a “next run” estimate, but nothing actually runs.

How to spot it: the Task row shows a pause icon or greyed toggle. Its run history shows three or more consecutive failures right before it went quiet.

3. Plan downgraded — Tasks gated to Plus and above

Tasks are a paid-tier feature (Plus, Pro, Team, Enterprise). If your Plus subscription lapsed — card declined, auto-renew failed — every Task freezes the moment your plan flips to Free. They stay visible but never fire. See ChatGPT subscription not recognized for the renewal-failure pattern.

How to spot it: profile icon → Settings → Subscription shows Free, or Plus shows a past renewal date. All your Tasks share an identical “last fired” timestamp right around the lapse.

4. Task bound to a model that was retired or renamed

A Task saves its model selection at creation time. When OpenAI retires or renames a model (for example, an older gpt-4o or GPT-5.1 selection no longer resolves after GPT-5.5 became the default in April 2026), the Task can lose its binding. The scheduler treats the model as unavailable and skips the run silently. This is a recurring report on the OpenAI community forum after each model rollover.

How to spot it: the Task was created more than a couple of months ago. Recent run history shows “skipped” with no output, or the model field in the Task’s edit panel shows a deprecated name.

5. Push / email delivery channel broke

The Task may have run fine but delivery failed: notification permission revoked, email landed in spam, Slack webhook URL expired. You think it did not fire; it did, and the result is sitting in the run history.

How to spot it: open the Task → run history shows successful runs. Your notification center / Slack channel shows nothing.

6. The 10-active-Task cap was hit

As of June 2026 there is a hard cap of 10 active Tasks per account. Creating an 11th does not fail loudly — ChatGPT just will not activate a new Task until you pause or delete an existing one (or one finishes on schedule). New Tasks past the cap quietly never fire.

How to spot it: you recently created several Tasks in a row. Counting active Tasks shows you are at 10; the newest ones never produce a “next run”.

7. Tool dependency unavailable when the Task fired

If the Task uses tools like web search, the code interpreter, or a custom connector, and those tools are degraded or rate-limited at fire time, the run can abort. The scheduler counts that as a failed run, which feeds the auto-pause threshold from cause 2.

How to spot it: the per-run detail panel shows a “tool error” line (for example, browsing or a connector being unavailable).

Before you start

  • Confirm what day and time the Task last fired successfully, if ever.
  • Note any plan, country, or timezone changes since the Task was created.
  • Save the Task’s prompt text — if you need to recreate it, you do not want to retype it from memory.
  • Check whether your other Tasks fired today. A single broken Task and a global outage call for very different fixes; cross-check the OpenAI status page if everything went quiet at once.

Information to collect

  • The Task’s run history (Tasks page → open the Task → run history).
  • The schedule (for example, “every weekday 09:00”) and the timezone shown next to it.
  • Plan tier and renewal date.
  • The bound model name on the Task.
  • Delivery channel (push / email / in-thread) and the last successful delivery on it.
  • Your total count of active Tasks versus the cap of 10.

Step-by-step fix

Ordered to clear the cheapest gates first.

Step 1: Reconcile the account timezone

Profile icon → Settings → Account → Timezone. Set it to your physical location. Then open each Task (Tasks page → three-dot menu → Edit, or the pencil icon on the schedule row) and re-confirm the time — some older Tasks store an absolute offset that does not auto-update when you change the account timezone. Re-saving “9:00” forces a re-bind to the new zone.

Step 2: Pause the Task, then un-pause it

On the Tasks page, open the Task’s three-dot menu and choose Pause, wait five seconds, then un-pause it. This forces the scheduler to recompute the next-run timestamp. If the Task had been auto-paused after repeated errors, this also clears that flag and gets it running again.

Step 3: Verify subscription and re-activate Tasks

If your plan lapsed, restore it first. After payment succeeds, Tasks do not always auto-resume — open the Tasks page and pause/un-pause each one. Confirm the “next run” line updates to a near-future timestamp.

Step 4: Re-bind the model

Open the Task → Edit, change the model to a current one (the GPT-5.5 default is the safe choice), and save. If the previous model is unavailable, the picker may show a warning. Re-saving with a supported model removes the orphaned state. See ChatGPT model auto-switched mid-conversation for the related model-routing problem.

Step 5: Verify the delivery channel

In the Task’s detail view, choose Run now to fire it manually. If the manual run completes but no notification arrives:

  • iOS / Android: device Settings → ChatGPT → Notifications → ensure all categories are on. Mobile push can only be enabled from the mobile app — you cannot turn it on from web or desktop.
  • In-app: profile icon → Settings → Notifications → make sure the Tasks notification method (push and/or email) is selected. Deselecting all methods silences Task notifications.
  • Email: search spam / promotions for an OpenAI sender and allowlist noreply@openai.com.
  • Slack / webhook: rotate the webhook URL and re-paste it into the Task. Old webhooks expire silently.

Step 6: Check the active-Task count

Count your active Tasks. If you are at 10, ChatGPT will not activate any more — pause or delete one to free a slot before creating new Tasks. The create flow does not warn you when you have hit the cap.

Step 7: Split the prompt if it depends on flaky tools

If run history shows tool errors, simplify the Task. For example, split a single “browse → summarize → email” Task into:

  1. A primary Task that just generates a daily research prompt.
  2. A separate step (manual, or another automation) for the browsing and email.

This isolates failures and stops one flaky tool from tripping the auto-pause cascade.

Step 8: Recreate the Task from scratch if nothing else works

Occasionally a stuck Task has corrupted internal state that no toggle fixes. Copy the prompt text out, delete the Task, and recreate it with an identical schedule and prompt. A manual Run now should fire immediately, and the next scheduled run should land at the right time.

How to confirm it is fixed

  • Run now produces output within roughly 30 seconds, delivered through your chosen channel.
  • The next scheduled-run timestamp is in the future and matches your account timezone.
  • A day later, run history shows a fresh entry with status “success” and a non-empty output.
  • The delivery channel (push / email / Slack) shows the new run’s content.

Long-term prevention

  • Pin your account timezone to your primary residence; only change it for permanent moves.
  • Audit your Tasks once a month: prune the ones you no longer use to stay under the 10-Task cap and keep the list scannable.
  • Document each Task’s expected delivery channel in the prompt itself — it makes testing from run history straightforward.
  • When OpenAI announces a model deprecation, sweep your Tasks and re-bind them to the current default within the deprecation window.
  • For Tasks that depend on tools (search, connectors), add a fallback line: “If the browsing tool errors, return a brief plain-text summary instead of failing.”
  • Keep an external backup of important Task prompts in a notes app — Tasks are not exportable.

Common pitfalls

  • Editing a Task, seeing “next run: in 2 minutes,” and expecting it to still fire at the original 9am. Some edits recompute the next run from the edit time.
  • Assuming a successful Run now means the schedule works. It tests the prompt, not the scheduler.
  • Leaving a Task on a very frequent interval while debugging — it quickly trips the auto-pause threshold and looks like a bug.
  • Disabling notifications globally on iOS to focus, then forgetting that Tasks delivered via push are now silent.
  • Setting a Task to fire at midnight account-time and never seeing it because you are asleep when it runs.
  • Putting credentials or webhook URLs directly in the prompt — they are stored with the Task and visible to anyone with access to your account.

FAQ

Q: Run history shows “success” but I never got a notification. Where is the output?

The run completed and the output is stored. Open the Task, click the run row, and the full output appears in the panel. Delivery is separate from the run; if notifications are off, the run still succeeds.

Q: Do Tasks count against my message cap?

Yes. Each Task run draws from the same Plus message budget as a normal chat. Heavy Task users can exhaust the cap mid-day, after which subsequent Task runs silently fail. See ChatGPT message cap reached for the cap behavior.

Q: Can a Task fire while my device is off or offline?

Yes. Tasks run server-side, independent of your device. The delivery (push / email) queues and arrives when your device is back online; the run itself happens on schedule.

Q: My Task uses a custom GPT. Does that still work?

Yes, but you must explicitly select that GPT in the Task’s model picker. If the custom GPT was deleted or its connector was revoked, the Task fails silently.

Q: How often can a Task run?

Tasks support daily, weekly, and custom schedules (for example, “every third Tuesday”). Daily is the typical minimum for production use; some plans allow more frequent runs. For true high-frequency automation, drive it with the API and your own scheduler instead.

Q: Where is the Tasks list — I do not see it in Settings?

On the web app, click your profile icon and choose Tasks to open the dedicated Tasks page (the full manage view is web-only as of June 2026). Individual Tasks can also be edited, paused, or deleted from the three-dot menu on the Task itself inside a chat.

Tags: #ChatGPT #tasks #scheduling #automation #Troubleshooting