[bug] Codex pet speech bubbles render as checkerboard blocks and clipped text
What version of Codex CLI is running?
codex-cli 0.148.0
What subscription do you have?
Enterprise
Which model were you using?
_No response_
What platform is your computer?
Darwin 25.5.0 arm64 arm
What terminal emulator and version are you using (if applicable)?
Superset
Codex doctor report
{
"schemaVersion": 1,
"generatedAt": "[REDACTED]",
"overallStatus": "warning",
"codexVersion": "0.149.0",
"checks": {
"app_server.status": {
"id": "app_server.status",
"category": "app-server",
"status": "ok",
"summary": "background server is not running",
"details": {
"control socket": "[REDACTED]",
"daemon state dir": "[REDACTED]",
"mode": "ephemeral",
"pid file": "[REDACTED]",
"settings": "[REDACTED]",
"status": "not running",
"update-loop pid file": "[REDACTED]"
},
"remediation": null,
"durationMs": 0
},
"auth.credentials": {
"id": "auth.credentials",
"category": "auth",
"status": "ok",
"summary": "auth is configured",
"details": {
"auth file": "[REDACTED]",
"auth storage mode": "File",
"stored API key": "false",
"stored ChatGPT tokens": "true",
"stored agent identity": "false",
"stored auth mode": "chatgpt"
},
"remediation": null,
"durationMs": 0
},
"config.load": {
"id": "config.load",
"category": "config",
"status": "ok",
"summary": "config loaded",
"details": {
"CODEX_HOME": "[REDACTED]",
"config.toml": "[REDACTED]",
"config.toml parse": "ok",
"cwd": "[REDACTED]",
"enabled feature flags": "[REDACTED]",
"feature flag overrides": "[REDACTED]",
"feature flags enabled": "[REDACTED]",
"log dir": "[REDACTED]",
"mcp servers": "[REDACTED]",
"model": "[REDACTED]",
"model provider": "[REDACTED]",
"sqlite home": "[REDACTED]"
},
"remediation": null,
"durationMs": 0
},
"desktop.app.version": {
"id": "desktop.app.version",
"category": "desktop",
"status": "ok",
"summary": "the desktop application is installed",
"details": {
"log directory": "[REDACTED]",
"running": "false",
"version": "[REDACTED]"
},
"remediation": null,
"durationMs": 0
},
"desktop.app_server.handshake": {
"id": "desktop.app_server.handshake",
"category": "desktop",
"status": "ok",
"summary": "the desktop application is not running",
"details": {},
"remediation": null,
"durationMs": 0
},
"desktop.security.enforcement": {
"id": "desktop.security.enforcement",
"category": "desktop",
"status": "ok",
"summary": "the desktop application passed available security assessments",
"details": {
"gatekeeper": "accepted"
},
"remediation": null,
"durationMs": 0
},
"git.environment": {
"id": "git.environment",
"category": "git",
"status": "ok",
"summary": "git version detected",
"details": {
".git entry": "directory",
"PATH git #1": "[REDACTED]",
"PATH git #2": "[REDACTED]",
"PATH git entries": "[REDACTED]",
"git branch": "[REDACTED]",
"git build options": "[REDACTED]",
"git exec path": "[REDACTED]",
"git version": "[REDACTED]",
"repo detected": "true",
"repo root": "[REDACTED]",
"selected git": "[REDACTED]"
},
"remediation": null,
"durationMs": 39
},
"installation": {
"id": "installation",
"category": "install",
"status": "ok",
"summary": "installation looks consistent",
"details": {
"PATH codex #1": "[REDACTED]",
"PATH codex #2": "[REDACTED]",
"PATH codex entries": "[REDACTED]",
"current executable": "[REDACTED]",
"install context": "[REDACTED]",
"managed by bun": "false",
"managed by npm": "false",
"managed by pnpm": "false",
"managed package root": "[REDACTED]"
},
"remediation": null,
"durationMs": 5
},
"mcp.config": {
"id": "mcp.config",
"category": "mcp",
"status": "ok",
"summary": "MCP configuration is locally consistent",
"details": {
"configured servers": "[REDACTED]",
"disabled servers": "[REDACTED]",
"stdio servers": "[REDACTED]",
"streamable_http servers": "[REDACTED]"
},
"remediation": null,
"durationMs": 3331
},
"network.env": {
"id": "network.env",
"category": "network",
"status": "ok",
"summary": "network-related environment looks readable",
"details": {
"SSL_CERT_FILE": "[REDACTED]",
"managed proxy": "not configured",
"proxy env vars": "none",
"respect system proxy": "disabled",
"system proxy": "direct"
},
"remediation": null,
"durationMs": 1
},
"network.provider_reachability": {
"id": "network.provider_reachability",
"category": "reachability",
"status": "ok",
"summary": "active provider endpoints are reachable over HTTP",
"details": {
"ChatGPT inference URL": "[REDACTED]",
"desktop assets CDN": "[REDACTED]",
"reachability mode": "[REDACTED]"
},
"remediation": null,
"durationMs": 302
},
"network.websocket_reachability": {
"id": "network.websocket_reachability",
"category": "websocket",
"status": "ok",
"summary": "Responses WebSocket handshake succeeded",
"details": {
"DNS": "[REDACTED]",
"auth mode": "[REDACTED]",
"connect timeout": "[REDACTED]",
"endpoint": "[REDACTED]",
"handshake result": "HTTP 101 Switching Protocols",
"model provider": "[REDACTED]",
"provider name": "[REDACTED]",
"proxy env vars": "none",
"reasoning header": "false",
"server model present": "false",
"supports websockets": "true",
"wire API": "responses"
},
"remediation": null,
"durationMs": 865
},
"runtime.provenance": {
"id": "runtime.provenance",
"category": "runtime",
"status": "ok",
"summary": "runtime detected",
"details": {
"commit": "[REDACTED]",
"current executable": "[REDACTED]",
"install method": "[REDACTED]",
"platform": "[REDACTED]",
"version": "0.149.0"
},
"remediation": null,
"durationMs": 0
},
"runtime.search": {
"id": "runtime.search",
"category": "search",
"status": "ok",
"summary": "search is OK",
"details": {
"search command": "[REDACTED]",
"search command readiness": "file exists",
"search provider": "bundled"
},
"remediation": null,
"durationMs": 0
},
"sandbox.helpers": {
"id": "sandbox.helpers",
"category": "sandbox",
"status": "ok",
"summary": "sandbox configuration is readable",
"details": {
"approval policy": "[REDACTED]",
"codex-linux-sandbox helper": "none",
"execve wrapper helper": "[REDACTED]",
"filesystem sandbox": "[REDACTED]",
"network sandbox": "[REDACTED]"
},
"remediation": null,
"durationMs": 0
},
"security.endpoint": {
"id": "security.endpoint",
"category": "security",
"status": "warning",
"summary": "endpoint protection detected; Codex exclusions are unverified",
"details": {
"Codex exclusions": "not verified",
"endpoint products": "[REDACTED]",
"exclusion targets": "[REDACTED]"
},
"issues": [
{
"severity": "warning",
"cause": "endpoint protection may interfere with Codex",
"measured": "not verified",
"expected": "Codex application and helper exclusions",
"remedy": "[REDACTED]",
"fields": [
"Codex exclusions"
]
}
],
"remediation": "[REDACTED]",
"durationMs": 35
},
"state.paths": {
"id": "state.paths",
"category": "state",
"status": "ok",
"summary": "state paths and databases are inspectable",
"details": {
"CODEX_HOME": "[REDACTED]",
"active rollout files": "[REDACTED]",
"archived rollout files": "[REDACTED]",
"goals DB": "[REDACTED]",
"goals DB integrity": "ok",
"log DB": "[REDACTED]",
"log DB integrity": "ok",
"log dir": "[REDACTED]",
"memories DB": "[REDACTED]",
"memories DB integrity": "ok",
"queue DB": "[REDACTED]",
"queue DB integrity": "ok",
"sqlite home": "[REDACTED]",
"state DB": "[REDACTED]",
"state DB integrity": "ok",
"thread history DB": "[REDACTED]",
"thread history DB integrity": "ok"
},
"remediation": null,
"durationMs": 2930
},
"state.rollout_db_parity": {
"id": "state.rollout_db_parity",
"category": "threads",
"status": "warning",
"summary": "rollout files and state DB thread inventory differ",
"details": {
"default model provider": "[REDACTED]",
"rollout DB active files": "[REDACTED]",
"rollout DB active rows": "[REDACTED]",
"rollout DB archive mismatches": "[REDACTED]",
"rollout DB archived files": "[REDACTED]",
"rollout DB archived rows": "[REDACTED]",
"rollout DB duplicate DB paths": "[REDACTED]",
"rollout DB duplicate rollout thread ids": "[REDACTED]",
"rollout DB malformed file names": "[REDACTED]",
"rollout DB missing active rows": "[REDACTED]",
"rollout DB missing archived rows": "[REDACTED]",
"rollout DB missing archived sample": "[REDACTED]",
"rollout DB model providers": "[REDACTED]",
"rollout DB rows": "[REDACTED]",
"rollout DB scan cap reached": "false",
"rollout DB scan errors": "[REDACTED]",
"rollout DB sources": "[REDACTED]",
"rollout DB stale rows": "[REDACTED]"
},
"issues": [
{
"severity": "warning",
"cause": "rollout files are missing from the state DB",
"measured": "[REDACTED]",
"expected": "every rollout file has a matching threads row",
"remedy": null,
"fields": []
}
],
"remediation": null,
"durationMs": 855
},
"system.disk": {
"id": "system.disk",
"category": "disk",
"status": "ok",
"summary": "sufficient free disk space",
"details": {
"CODEX_HOME available": "[REDACTED]",
"failure threshold": "[REDACTED]",
"warning threshold": "[REDACTED]",
"worktree available": "[REDACTED]"
},
"remediation": null,
"durationMs": 0
},
"system.environment": {
"id": "system.environment",
"category": "system",
"status": "ok",
"summary": "OS environment detected",
"details": {
"EDITOR": "not set",
"LANG": "[REDACTED]",
"LESS": "set",
"PAGER": "set",
"VISUAL": "not set",
"os": "[REDACTED]",
"os language": "[REDACTED]",
"os type": "[REDACTED]",
"os version": "[REDACTED]"
},
"remediation": null,
"durationMs": 7
},
"terminal.env": {
"id": "terminal.env",
"category": "terminal",
"status": "ok",
"summary": "terminal metadata was detected",
"details": {
"COLORTERM": "[REDACTED]",
"TERM_PROGRAM": "[REDACTED]",
"color output": "enabled",
"effective locale": "[REDACTED]",
"stderr is terminal": "true",
"stdin is terminal": "true",
"stdout is terminal": "true",
"terminal": "[REDACTED]",
"terminal size": "[REDACTED]",
"terminal version": "[REDACTED]"
},
"remediation": null,
"durationMs": 0
},
"terminal.title": {
"id": "terminal.title",
"category": "title",
"status": "ok",
"summary": "terminal title default",
"details": {
"terminal title activity": "true",
"terminal title items": "[REDACTED]",
"terminal title project source": "[REDACTED]",
"terminal title project value": "[REDACTED]",
"terminal title source": "default"
},
"remediation": null,
"durationMs": 0
},
"updates.status": {
"id": "updates.status",
"category": "updates",
"status": "ok",
"summary": "update configuration is locally consistent",
"details": {
"cached latest version": "0.149.0",
"check for update on startup": "true",
"last checked at": "[REDACTED]",
"latest version": "0.149.0",
"latest version status": "current version is not older",
"update action": "[REDACTED]",
"version cache": "[REDACTED]"
},
"remediation": null,
"durationMs": 294
}
}
}
What issue are you seeing?
Where did this happen?
Desktop app (macOS)
Version
Superset Desktop 1.9.7 (same environment as my previous rendering report; please update if needed)
What happened?
When running Codex in Superset, Codex pet status/speech bubbles do not render correctly. The bubble regions appear as large gray checkerboard/transparent blocks, while the text is missing or only partially visible. In another state, the pet itself renders but the adjacent bubble/card is clipped.
The screenshots show two related states:
- Bubble rows render as checkerboard rectangles with no readable text.
- The Codex pet renders at the lower-right, but the surrounding bubble/card content is clipped or absent.
Expected: the pet and its activity/speech bubbles should render as normal readable UI, with the bubble sized and positioned to keep the full text visible.
Actual: the bubble compositor appears to expose a checkerboard/transparent region and clips or drops the text.
The issue is not necessarily deterministic on every launch, but when it occurs the bubble remains malformed while the underlying Codex session continues working.
Environment
- Shell: /bin/zsh
- Superset surface: Desktop app, built-in terminal
Related upstream reports
This appears correlated with known Codex Desktop pet overlay issues:
- https://github.com/openai/codex/issues/21501
- https://github.com/openai/codex/issues/20831
- https://github.com/openai/codex/issues/21088
Those reports describe position-dependent clipping, missing bubble text, and overlay compositing failures on macOS.
Logs, screenshots, or recordings
<img width="328" height="550" alt="Image" src="https://github.com/user-attachments/assets/30d363af-3fda-4d51-a8a0-74e8ffb3b5ec" />
<img width="338" height="1132" alt="Image" src="https://github.com/user-attachments/assets/f4918905-1556-442a-84f3-5c214e1a2463" />
<img width="416" height="896" alt="Image" src="https://github.com/user-attachments/assets/fa166115-e318-4a8b-84d1-1113d25d344c" />
What steps can reproduce the bug?
Steps to reproduce
- Open Superset Desktop on macOS.
- Open a workspace and run/start a Codex session in the built-in terminal.
- Enable or wake the Codex pet/activity overlay.
- Let Codex produce status/activity text, or move the overlay near an edge / across the window.
- Observe the pet bubble/card.
What is the expected behavior?
_No response_
Additional information
Link to issue opened on superset, seems like a bug within the codex CLI rendering:
https://github.com/superset-sh/superset/issues/6255#issuecomment-5278045520