openai / openai/codex

Desktop 26.908.40834 creates unsolicited empty tasks in one project, even after restart; opening them fails with no rollout found

Open
#45,220 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app app-server bug
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Environment

macOS, Codex Desktop 26.908.40834. One affected local project; exact project path and account identifiers omitted.

Observed

The user reports repeated unsolicited empty tasks in only one project, with no unsent new-task text. A complete quit and relaunch does not prevent recurrence.

On 2026-09-13, a new app process started at 11:46:04.863 UTC. At 11:46:41 UTC, a fresh task was created by a Desktop thread/start request (dynamic_tool_count=23). Opening it at 11:49:55.710 UTC produced JSON-RPC -32600, failureReason=rollout_not_found, and no rollout found for thread id <redacted>.

The task had no row in local_thread_catalog or state_5.sqlite.threads when inspected afterward. A separate earlier occurrence had the same failure.

Local workaround disclosure

Before the restart test, 16 verified empty catalog registrations were backed up and removed. A custom project-scoped SQLite BEFORE INSERT trigger ignores a narrowly matched empty initial metadata shape. The failure existed before this intervention and recurred afterward despite no matching catalog row. Other catalog rows were preserved. This intervention may affect catalog observations and is not a supported fix. The signed application bundle was not modified.

Investigation limits

The initiating UI event and whether the individual request was prewarm are not established. Inspection found both response observation and a live thread/started handler capable of adding a conversation independently of the catalog DB, but runtime notification ordering has not been captured.

Please investigate the source of the unsolicited creation and reconciliation of tasks without durable history. No full transcripts, raw logs, task IDs, usernames, or local paths are included.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Trace the Desktop thread/start request and the live thread/started handler, comparing response observation with local_thread_catalog and state_5.sqlite.threads. Capture notification ordering during recurrence and determine which path creates the empty task. Done means identifying the unsolicited creator and preventing or reconciling tasks that lack durable history and produce rollout_not_found.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust, sqlite
Domain
databases, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.