[Linux] completed turn becomes unread but Desktop emits no native notification request
Nobody has claimed this yet.
- 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.asarSHA-256:c89eeea0903348aa5936dd720b6e4a8d29d1c2ac4092c87462ffb822c9c1b173 - output
app.asarSHA-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
- Set Codex Desktop turn-completion notifications to Always.
- Start a task that takes long enough to switch away from Codex.
- Focus another application/workspace.
- Monitor the user D-Bus notification path.
- Wait for the task to complete.
- Observe that Codex changes the completed thread from
RunningtoUnread. - No desktop notification appears, and no native notification request is present in the D-Bus trace.
- 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
Notifyrequest 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 notificationcalls are generated and reachorg.freedesktop.Notifications.Notify. ilysenko/codex-desktop-linux#827: similar no-notification symptom on NixOS, but it was traced to missinglibnotifyin that Nix runtime and fixed byilysenko/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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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