Codex Desktop: /pet activity bubbles render, but avatar sprite is invisible on macOS

Open 💬 5 comments Opened May 4, 2026 by unstatusthequo
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

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

  1. Open Codex Desktop.
  2. Run /pet or otherwise wake the pet.
  3. Observe the overlay/activity bubbles.
  4. Try selecting a built-in pet, e.g. Codex.
  5. Restart Codex and try /pet again.

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-bounds from ~/.codex/.codex-global-state.json.
  • Removed/reset these avatar state keys:
  • selected-avatar-id
  • electron-avatar-overlay-open
  • electron-avatar-overlay-bounds
  • Moved ~/.codex/pets out 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: codex
  • electron-avatar-overlay-open: true
  • electron-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.

View original on GitHub ↗

5 Comments

github-actions[bot] contributor · 3 months ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #21065

Powered by Codex Action

cuizfz-codex · 3 months ago

Additional reproduction after updating Codex Desktop. The issue still reproduces on the newer desktop build.

Environment:

  • Codex Desktop: 26.429.61741 / CFBundleVersion 2429
  • macOS: 26.4.1 (25E253)
  • Architecture: arm64 / Apple Silicon
  • Display setup:
  • Pro Display XDR, main display, logical frame 3008x1692, scale 2.0
  • Studio Display, logical frame 2560x1440, scale 2.0

Observed behavior after update:

  • Running /pet / waking the pet opens the avatar overlay/status bubble.
  • Activity/status bubbles render normally.
  • The mascot/pet sprite is still completely invisible.
  • This reproduces with the built-in Codex pet and with a valid custom pet.
  • Closing the activity bubble leaves no visible mascot behind. Triggering new activity brings the bubble back, but the mascot sprite still does not appear.

Additional note:

  • This was not fixed by the update from the earlier 26.429.30905 / build 2345 line to 26.429.61741 / build 2429.
  • The symptom is the “bubble renders, mascot sprite invisible” case, not just a custom spritesheet problem.
araza-bytespark · 3 months ago

I am seeing the same issue on another macOS setup.

Environment:

  • Codex Desktop: 26.429.61741
  • Electron: 41.2.0
  • macOS: 26.4.1 (25E253)
  • Mac: Apple M3 / arm64
  • Display: built-in/single visible workspace at 1920x1080 in this repro

Observed behavior:

  • Settings show a built-in pet selected.
  • Waking/opening the pet creates the avatar overlay.
  • The activity/status tray renders normally, e.g. task title + Thinking.
  • The overlay/tray can be moved.
  • The actual mascot sprite never appears.
  • It looks like the notification tray layer is drawing, but the mascot/avatar sprite layer is missing or not painting.

Troubleshooting attempted:

  • Refreshed pets from Settings.
  • Tucked away / woke pet again.
  • Selected different built-in pets and selected Codex again.
  • Restarted Codex.
  • Reset avatar overlay state in ~/.codex/.codex-global-state.json.
  • Removed electron-avatar-overlay-open, electron-avatar-overlay-bounds, and selected-avatar-id so Codex could regenerate them.
  • Cleared Electron/GPU caches under ~/Library/Application Support/Codex, including GPUCache, DawnGraphiteCache, DawnWebGPUCache, Code Cache, and Cache.

Local state after reset included:

  • electron-avatar-overlay-open: true
  • selected-avatar-id: sometimes codex, sometimes null after clearing until the app regenerates it
  • electron-avatar-overlay-bounds: regenerated by the app

Additional observation:
The first failure mode looked like placement/clipping near the Dock, but after resetting bounds and moving the overlay, only the task notification bubble was visible. The mascot itself was still missing. So this does not look like only an offscreen bounds issue.

Expected:
The selected pet mascot should remain visible as the floating pet, with activity bubbles rendered near it when tasks are active.

pclinger · 3 months ago

I also am experiencing this issue on MacOS. I tried removing codex, moved my ~/.codex folder to a new location so it would start fresh, selected a pet under Settings > Appearance > Pets, typed /pet... and no pet appears. There is a chat bubble that shows up on screen, although the right side of the chat bubble is cut off.

<img width="360" height="171" alt="Image" src="https://github.com/user-attachments/assets/7ac41e35-a82d-42e6-b1ec-7de1957b1eb8" />

bglenden · 3 months ago

Additional reproduction on a newer Codex Desktop build.

Environment:

  • Codex Desktop: 26.506.31004 / CFBundleVersion 2604
  • macOS: 26.4.1 (25E253)
  • Hardware: Apple Silicon, Apple M4 GPU reported by System Profiler
  • Display setup: large desktop / scaled display; issue observed near the lower-right edge of the desktop

Observed behavior:

  • The pet/avatar overlay opens.
  • The activity/status tray renders and updates.
  • The selected mascot/pet sprite is never visible.
  • Reproduces with built-in pets, not only a custom pet. In this repro, selected-avatar-id was bsod at one point.
  • The right side of the floating activity window appears clipped.
  • Restarting Codex did not fix it.

Local inspection:

  • System Events reported two Codex windows: the main window and a separate floating overlay window of about 356 x 320.
  • The overlay window existed and could be moved via accessibility, confirming /pet and overlay creation were working.
  • Moving the overlay window temporarily changed its screen position, but Codex snapped it back to its managed position.
  • Screenshots showed the activity tray visible, while the expected mascot region remained transparent/blank.
  • The app bundle contained built-in spritesheets and the avatar renderer/CSS; this did not look like a missing custom pet asset.

Troubleshooting attempted:

  • Tried built-in pets as well as a custom pet.
  • Restarted Codex.
  • Cleared/moved Electron renderer/GPU caches under ~/Library/Application Support/Codex, including Cache, Code Cache, GPUCache, DawnGraphiteCache, and DawnWebGPUCache.
  • Resetting/moving the overlay window did not make the sprite appear.
  • Cmd+0 / Actual Size did not change the overlay behavior.

This looks consistent with the “activity tray paints but mascot sprite layer does not paint / is clipped inside the fixed overlay viewport” failure mode. It may also overlap with #20831, since the tray is visibly clipped on the right edge.