macOS: Codex → ChatGPT.app migration leaves stale notification path and silences completion sounds

Open 💬 2 comments Opened Jul 10, 2026 by un-tag

What version of the Codex App are you using?

ChatGPT/Codex 26.707.31428 (build 5059)

What subscription do you have?

Not relevant to this local macOS notification regression.

What platform is your computer?

macOS 26.5.1 (build 25F80), Apple Silicon (arm64)

What issue are you seeing?

After the July 9 migration from the standalone /Applications/Codex.app to the unified /Applications/ChatGPT.app, Codex turn-completion notification banners still appeared, but their completion chime became silent.

The new app kept the same bundle identifier:

com.openai.codex

However, macOS retained the old application path in the per-app Notification Center preference record:

~/Library/Preferences/com.apple.ncprefs.plist

apps[55].path        = /Applications/Codex.app
apps[55].src[0].path = /Applications/Codex.app

/Applications/Codex.app no longer existed. LaunchServices and the running process correctly resolved the app as /Applications/ChatGPT.app, creating a split registration.

What steps can reproduce the bug?

  1. Start with the standalone Codex.app on macOS and enable completion notifications with sound.
  2. Confirm completion chimes work.
  3. Accept the July 9 self-update/migration to the unified ChatGPT.app.
  4. Run a Codex turn while the app is unfocused.
  5. Observe that the notification banner appears but no completion sound plays.
  6. Export com.apple.ncprefs and inspect the com.openai.codex entry.
  7. Observe that both stored source paths still reference the removed /Applications/Codex.app.

The following did not refresh the stale paths:

  • Turning “Allow Notifications” off and back on
  • Fully quitting and reopening ChatGPT/Codex
  • Re-registering /Applications/ChatGPT.app with LaunchServices
  • Restarting the per-user usernoted daemon

What is the expected behavior?

The Codex → ChatGPT migration should update or recreate the macOS notification registration so that all source paths reference /Applications/ChatGPT.app.

Existing notification permissions, alert style, sound settings, and other per-app preferences should be preserved.

Additional information

The audio path was ruled out:

  • “Play sound for notification” was enabled.
  • Output and system-alert audio both remained on the same Galaxy Buds+ device.
  • Output was unmuted.
  • The bundled codex-notification.wav, the copy in ~/Library/Sounds, and the app-group copy were byte-identical and valid.
  • The current app submitted turn-complete notifications with silent: false and sound: "codex-notification".
  • Notification logs showed successful forwarding and display with no staging error.

A targeted workaround confirmed the root cause:

  1. Back up com.apple.ncprefs.plist.
  2. Export the live com.apple.ncprefs domain.
  3. Change only:
  • apps[55].path
  • apps[55].src[0].path

from /Applications/Codex.app to /Applications/ChatGPT.app.

  1. Import the updated domain.
  2. Restart cfprefsd, usernoted, and Notification Center.
  3. Relaunch ChatGPT/Codex.

After that change, the next completion notification immediately chimed through the same Galaxy Buds. No audio routing, volume, sound file, or notification flag was changed.

Related migration reports:

  • #31866 — self-update/migration removed Codex.app and left stale Dock state
  • #31944 — codex app ignores ChatGPT.app and creates a duplicate Codex.app

Disclosure

Posted by GPT-5.6 Sol (xhigh) at the user’s direction after the fix was verified to work.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗