macOS: Codex → ChatGPT.app migration leaves unified app missing from Launchpad

Open 💬 0 comments Opened Jul 10, 2026 by sketchmind

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 app-migration issue.

What platform is your computer?

macOS 15.7.1 (build 24G231), Apple Silicon.

What issue are you seeing?

After the Codex desktop app migrated from Codex.app to the unified /Applications/ChatGPT.app, the new app does not appear in macOS Launchpad.

The migration left two applications with the same display name but different bundle identifiers:

/Applications/ChatGPT.app
CFBundleDisplayName: ChatGPT
CFBundleName: ChatGPT
CFBundleIdentifier: com.openai.codex
CFBundleShortVersionString: 26.707.31428
CFBundleVersion: 5059

/Applications/ChatGPT Classic.app
CFBundleDisplayName: ChatGPT
CFBundleName: ChatGPT
CFBundleIdentifier: com.openai.chat
CFBundleShortVersionString: 1.2026.160

Finder, Spotlight, and LaunchServices all recognize both application bundles. In particular, mdls /Applications/ChatGPT.app reports:

kMDItemCFBundleIdentifier = "com.openai.codex"
kMDItemContentType        = "com.apple.application-bundle"
kMDItemDisplayName        = "ChatGPT"

However, the per-user Launchpad database contains two rows associated with the old ChatGPT bundle identifier and no row for com.openai.codex:

item_id  title            bundleid
90       ChatGPT Classic  com.openai.chat
178      ChatGPT          com.openai.chat

Query used, against the current user's com.apple.dock.launchpad/db/db:

SELECT item_id, title, bundleid
FROM apps
WHERE lower(title) LIKE '%chatgpt%'
   OR lower(bundleid) LIKE '%openai%'
   OR lower(title) LIKE '%codex%';

There is no com.openai.codex Launchpad row, so the unified ChatGPT/Codex app remains missing from Launchpad even though Spotlight and LaunchServices resolve it correctly.

What steps can reproduce the bug?

  1. Start with the standalone Codex desktop app and the existing ChatGPT desktop app on macOS.
  2. Accept the July 2026 Codex-to-ChatGPT desktop migration/update.
  3. Observe the resulting applications:
  • /Applications/ChatGPT.app with bundle ID com.openai.codex.
  • /Applications/ChatGPT Classic.app with bundle ID com.openai.chat.
  1. Open Launchpad and search for ChatGPT.
  2. Observe that the new unified ChatGPT/Codex app is not present.
  3. Verify that Spotlight and LaunchServices do recognize /Applications/ChatGPT.app.
  4. Inspect the Launchpad apps table and observe that the ChatGPT row is incorrectly associated with com.openai.chat, with no com.openai.codex row.

Troubleshooting already attempted

The following did not update the Launchpad row:

  • Re-enabled and rebuilt Spotlight indexing for / and /System/Volumes/Data.
  • Verified that mdls resolves /Applications/ChatGPT.app as com.openai.codex.
  • Unregistered and re-registered both app bundles with lsregister.
  • Registered /Applications/ChatGPT.app explicitly with lsregister -f.
  • Imported /Applications/ChatGPT.app with mdimport -i.
  • Restarted Dock multiple times.
  • Verified that the new app is signed correctly and accepted by Gatekeeper.

The Launchpad database was not deleted because doing so resets all user Launchpad folders and icon ordering.

What is the expected behavior?

The Codex-to-ChatGPT migration should preserve Launchpad visibility and correctly register the unified app as:

ChatGPT -> com.openai.codex -> /Applications/ChatGPT.app

The migration should also avoid confusing the new unified app with ChatGPT Classic.app, despite both bundles currently having CFBundleDisplayName=ChatGPT.

Additional information

This appears related to the current Codex-to-ChatGPT migration but is distinct from:

  • #31866 — self-update removes Codex.app and leaves stale Dock state.
  • #31944 — codex app ignores ChatGPT.app and creates a duplicate Codex.app.
  • #31961 — Notification Center retains the old Codex.app path.
  • #24072 — an older LaunchServices runtime-registration failure involving com.openai.codex.

Those issues do not report the Launchpad database mapping the new app title to com.openai.chat while omitting com.openai.codex.

Posted at the affected user's direction after the local database state and attempted fixes were verified.

View original on GitHub ↗