[Bug] Custom Codex pets render as a vertical line or disappear on Windows with Thunderbolt dock / external monitors
What version of the Codex App are you using?
Codex Desktop App on Windows:
- App package:
OpenAI.Codex_26.506.3741.0_x64__2p2nqsd0c76g0 - Product version shown by process metadata:
26.506.31421 - Bundled
codex.exe:0.130.0-alpha.5
What platform is your computer?
- Windows:
Microsoft Windows NT 10.0.26200.0 - Architecture: x64
- GPUs detected:
NVIDIA GeForce RTX 3080, driver32.0.15.9186, external mode observed:3440 x 1440Intel(R) Arc(TM) Graphics, driver32.0.101.6913, internal mode observed:2880 x 1800- Laptop is connected through a Thunderbolt cable to a docking station with external monitors.
What issue are you seeing?
Custom Codex pets do not render correctly when the laptop is attached to a Thunderbolt docking station with external monitors.
Observed behavior:
- On the laptop without the dock, the custom pet has fewer rendering problems.
- With the Thunderbolt dock connected, the pet is often rendered as only a single vertical line, only a partial slice, or not visible at all.
- The thinking/status bubble still renders, for example
Create personalized pet/Denke nach, but the pet sprite itself is missing or appears as a thin line. - The issue is not limited to the thinking state; it affects the pet generally.
- The problem persists across multiple valid custom pet packages.
Expected behavior:
- Custom pets should render the currently selected atlas frame normally in the Codex UI regardless of docking station, external monitor, GPU, or DPI scaling.
What steps can reproduce the bug?
- Install one or more custom pets under
%USERPROFILE%\.codex\pets\. - Use a valid custom pet package with:
pet.jsonspritesheet.webp- atlas dimensions
1536x1872 8 x 9grid192x208cells
- Start Codex Desktop while the laptop is not attached to the dock.
- Select the custom pet and observe rendering.
- Attach the laptop to a Thunderbolt docking station with external monitors.
- Restart Codex Desktop and select the same custom pet.
- Trigger any state, including thinking/status bubble rendering.
Actual result:
- The bubble renders, but the pet sprite is absent or appears as a single thin vertical line.
Expected result:
- The pet sprite should render as a normal animated sprite.
Repro assets tested
Three separate custom pet packages were tested:
axiom-orbitaxiom-orbit-freshrender-test
render-test is a minimal diagnostic custom pet with transparent cells and high-contrast color-band markers. It validates successfully and is intended to make slicing/cropping obvious.
All tested atlases validate as:
- Format:
WEBP - Mode:
RGBA - Dimensions:
1536x1872 - No validation errors from the hatch-pet atlas validator.
Troubleshooting already attempted
- Repackaged the pet as WebP and PNG.
- Changed
pet.jsonto point to PNG; PNG made the pet not visible, so reverted to WebP. - Built several geometry variants:
- full/app-fit centered bounds
- smaller dock-safe top-half bounds
- left-third-safe bounds
- Created a new pet ID (
axiom-orbit-fresh) to bypass possible asset cache. - Created a diagnostic
render-testpet to rule out detailed artwork as the cause. - Restarted/reselected pets during testing.
None of the variants fixed the dock rendering behavior.
Screenshots / repro assets
Screenshots are available showing the status/thinking bubble visible while the pet itself is missing or reduced to a line. A small repro package with the tested custom pet folders is also available if maintainers want it.
Notes
The behavior looks like a renderer/DPI/GPU issue in custom pet sprite drawing rather than an invalid atlas:
- The Codex UI/bubble continues rendering.
- The custom pet sprite layer appears clipped to a line or disappears.
- Multiple valid atlases and a minimal diagnostic pet reproduce the issue.
- The issue correlates with Thunderbolt dock / external monitor use.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗