openai / openai/codex

[Windows][Pets] Pet gets stuck on secondary monitor and cannot be dragged back

Open
#42,923 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug pets windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Summary

On Windows with a dual-monitor setup, the Codex floating pet moved onto my secondary monitor and became effectively stuck there. The pet remains visible, but I cannot drag it back to the primary display.

This persists after fully quitting Codex from the system tray and reopening it, so the saved overlay/input state appears to survive a normal app restart.

The symptom looks consistent with a multi-monitor coordinate / hit-region desynchronization in the pet overlay: the pet is rendered at one location, while the mouse-interactive region may no longer line up with the visible mascot.

Environment
  • Platform: Windows
  • App: Codex Desktop
  • Display configuration: Dual-monitor extended desktop
  • Affected component: Floating pet / avatar overlay
  • Pet is currently visible on: Secondary monitor

I can provide the exact Codex build number, monitor resolutions, monitor arrangement, and Windows scaling/DPI values if needed.

Steps to reproduce
  1. Open Codex Desktop on Windows with two displays connected in extended-desktop mode.
  2. Show/wake the floating Codex pet.
  3. Move or allow the pet to appear on the secondary monitor.
  4. Try to click and drag the pet back toward the primary monitor.
Actual behavior
  • The pet stays visible on the secondary monitor.
  • Dragging does not move it back to the primary monitor.
  • The visible pet does not behave like a normally draggable overlay at its current location.
  • Fully quitting Codex from the system tray and reopening the app does not resolve the issue.
Expected behavior
  • The pet should remain clickable and draggable anywhere within the combined desktop space.
  • Moving between monitors should not break pointer interaction.
  • The interactive hit region should remain aligned with the visible pet after crossing display boundaries.
  • Restarting the app should not restore the pet into a permanently non-interactive/stuck state.
Troubleshooting already attempted
  • Fully quit Codex from the Windows system tray.
  • Reopened Codex.
  • Tried interacting with the pet again after restart.

Result: the pet remains stuck on the secondary monitor and still cannot be dragged back.

Suspected area

This appears more likely to be related to the Windows floating overlay than to the pet asset itself. Possible areas to investigate:

  • Per-monitor coordinate conversion
  • Negative / offset virtual-screen coordinates
  • DPI/scaling conversion between displays
  • Pointer hit-region calculation after crossing displays
  • Persisted pet position vs. persisted interactive-region position
  • Electron / native overlay input-shape synchronization
Related reports

This appears closely related to existing Windows pet overlay / multi-monitor bugs, including:

  • #21508 — pet overlay cannot be dragged on a secondary monitor
  • #42661 — pet input region is offset / click-through on Windows
  • #41513 — floating pets become click-through and cannot be dragged
  • #41506 — pet overlay ignores clicks/dragging while still rendering
  • #34227 — pet hit region desynchronizes from the visible mascot

GitHub's duplicate detector also suggested #42225, #42661, #42190, #42469, and #42061.

I am keeping this report open for now because my specific failure mode is that the pet is stranded on the secondary display and cannot be dragged back even after a full app quit/relaunch.

Additional context

A screenshot of the stuck pet was captured before filing this issue. The visible mascot is on the secondary display, but mouse dragging cannot move it.

If useful for debugging, I can add:

  • Codex Desktop version/build
  • Windows version/build
  • Primary and secondary monitor resolution
  • Display arrangement (left/right/above/below)
  • Scaling percentage for each monitor
  • Whether either monitor uses a negative virtual-screen coordinate

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Windows floating overlay and Electron/native overlay input-shape handling, focusing on per-monitor coordinate conversion, virtual-screen offsets, DPI scaling, and persisted pet position. Reproduce with an extended dual-monitor setup, then verify that the visible pet and interactive hit region remain aligned and draggable across displays after relaunch.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.