Codex Desktop: /pet activity bubbles render, but avatar sprite is invisible on macOS
Summary
The Codex Desktop /pet overlay opens and activity bubbles render, but the pet/avatar sprite itself is invisible. This happens with built-in pets and custom pets, survives clearing pet state/cache, and still reproduces after reinstalling Codex Desktop.
Environment
- App: Codex Desktop
- Version: 26.429.30905
- Build: 2345
- Bundle ID: com.openai.codex
- macOS: 26.4.1 (25E253)
- Display setup: multi-monitor; Codex window has been moved between displays during testing
Steps to Reproduce
- Open Codex Desktop.
- Run
/petor otherwise wake the pet. - Observe the overlay/activity bubbles.
- Try selecting a built-in pet, e.g.
Codex. - Restart Codex and try
/petagain.
Expected Behavior
The pet/avatar sprite should be visible and draggable, with activity bubbles appearing near it.
Actual Behavior
Only the activity bubbles are visible. The pet/avatar sprite is not visible at all, so it cannot be dragged directly.
The overlay appears to exist and persists bounds, but the mascot sprite layer does not paint.
Troubleshooting Already Tried
I tried the following, and the issue still reproduces:
- Selected a built-in/default pet instead of a custom pet.
- Validated custom pet assets separately.
- Deleted/reset
electron-avatar-overlay-boundsfrom~/.codex/.codex-global-state.json. - Removed/reset these avatar state keys:
selected-avatar-idelectron-avatar-overlay-openelectron-avatar-overlay-bounds- Moved
~/.codex/petsout of the way so custom pets cannot be involved. - Cleared/moved Electron renderer/GPU caches:
~/Library/Application Support/Codex/Cache~/Library/Application Support/Codex/Code Cache~/Library/Application Support/Codex/GPUCache~/Library/Application Support/Codex/DawnGraphiteCache~/Library/Application Support/Codex/DawnWebGPUCache~/Library/Application Support/Codex/blob_storage- Fully quit/restarted Codex.
- Deleted and reinstalled Codex Desktop.
- Tried waking the pet again after reinstall.
Additional Observations
- Activity bubbles render and move, so the overlay window is not completely broken.
- The issue is not limited to custom pets; built-in pets are also invisible.
- At one point, moving the main Codex window to another display left the pet activity bubbles on the previous display.
- Accessibility/window inspection suggested a very small visible/hit target associated with the pet/badge, but not the full avatar sprite.
- After reset/reinstall, current state regenerated with:
selected-avatar-id:codexelectron-avatar-overlay-open:trueelectron-avatar-overlay-bounds: present
Suspected Area
This looks like the avatar/mascot sprite layer is failing to render, while the notification tray/activity bubble layer renders normally. It may be related to the CSS/background-image rendering for the avatar sprite, GPU/compositor behavior, or overlay window rendering on macOS multi-display setups.
Workaround
No workaround found. Clearing pet state, clearing renderer caches, switching pets, restarting, and reinstalling did not restore the pet sprite.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗