openai / openai/codex

[Linux] completed turn becomes unread but Desktop emits no native notification request

Open
#45,567 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

What version of the Codex App are you using?

26.908.31748

What subscription do you have?

Paid ChatGPT plan. Exact tier omitted because it does not appear relevant to reproduction.

What platform is your computer?
  • Gentoo Linux, x86_64
  • KDE Plasma 6.7.5
  • Wayland (XDG_SESSION_TYPE=wayland)
  • Turn completion notifications: Always

Package provenance: the installed package is produced with ilysenko/codex-desktop-linux from OpenAI's signed official Linux package.

The build report for this installation shows:

  • enabledFeatures: []
  • only one applied core patch: upstream-renderer-cycle
  • no notification-specific optional feature or patch
  • upstream app.asar SHA-256: c89eeea0903348aa5936dd720b6e4a8d29d1c2ac4092c87462ffb822c9c1b173
  • output app.asar SHA-256: a4b18ccad19a79c8dbdb1e90db95ae2905f16c13da74d1dfcb52e7b6699c19d2

x11-libs/libnotify-0.8.8 was verified installed on this host on 2026-08-31.

What issue are you seeing?

When a turn completes while Codex Desktop is in the background, no desktop notification appears. Refocusing Codex does not release a delayed notification.

A user-session D-Bus trace captured a confirmed completion. Codex itself processed the completion and changed the tray/thread state from Running to Unread, but no native desktop-notification request was emitted during the monitored window.

The relevant sequence was:

2026-09-13 12:09:12 UTC  Codex tray menu: Running
2026-09-13 12:09:15 UTC  Codex tray menu: Unread
2026-09-13 12:09:36 UTC  D-Bus monitor stopped

The monitor was started with:

busctl --user monitor org.freedesktop.Notifications

Across the trace there was no:

org.freedesktop.Notifications.Notify

and no portal notification call such as:

org.freedesktop.portal.Notification.AddNotification

So in this reproduction the failure occurs after the app has processed the turn-completion event, but before a notification reaches the Linux desktop notification service.

Steps to reproduce
  1. Set Codex Desktop turn-completion notifications to Always.
  2. Start a task that takes long enough to switch away from Codex.
  3. Focus another application/workspace.
  4. Monitor the user D-Bus notification path.
  5. Wait for the task to complete.
  6. Observe that Codex changes the completed thread from Running to Unread.
  7. No desktop notification appears, and no native notification request is present in the D-Bus trace.
  8. Refocus Codex; no delayed notification appears either.
Expected behavior

With completion notifications set to Always, completion of a turn should cause Codex Desktop to submit one native Linux desktop notification even when the window is unfocused.

Control / localization

The KDE Plasma notification service itself is functional in the same user session: a separate Codex CLI session running over SSH can trigger a notification that is received and displayed by Plasma normally. This control does not exercise Electron's libnotify path, but it confirms the local Plasma notification service is operational.

The observed Desktop path is therefore approximately:

turn completes
  -> Codex processes completion
  -> thread/tray state changes Running -> Unread
  -> [native notification dispatch missing]
  -> D-Bus / portal
  -> Plasma notification service
Related issues checked
  • #40482: Arch/KDE completion notification is delayed until Codex regains focus. This reproduction is different: refocusing does not produce a late notification, and no Notify request is seen at completion.
  • #42705: Linux multi-window sessions emit duplicate turn-complete notifications. That report shows the opposite side of the same path: native show notification calls are generated and reach org.freedesktop.Notifications.Notify.
  • ilysenko/codex-desktop-linux#827: similar no-notification symptom on NixOS, but it was traced to missing libnotify in that Nix runtime and fixed by ilysenko/codex-desktop-linux#830. The current host has libnotify installed and is not using the affected Nix packaging path.

I could not find an existing openai/codex issue that covers the specific failure mode where the completed turn is processed and marked unread but Desktop emits no native notification request at all.

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

Start by tracing the turn-completion path from the Running-to-Unread state change into the Electron native notification or libnotify path. Reproduce with busctl --user monitor org.freedesktop.Notifications and compare the missing Notify or portal request with the related notification behavior described in issues #40482 and #42705. Done means one native notification request is emitted for an unfocused completed turn when notifications are set to Always.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, linux
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.