simulator_get_logs
Query device logs using Apple’s unified logging system. You can narrow results by process, subsystem, log level, time range, and message content.Parameters
Filter by process name. For example,
"MyApp" or "SpringBoard".Filter by log subsystem. For example,
"com.apple.UIKit".Filter by log category.
Minimum log level. One of
debug, info, default, error, fault. Defaults to default.Time range to look back. Use relative durations like
"5m", "1h", "30s", or an ISO date string. Defaults to "1m".Only return log lines whose message contains this string.
Maximum number of log lines to return. Defaults to
100. The most recent lines are kept when the total exceeds the limit.Target device UDID or name. Defaults to the booted simulator.
Example
simulator_stream_logs
Start a live log stream and read from its buffer on demand. Uses a start/read/stop lifecycle so you can capture logs across a sequence of interactions.Parameters
Lifecycle command. One of:
"start"— begin streaming logs into a buffer"read"— return the current buffer contents"stop"— end the stream and discard the buffer
Filter streamed logs by process name.
Minimum log level. One of
debug, info, default, error, fault.Maximum lines to keep in the rolling buffer. Defaults to
200. Oldest lines are dropped when the buffer is full.Target device UDID or name. Defaults to the booted simulator.
Usage pattern
The
process parameter is part of the stream identity key. Use the same process value across start, read, and stop calls.simulator_get_app_container
Returns the absolute filesystem path to an app’s container directory. Use this to locate the app bundle, its private data sandbox, or a shared app group container.Parameters
The app’s bundle identifier, for example
"com.example.MyApp".Which container to resolve. One of:
"data"(default) — the app’s private data sandbox (/var/mobile/Containers/Data/...)"app"— the installed app bundle (.appdirectory)"groups"— shared app group containers
Target device UDID or name. Defaults to the booted simulator.
Example
simulator_list_app_files
List files inside an app’s data container. Explores up to 4 directory levels deep. Returns names, sizes, and permissions — useful for finding databases, plists, and cached files.Parameters
The app’s bundle identifier.
Subdirectory within the data container to list. For example,
"Documents", "Library/Preferences", or "Caches". Omit to list the entire container root.Target device UDID or name. Defaults to the booted simulator.
Example
simulator_read_app_file
Read a file from an app’s data container. Automatically handles different file types:- Plists — converted to JSON using
plutil - SQLite databases (
.sqlite,.db,.sqlite3) — returns table names andCREATEschema for each table - Text files — returned as plain text, truncated at 10,000 characters
Parameters
The app’s bundle identifier.
Path relative to the app’s data container root. For example:
"Documents/data.json""Library/Preferences/com.example.MyApp.plist""Library/Application Support/myapp.sqlite"
Target device UDID or name. Defaults to the booted simulator.
Example
simulator_get_crash_logs
Retrieve crash reports from~/Library/Logs/DiagnosticReports/. Each report includes the exception type, stack traces, and thread states — the same output you’d see in Xcode’s Crashes organizer.
Parameters
Filter reports by process or app name. Case-insensitive substring match.
Only include crashes on or after this ISO date. For example,
"2026-03-22".Maximum number of crash reports to return. Defaults to
5. Reports are sorted most-recent first.Target device UDID or name. Defaults to the booted simulator.
Example
simulator_diagnose
Generate a diagnostic summary of your simulator environment. Returns Xcode and toolchain versions, disk usage for all simulator data, and details about every currently booted device.Parameters
Target device UDID or name. Defaults to the booted simulator.
Example output
simulator_accessibility_audit
Capture the full iOS accessibility tree for the current simulator screen. Returns every accessible element with its role, label, value, position, and size. When idb is installed, this tool usesidb describe-all to return real native UIKit elements (UIButton, UILabel, etc.). Without idb, it falls back to a 4-level AppleScript traversal of the Simulator window hierarchy.
Parameters
Target device UDID or name. Defaults to the booted simulator.
Example output
simulator_describe_point
Return the accessibility element located at a specific coordinate on the simulator screen. Useful for checking what’s at a particular point before tapping, or for verifying tap targets.This tool requires idb to be installed. Without idb it will return an installation prompt.
Parameters
X coordinate in simulator screen points.
Y coordinate in simulator screen points.
Target device UDID or name. Defaults to the booted simulator.
Example
Debugging Workflow
A common debugging workflow goes from crash report to logs to file inspection to environment diagnostics.Check for crash reports
Start by looking for recent crashes. Filter by your app’s process name to narrow results:The output includes the exception type, fault address, and a full stack trace for each thread.
Query device logs around the crash time
Use the crash timestamp from the report to pull logs for the minutes before it occurred:Add
messageContains to filter for a specific error message you spotted in the crash report:Inspect app data files
If the crash involves persistence, browse the data container and read the relevant database or plist:
Run a full diagnostic
Confirm your Xcode version and check disk usage — simulator data can grow large and cause unexpected failures:
