Codex Desktop shows “Conversation not found” during new-session startup with SessionStart hooks

Open 💬 1 comment Opened Aug 12, 2026 by StarshipSuperjam

What version of the Codex App are you using (From “About Codex” dialog)?

Codex App 26.803.61601 (bundled Codex CLI/app-server 0.147.0-alpha.6.5)

What subscription do you have?

Not collected / not available in this session context.

What platform is your computer?

Darwin 25.6.0 arm64 arm

What issue are you seeing?

Every time I start a new Codex Desktop session in a project with Engine installed, the app shows a red toast:

Conversation not found

This is a transient UI error: the new session is actually created, the Engine startup briefing arrives, and the conversation continues normally. It is not tied to running an Engine upgrade; it also happens on ordinary new-session startup.

The affected project has six SessionStart commands in .codex/hooks.json. The user observes the toast deterministically whenever starting a session with this setup.

What steps can reproduce the bug?

  1. Open a trusted local project in Codex Desktop that has a nontrivial .codex/hooks.json with multiple SessionStart hooks (the reproducing setup has six).
  2. Start a new task/session.
  3. As the session initializes, observe a red “Conversation not found” toast.
  4. Wait briefly.
  5. Observe that the same session remains usable and its startup context appears normally.

The startup sequence captured in the reproducing session was:

  • 18:11:43 — thread creation and user submission logged.
  • 18:11:48 — thread resume response logged.
  • 18:11:49 — startup briefing/context from the SessionStart hooks arrived.
  • 18:11:50.951 and 18:11:50.977 — renderer/Sentry breadcrumbs logged:

Matched leaf route at location "/" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.

  • The red toast appeared during this startup window.
  • No corresponding warning/error or “Conversation not found” entry appeared in the backend/app-server logs, and the session continued successfully.

The hooks themselves appear healthy:

  • The Engine hook test suite passes: 76 tests, OK.
  • Manually running the boot hook exits 0 and emits valid SessionStart JSON with hookSpecificOutput.additionalContext.
  • The project’s two Engine MCP health checks pass.

What is the expected behavior?

Starting a valid new session should not show a missing-conversation error. Codex Desktop should wait until the renderer’s conversation state/routing is ready, or suppress a transient lookup failure when the session is known to be initializing.

Additional information

This looks like a renderer/UI timing race exposed by startup-hook latency, but that is an inference, not a confirmed root cause. The exact frontend request that triggers the toast was not present in the collected backend logs.

Possibly related: #16817 describes a renderer race involving conversation state, although that issue concerns existing threads after restart rather than this transient new-session startup behavior.

A screenshot of the toast is available if needed.

View original on GitHub ↗

1 Comment

grazzolini · 13 days ago

This issue also causes the mode to reset. I start the session in plan mode and once the worktree creation is finished and the environment scripts ran, the conversation not found appears and the mode drops out of plan mode. I also use hooks and I tested too with goal mode, it also drops out.