Codex Subagents Stuck on Working? Refresh Their Status

Codex Subagents Stuck on Working? Refresh Their Status

Aident AI

A cyan reconciliation arc links two coral child forms through a cobalt parent frame, ending at green completion points.

Codex Subagents Stuck on Working? Refresh Their Status

If completed Codex subagents reappear as Working after you restart the desktop app, do not assume they are still running. Fresh reports show a presentation mismatch: child tasks have terminal results and no live handle, but the Subagents panel restores their historical cards as active. Test one clearly completed child by opening it and pressing Back. On an affected Windows build, that navigation forced the stale card to refresh from Working to Completed.

Use this only when the child already has a final result. A genuinely active subagent, a parent waiting for a child, and a historical card with stale status require different responses.

Confirm the Card Is Stale

Start with evidence visible in the app. A stale card usually has several of these signals:

  • the child shows a final answer or terminal error;

  • the parent already received or incorporated the child's result;

  • the elapsed time is implausibly long for the task;

  • quitting and reopening Codex does not produce new child output;

  • an attempt to inspect or stop the exact child reports that it is completed or no longer found.

The strongest August 8 report inspected 516 historical child sessions across 11 parent conversations. Every child ended with task_complete or turn_aborted, every persisted spawn edge was closed, and backend lookup returned not_found, yet the desktop panel reconstructed them as Working. Independent Windows and macOS reports confirmed the same mismatch.

That evidence does not prove that every long-running card is stale. If the child is still producing output, has a pending approval, or has no final result, leave it alone and inspect its current state before acting.

Separate Three Similar Failures

What you see

Most likely boundary

First safe response

A completed child still says Working

Stale subagent card or rehydration state

Open the child, verify its final output, then press Back

The parent is still thinking while a child appears finished

Parent and child lifecycle notification mismatch

Inspect the child and parent state before sending another prompt

A resumed CLI turn is stuck on Working with no terminal event

Interrupted turn recovery

Preserve the session and diagnose the unmatched running turn

Do not use a UI refresh to conclude that a real process stopped. The refresh only tests whether the card can reconcile to an already-terminal child.

Step 1: Protect the Parent Task

Before touching a stale-looking child, preserve the parent task's current state:

  1. Read the parent's latest message.

  2. Note whether the parent is running, waiting for approval, completed, or idle.

  3. Save any important child result that has not yet been incorporated.

  4. Check repository status before repeating work.

For a repository task, ask the parent for a read-only checkpoint:

Report the current root-task state, each visible subagent's last result, and git status --short. Do not resume, interrupt, spawn, edit, reset, or rerun anything.

This prevents a stale label from becoming a duplicate implementation, test run, deployment, or provider write.

Step 2: Refresh One Confirmed Child

Choose one child whose final output is already visible and whose work is no longer changing.

  1. Open that child from the Subagents panel.

  2. Confirm that its final result is present.

  3. Do not send a new message and do not choose a resume action.

  4. Press Back to return to the parent.

  5. Check whether the card now says Completed.

One Windows reporter reproduced this on Codex desktop 26.803.5235.0: restarting did not clear stale Working cards, but opening a completed child and pressing Back immediately refreshed its status to Completed. Treat that as a narrow reconciliation test, not an official repair.

If the card changes to Completed, repeat the sequence only for other children with visible terminal results. If the card stays Working, stop. Do not keep reopening or resuming it in the hope that the label will change.

Step 3: Verify That Nothing Restarted

After the refresh, verify the task boundary again:

  • no new child output appeared;

  • no new approval request was created;

  • no duplicate process, job, pull request, deployment, or provider item was started;

  • repository status is unchanged;

  • the parent still contains the expected child result.

If Codex exposes the live collaboration registry in the task, ask it to compare the visible cards with live child handles:

List the currently live subagents and their statuses. Compare them with the visible Subagents panel entries. Report mismatches only. Do not interrupt, resume, close, or spawn an agent.

A not_found result for a historical child can support the stale-card diagnosis, but do not repeatedly call termination on the same ID. The older tracking issue documents cases where close and readback already showed no live handle while the desktop UI continued to display the card.

Do Not Delete Codex State

The primary report found a healthy local database and closed spawn edges. That makes destructive local cleanup a poor first response.

Avoid:

  • deleting ~/.codex data, conversation files, or the state database;

  • editing SQLite rows to force a status;

  • clearing all desktop caches;

  • force-closing every historical child;

  • resuming a finished child solely to make the UI update;

  • restarting the parent instruction from scratch.

Those actions can destroy evidence, hide the actual lifecycle mismatch, or create new work. A stale card is annoying, but it is safer than an unverified cleanup that changes task history.

If the Parent Is Actually Blocked

The August 8 evidence establishes a display and rehydration problem. It does not establish that stale cards consume tokens, occupy live subagent slots, or keep processes running.

If the parent cannot continue, gather separate evidence:

  • the exact error or blocked message;

  • whether a new subagent can be created;

  • whether the suspected child has a terminal result;

  • whether the live registry contains the child;

  • whether selecting the completed child wakes the parent;

  • Codex app version, operating system, and failure time.

An older issue describes a parent that resumes after the user opens a completed child, while another documents stale cards after live close and readback. Link your report to the matching boundary instead of claiming that every stale card causes a blocked parent.

Retest After an Update

When a newer Codex desktop release is available:

  1. Let active tasks reach a safe checkpoint.

  2. Record the current app version and one affected parent task.

  3. Update through the supported app channel.

  4. Reopen the same parent task.

  5. Confirm that terminal children appear as Completed without opening each card.

  6. Confirm that only genuinely live children appear as Working.

Success means the panel matches authoritative task state after startup, no navigation trick is required, and historical children do not look active merely because their sessions still exist.

Monitor the Upstream Fix With Aident Loadout

Once the current task is stable, use a read-only integration instead of checking issue pages manually or pasting credentials into a prompt.

Start with the canonical setup instruction:

Follow https://aident.ai/SETUP.md

Then ask your agent:

Check Aident Loadout account authentication and Vault status. Discover the current read-only GitHub issue Action in staging, inspect its schema, and preflight requests for openai/codex issues 37563, 23930, and 23292. If the requests are valid and free, return only each issue's state, updated time, reaction count, labels, title, and canonical URL. Do not comment, react, edit, close, label, resume an agent, or change files.

Success is measurable: discovery, schema inspection, preflight, and read-only issue checks complete; no GitHub write occurs; and no local Codex task is resumed. Set up Aident Loadout and monitor the subagent status fix.

Sources

Refresh this guide when issue 37563 changes state, OpenAI documents authoritative subagent reconciliation, or a desktop release restores completed children correctly after startup.

Home

Home

Home

Integrations

Integrations

Integrations

Vault

Vault

Vault

Audit

Audit

Audit

Arana Grande

Arana Grande

Arana Grande

Free

Free

Free

30-day audit summary

30-day audit summary

30-day audit summary

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

View Audit

View Audit

View Audit

Loadout usage

Loadout usage

Loadout usage

617 action calls in the last 30 days

617 action calls in the last 30 days

617 action calls in the last 30 days

May 19 - Jun 17

May 19 - Jun 17

May 19 - Jun 17

10 active days

10 active days

10 active days

Less

Less

Less

More

More

More

Recent activity

Recent activity

Recent activity

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Shopify

Shopify

Shopify

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Success

Success

Success

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Success

Success

Success

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Failed

Failed

Failed

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Connected integration coverage

Connected integration coverage

Connected integration coverage

162

162

162

of 753 accessible connected

of 753 accessible connected

of 753 accessible connected

Callable actions

Callable actions

Callable actions

1,126

1,126

1,126

Vault credentials

Vault credentials

Vault credentials

8

8

8

Explore what's possible

Explore what's possible

Explore what's possible

See all Integrations

See all Integrations

See all Integrations

Google Ads

Google Ads

Google Ads

All available Goolge Ads tools via...

All available Goolge Ads tools via...

All available Goolge Ads tools via...

X (twitter)

X (twitter)

X (twitter)

All available X tools via...

All available X tools via...

All available X tools via...

Github

Github

Github

All available Github tools via...

All available Github tools via...

All available Github tools via...

Notion

Notion

Notion

All available Notion tools via...

All available Notion tools via...

All available Notion tools via...

Slack

Slack

Slack

All available Slack tools via...

All available Slack tools via...

All available Slack tools via...

Firecrawl

Firecrawl

Firecrawl

All available Firecrawl tools via...

All available Firecrawl tools via...

All available Firecrawl tools via...

753 integrations are available for loadouts.

753 integrations are available for loadouts.

753 integrations are available for loadouts.

The one tool

for every tool

your agent needs.

Give any AI agent real capabilities in seconds. Connect 1,000+ tools once, skip the setup headache, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.