codex - ✅(Solved) Fix Desktop fork button does nothing [1 pull requests, 1 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openai/codex#17688Fetched 2026-04-14 05:41:16
View on GitHub
Comments
1
Participants
1
Timeline
5
Reactions
0
Participants
Timeline (top)
labeled ×3commented ×1cross-referenced ×1

Clicking the desktop app's fork button does not create a forked conversation or surface any error.

Error Message

Clicking the desktop app's fork button does not create a forked conversation or surface any error. A new forked conversation should open, or the app should surface an actionable error if the current thread cannot be forked.

  • A user screenshot shows the conversation-level fork icon in the desktop UI, but the click does not trigger visible navigation, confirmation, or error handling.
  • codex-rs/tui/src/app.rs handles AppEvent::ForkCurrentSession and surfaces an error if the current thread is not forkable

Root Cause

Clicking the desktop app's fork button does not create a forked conversation or surface any error.

Fix Action

Fixed

PR fix notes

PR #2: [codex] Cover fork actions without a thread

Description (problem / solution / changelog)

What changed

  • factor the fork precondition in codex-rs/tui/src/app.rs into a small helper that emits the existing user-facing error when there is no current thread to fork
  • add a regression test proving the public client surfaces that error instead of silently doing nothing

Why

The desktop Codex fork button appears to no-op. I filed the upstream bug first as openai/codex#17688.

The public repo does not appear to contain the desktop button handler, so I could not patch the actual UI wiring here. This PR hardens the closest public behavior we can verify: a fork action should never silently fail when no forkable thread exists.

Impact

  • preserves the existing TUI behavior while making it explicit and test-covered
  • gives the upstream issue a concrete public contract for client behavior around fork failures

Validation

  • inspected the resulting diff for codex-rs/tui/src/app.rs
  • could not run just fmt or cargo test in this environment because neither just nor the Rust toolchain is installed on PATH

Related issue: openai/codex#17688.

Changed files

  • codex-rs/tui/src/app.rs (modified, +29/-6)
RAW_BUFFERClick to expand / collapse

Summary

Clicking the desktop app's fork button does not create a forked conversation or surface any error.

Reproduction

  1. Open an existing conversation in the Codex desktop app.
  2. Click the fork button in the conversation controls.
  3. Observe that nothing happens.

Expected

A new forked conversation should open, or the app should surface an actionable error if the current thread cannot be forked.

Actual

The click appears to be a no-op.

Notes

  • A user screenshot shows the conversation-level fork icon in the desktop UI, but the click does not trigger visible navigation, confirmation, or error handling.
  • I audited the public openai/codex repo before filing this. The shared fork backend appears to exist in the public codebase:
    • codex-rs/app-server/src/codex_message_processor.rs handles hread/fork
    • codex-rs/tui/src/app.rs handles AppEvent::ForkCurrentSession and surfaces an error if the current thread is not forkable
  • I could not find the desktop-specific button handler in the public repo, so this may be a private desktop-client wiring/regression rather than a shared hread/fork implementation bug.

Why this issue still belongs here

The bug is user-facing in Codex, and the public repo is the closest visible tracker even if the failing button wiring lives outside the currently published source tree.

extent analysis

TL;DR

The issue is likely due to a missing or incorrect button handler for the fork button in the desktop app, which can be resolved by verifying the button's click event handler.

Guidance

  • Verify that the fork button in the desktop app has a click event handler assigned to it, and that it correctly calls the AppEvent::ForkCurrentSession handler.
  • Check the desktop app's code for any typos or incorrect function calls that might prevent the fork button from working as expected.
  • Review the codex-rs/tui/src/app.rs file to ensure that the AppEvent::ForkCurrentSession handler is correctly implemented and surfaces an error if the current thread is not forkable.
  • If the issue persists, try debugging the desktop app to see if any errors are thrown when the fork button is clicked.

Example

No code example is provided as the issue lacks specific code details.

Notes

The issue may be specific to the private desktop-client code, which is not publicly available. Therefore, the solution may require access to the private codebase.

Recommendation

Apply workaround: Verify the button's click event handler and review the AppEvent::ForkCurrentSession handler implementation to ensure correct functionality. This is because the issue is likely related to the desktop app's wiring, and verifying the event handler can help identify the root cause.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING