You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
snapshot_ui 'No translation object returned' persists across reboots on iOS 26.5 — root cause is a wedged host CoreSimulatorBridge; kill -9 fixes it #458
snapshot_ui / axe describe-ui returns Error: No translation object returned for simulator. This means you have likely specified a point onscreen that is invalid or invisible due to a fullscreen dialog on every call, for ~40 minutes across multiple shutdown+boot cycles, on a booted iOS 26.5 simulator where the app and SpringBoard are visibly healthy (screenshots work fine the whole time).
The documented recovery in the AXe skill / #290 (shutdown+boot, wait past the ~5–30s AX-daemon warmup window, use a fresh simulator) did not help. The actual root cause turned out to be a wedged host CoreSimulatorBridge process, and the fix is to kill it so it respawns:
pgrep -f "/usr/libexec/CoreSimulatorBridge"| xargs kill -9
sleep 2
axe describe-ui --udid <UDID># immediately returns a full tree again
After the kill -9, describe-ui / snapshot_ui returned a correct hierarchy on the very next call and stayed reliable for the rest of a long session (hundreds of subsequent taps/snapshots). No reboot, no data wipe, no fresh simulator needed.
This looks like the "different bug" the maintainer explicitly invited a reproduction of in #290:
If you ever see the empty hierarchy persist longer than ~30 s on a freshly-booted sim, that would be a different bug than the one #312 was trying to address; we'd be interested in a reproduction.
One nuance vs #290: the symptom here is the point-only error string (No translation object returned…), i.e. describe-ui errors out — not the CGRectZero + children: [] empty-AXApplication tree that #290 describes. Both appear to stem from the CoreSimulator XPC translation path, but this one is the host broker (CoreSimulatorBridge) being stuck rather than the in-sim AX daemon not being ready yet.
Reproduction / diagnosis notes
It began after heavy host CPU contention (an unrelated mediaanalysisd inside the sim runtime was pegged >500% CPU on first boot). Reboots did not clear the wedged bridge.
pgrep -f CoreSimulatorBridge showed a long-lived bridge PID; kill -9-ing it (it auto-respawns via launchd) fixed AX translation instantly.
Suggestion
When describe-ui returns No translation object returned… (or the CGRectZero/empty-children tree) and a reboot hasn't cleared it, consider detecting/kill-ing a stale CoreSimulatorBridge as a remediation step (or at least surfacing it in the error's recovery hint), since shutdown+boot alone does not always restart/rebind that host broker.
Environment
XcodeBuildMCP: 2.6.2 (bundled AXe 1.7.1)
Xcode: 26.5 (17F42)
macOS: 26.5.1 (25F80), Apple Silicon
Simulator: iPhone 17 Pro, iOS 26.5 (23F77)
Client: Claude Code (agent-driven snapshot_ui/tap)
Summary
snapshot_ui/axe describe-uireturnsError: No translation object returned for simulator. This means you have likely specified a point onscreen that is invalid or invisible due to a fullscreen dialogon every call, for ~40 minutes across multipleshutdown+bootcycles, on a booted iOS 26.5 simulator where the app and SpringBoard are visibly healthy (screenshots work fine the whole time).The documented recovery in the AXe skill / #290 (shutdown+boot, wait past the ~5–30s AX-daemon warmup window, use a fresh simulator) did not help. The actual root cause turned out to be a wedged host
CoreSimulatorBridgeprocess, and the fix is to kill it so it respawns:After the
kill -9,describe-ui/snapshot_uireturned a correct hierarchy on the very next call and stayed reliable for the rest of a long session (hundreds of subsequent taps/snapshots). No reboot, no data wipe, no fresh simulator needed.This looks like the "different bug" the maintainer explicitly invited a reproduction of in #290:
One nuance vs #290: the symptom here is the point-only error string (
No translation object returned…), i.e.describe-uierrors out — not theCGRectZero+children: []empty-AXApplicationtree that #290 describes. Both appear to stem from the CoreSimulator XPC translation path, but this one is the host broker (CoreSimulatorBridge) being stuck rather than the in-sim AX daemon not being ready yet.Reproduction / diagnosis notes
mediaanalysisdinside the sim runtime was pegged >500% CPU on first boot). Reboots did not clear the wedged bridge.shutdown+boot), across a wait well beyond 30s, and it failed identically in Apple's own Settings.app on the same sim (confirming host/sim-wide, not app-specific) — matching describe-ui returns empty hierarchy on iOS 26+ simulators — auto-enable accessibility defaults #290's triage steps.pgrep -f CoreSimulatorBridgeshowed a long-lived bridge PID;kill -9-ing it (it auto-respawns via launchd) fixed AX translation instantly.Suggestion
When
describe-uireturnsNo translation object returned…(or theCGRectZero/empty-children tree) and a reboot hasn't cleared it, consider detecting/kill-ing a staleCoreSimulatorBridgeas a remediation step (or at least surfacing it in the error's recovery hint), sinceshutdown+bootalone does not always restart/rebind that host broker.Environment
2.6.2(bundled AXe1.7.1)26.5(17F42)26.5.1(25F80), Apple Silicon23F77)snapshot_ui/tap)Related: #290, #408