macOS: Annotation mode makes the cursor invisible on a localhost canvas app
What version of the Codex App are you using?
Codex Desktop 26.721.81911 (build 5973).
Bundled Codex Framework / Chromium: 150.0.7871.128.
A newer build (26.727.40816) had been downloaded but was not yet applied when these diagnostics were collected, so the observed build is the one listed above.
What subscription do you have?
ChatGPT-authenticated Codex Desktop session. Plan omitted from this public report.
What platform is your computer?
macOS 26.5.2 (build 25F84), Apple Silicon (arm64).
What issue are you seeing?
On a local web app at http://localhost:8088/, enabling the built-in browser's Annotation mode hides the native mouse cursor, but the blue/white replacement annotation cursor does not appear. The pointer is therefore completely invisible while it is over the page, making element and area targeting impractical.
The behavior has reproduced consistently for several days. Normal browsing mode restores the cursor.
The page is a normal DOM application with a large full-size <canvas> map. The page itself does not apply cursor: none, request Pointer Lock, or replace the document root.
Read-only inspection of the packaged annotation preload shows that Annotation mode intentionally injects cursor: none !important and is expected to render a custom cursor marked with data-browser-comment-annotation-selection-cursor. The native-cursor-hiding half is occurring, but the replacement cursor/layer is apparently not painting.
What steps can reproduce the bug?
- Open a local web app at
http://localhost:8088/in the Codex built-in browser. - Click Annotate.
- Move the mouse over the page, particularly over the large map canvas.
- Observe that the system cursor disappears and no annotation replacement cursor is visible.
- Exit Annotation mode; the normal cursor returns.
Relevant canvas styles:
#heatCanvas {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
cursor: grab;
touch-action: none;
}
The canvas uses setPointerCapture() only after a primary-button pointerdown; the disappearance occurs on hover before any canvas drag begins.
Expected behavior
When Annotation mode hides the native cursor, its custom annotation cursor should remain visible and follow the pointer so an element or rectangular area can be selected.
Actual behavior
The cursor is entirely invisible over the page. No page console errors or warnings appear, and the page does not contain a cursor: none rule.
Additional information
This may be a compositor/top-layer interaction involving the annotation popover/overlay and a full-size canvas rather than an application CSS issue.
Potentially related but not exact reports found during duplicate checking:
- #26325 — annotation mode loses focus when pressing Space
- #27268 — in-app browser cursor jitter on Windows
- #31454 — annotation overlay hit targets misaligned at browser zoom
No private logs, credentials, or application data are attached.
1 Comment
I have same problem now..
other website on in app browsers is fine