Codex Pets flicker/disappear with AeroSpace window manager on macOS
What happened?
Codex Pets do not behave well with the AeroSpace tiling window manager on macOS. When a Pet is visible and I switch between apps/workspaces, the Pet flickers and/or disappears because AeroSpace appears to manage the Pet as a normal Codex window rather than as a sticky overlay/status window.
Environment
- Codex app:
26.623.70822(CFBundleVersion4559) - macOS:
15.7.3(24G419) - AeroSpace:
0.20.3-Beta 6dde91ba43f62b407b2faf3739b837318266e077 - Codex bundle id:
com.openai.codex
Reproduction steps
- Run Codex on macOS with AeroSpace enabled.
- Enable/show a Codex Pet from
Settings > Appearance > Petsor via/pet/Wake Pet. - Switch between apps/workspaces, for example with
Cmd+Tab, while the Pet is visible. - Observe the Pet flicker, disappear, or get stranded on a different AeroSpace workspace.
Expected behavior
The Pet should behave like a true overlay/status window and remain visible/stable while switching apps/workspaces, similar to a sticky always-on-top overlay.
Actual behavior
AeroSpace appears to see the Pet as a normal managed Codex window. This causes flicker/disappearance when switching focus or workspaces.
Debugging details
Using AeroSpace and macOS Accessibility/WindowServer inspection, Codex exposes two normal windows with the same app/title:
26993 | com.openai.codex | Codex | Codex | workspace=Y | layout=floating
26583 | com.openai.codex | Codex | Codex | workspace=C | layout=floating
The two windows observed locally were:
- Main Codex window: approximately
2304x1271 - Codex Pet overlay: approximately
356x320
Both report app/title as com.openai.codex / Codex, which makes it hard for AeroSpace rules to distinguish the Pet from the main app window.
I tried an AeroSpace rule to float Codex windows:
[[on-window-detected]]
if.app-id = 'com.openai.codex'
run = ['layout floating']
This helps prevent tiling but does not solve the flicker/disappear behavior because the Pet is still assigned to a normal AeroSpace workspace.
Possible improvement
If feasible, Codex Pets should use a window type/level/role that tiling window managers can identify as an overlay, utility, panel, or non-managed/sticky window. Alternatively, giving the Pet window a distinct title, subrole, or bundle/window identifier would let AeroSpace users write a targeted rule for it without affecting the main Codex app window.