/ios-log
Stream and analyze logs from a USB-connected iOS device running Zedra.
$ npx -y skills add tanlethanh/zedra --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/ios-log
Context preview
What this command does when you run it.
Stream and analyze logs from a USB-connected iOS device running Zedra.
Command definition
ios-log.mdStream and analyze logs from a USB-connected iOS device running Zedra.
Run the script
./scripts/ios-log.sh tail [--filter <pattern>] [--select-device] [--simulator]
Physical devices stream via `idevicesyslog` over USB (no sudo required); `--simulator` streams a booted simulator via `simctl` instead.
- `--filter <pattern>` — extra grep pattern on top of the default Zedra filter
- `--select-device` — ignore saved device pref and re-prompt
- `--simulator` — target a booted simulator instead of a USB device
**Device preference** is one machine-global target (`/tmp/zedra-ios-device`, shared across checkouts, shared with `/ios-dev`, `devtool.sh`, `ios-log.sh daemon`). The script handles selection automatically — read the pref file, prompt if missing, save choice.
For background capture queryable by time range, see `./scripts/ios-log.sh daemon`/`query`/`wait`.
Log format
Rust logs via `IosLogger` (NSLog):
Mar 4 17:42:55 Zedra(Zedra.debug.dylib)[PID] <Notice>: [I zedra::module] message
Level prefix: `[I`=Info `[W`=Warn `[E`=Error `[D`=Debug `[T`=Trace
Crash analysis
Fetch crash report from device:
xcrun devicectl device copy from --device <UDID> \
"/var/mobile/Library/Logs/CrashReporter/" /tmp/ios-crashes/
# or:
/opt/homebrew/bin/idevicecrashreport -e /tmp/ios-crashes/
Early startup crashes (before NSLog is set up) — capture stderr directly:
xcrun devicectl device process launch --console --device <UDID> dev.zedra.app
Screenshot
/opt/homebrew/bin/idevicescreenshot /tmp/zedra-screen.png
Read more
Stream and analyze logs from a USB-connected iOS device running Zedra.
Run the script
./scripts/ios-log.sh tail [--filter <pattern>] [--select-device] [--simulator]
Physical devices stream via `idevicesyslog` over USB (no sudo required); `--simulator` streams a booted simulator via `simctl` instead.
- `--filter <pattern>` — extra grep pattern on top of the default Zedra filter
- `--select-device` — ignore saved device pref and re-prompt
- `--simulator` — target a booted simulator instead of a USB device
**Device preference** is one machine-global target (`/tmp/zedra-ios-device`, shared across checkouts, shared with `/ios-dev`, `devtool.sh`, `ios-log.sh daemon`). The script handles selection automatically — read the pref file, prompt if missing, save choice.
For background capture queryable by time range, see `./scripts/ios-log.sh daemon`/`query`/`wait`.
Log format
Rust logs via `IosLogger` (NSLog):
Mar 4 17:42:55 Zedra(Zedra.debug.dylib)[PID] <Notice>: [I zedra::module] message
Level prefix: `[I`=Info `[W`=Warn `[E`=Error `[D`=Debug `[T`=Trace
Crash analysis
Fetch crash report from device:
xcrun devicectl device copy from --device <UDID> \ "/var/mobile/Library/Logs/CrashReporter/" /tmp/ios-crashes/ # or: /opt/homebrew/bin/idevicecrashreport -e /tmp/ios-crashes/
Early startup crashes (before NSLog is set up) — capture stderr directly:
xcrun devicectl device process launch --console --device <UDID> dev.zedra.app
Screenshot
/opt/homebrew/bin/idevicescreenshot /tmp/zedra-screen.png
An experimental remote code editor on mobile with GPU-accelerated rendering powered by Zed's GPUI, P2P tunnel over QUIC/UDP by Iroh.
Repo: tanlethanh/zedra
Other commands on zedra.
- /android-build
Build the Rust libraries and install the APK to the connected Android device. Does NOT launch the app or monitor logs.
Open command - /android-dev
Build, install, launch, and monitor the Android app.
Open command - /android-log
Clear logcat and stream filtered logs from the running Android app.
Open command - /devtool
Drive the Zedra Android UI from the agent via the in-app GPUI devtool HTTP server.
Open command - /ios-dev
Build, install, launch, and monitor the iOS app on a connected device.
Open command - /perf-debug
Capture and analyze performance diagnostics from the running Android app.
Open command

