macOS: Dock restore animation stutters while WindowServer logs Invalid window
What version of the Codex App are you using (From “About Codex” dialog)?
ChatGPT/Codex desktop app 26.707.41301 (build 5103)
What subscription do you have?
ChatGPT Plus (not directly relevant; appears to be a local macOS desktop/windowing issue)
What platform is your computer?
Darwin 25.4.0 arm64 arm; macOS 26.4 (25E246); Apple Silicon
What issue are you seeing?
Summary
After updating to the unified ChatGPT/Codex desktop app, restoring the Codex window from the macOS Dock produces a visibly non-smooth, stuttering scale/expand animation. The animation appears as a sequence of discrete jumps rather than a continuous macOS Dock restore animation.
This seems specific to the Codex/ChatGPT desktop window. Restoring the global Dock animation setting affects other apps normally, but Codex continues to show the stutter.
Observed local evidence
System logs repeatedly show WindowServer errors while the Codex window is active/restored:
WindowServer: _CGXPackagesSetWindowConstraints: Invalid window
The Codex desktop renderer log also repeatedly records layout/renderer errors after startup:
[desktop-notifications][global-error] ResizeObserver loop completed with undelivered notifications.
The latest app startup itself is fast, for example:
[window-manager] window main frame finished load ... startupElapsedMs=136
[window-manager] window ready-to-show ... startupElapsedMs=151
So this does not look like slow startup. It looks more like an AppKit/Electron/Chromium window constraint or compositor problem during visible-window restoration/resize.
Local troubleshooting already tried
The following local mitigations did not fix the issue:
- Fully quitting and reopening ChatGPT/Codex.
- Switching the global Dock minimize effect to
scaleand restarting Dock. - Rebuilding Codex GPU/Dawn caches by backing up and regenerating:
GraphiteDawnCacheDawnGraphiteCacheGPUPersistentCacheGPUCache- Backing up and resetting Codex/Chromium session restore storage.
- Temporarily trying per-app Cocoa/AppKit animation defaults for
com.openai.codex: NSAutomaticWindowAnimationsEnabled = falseNSWindowResizeTime = 0.001
Those per-app defaults were later removed because they did not affect the Dock restore stutter.
Related public reports
This may be related to existing Codex desktop visible-window / WindowServer / renderer issues:
- #32024: macOS visible Codex window drives WindowServer CPU high
- #30464: visible Codex window causes sustained GPU/WindowServer CPU and heat
- #27505: macOS traffic-light window controls do not perform standard actions
- #31995: Desktop renderer repeatedly logs
ResizeObserver loop completed with undelivered notifications
Relationship to #32414
GitHub flagged #32414 as a potential duplicate, and the symptoms look closely related: both involve broken/stuttering macOS Dock restore animation for the Codex App.
I am filing this separately for now because this reproduction includes additional local diagnostics that may help narrow the root cause:
- WindowServer repeatedly logs
_CGXPackagesSetWindowConstraints: Invalid window. - The Codex renderer repeatedly logs
ResizeObserver loop completed with undelivered notifications. - The app startup path is fast, so the issue appears tied to visible-window restore/resize/compositing rather than initial app load.
If maintainers prefer to consolidate, this can be closed as a duplicate of #32414 after copying over the diagnostic evidence.
What steps can reproduce the bug?
- Open ChatGPT/Codex desktop app on macOS.
- Open or resume any Codex task.
- Minimize the app window to the Dock.
- Click the Dock icon to restore the Codex window.
- Observe the restore/scale animation.
- In parallel, inspect recent WindowServer logs for
_CGXPackagesSetWindowConstraints: Invalid window.
Observed result:
- The Dock restore animation stutters visibly and appears as a sequence of jumps.
- WindowServer repeatedly logs
_CGXPackagesSetWindowConstraints: Invalid window. - Codex renderer logs repeated
ResizeObserver loop completed with undelivered notificationsentries after startup.
The issue remains after cache rebuilds, session restore reset, Dock restart, and normal app restart.
What is the expected behavior?
Restoring the Codex window from the macOS Dock should use the normal smooth macOS window restore animation and should not continuously produce WindowServer Invalid window constraint errors or repeated renderer layout errors.
Additional information
Additional diagnostics
Current installed app bundle:
Application path: /Applications/ChatGPT.app
Bundle identifier: com.openai.codex
CFBundleShortVersionString: 26.707.41301
CFBundleVersion: 5103
macOS:
macOS 26.4 (25E246)
uname -mprs: Darwin 25.4.0 arm64 arm
Representative system log line:
WindowServer[170] [com.apple.SkyLight:default] _CGXPackagesSetWindowConstraints: Invalid window
Representative Codex log lines:
[window-manager] window ready-to-show appearance=primary startupElapsedMs=151 webContentsId=1 windowId=1
[electron-message-handler] [desktop-notifications][global-error] ResizeObserver loop completed with undelivered notifications.
Suggested labels: bug, app, macOS, performance.
I am intentionally not attaching full logs because they may contain local paths or private task content, but sanitized excerpts can be provided if needed.
Potential duplicate / related issue: #32414. This report adds WindowServer and renderer log evidence to the same Dock restore animation class of bug.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗