Command Reference
tauri-agent-tools provides 38 commands for inspecting, interacting with, monitoring, post-mortem analysis, and diagnosing Tauri applications. Inspection commands are read-only. Interaction commands are debug-only (require the dev bridge). Bridge-free diagnostics work on dead apps and release builds.
Command Summary
| Command | Bridge Required | Description |
|---|---|---|
screenshot |
Optional | Capture a screenshot of a window or DOM element |
dom |
Yes | Query DOM structure or accessibility tree |
eval |
Yes | Evaluate a JavaScript expression |
wait |
Optional | Wait for a condition to be met |
info |
No | Show window geometry and display server info |
list-windows |
No | List all visible windows, marking Tauri apps |
ipc-monitor |
Yes | Monitor Tauri IPC calls in real-time |
console-monitor |
Yes | Monitor console output in real-time |
rust-logs |
Yes | Monitor Rust backend logs and sidecar output |
storage |
Yes | Inspect localStorage, sessionStorage, and cookies |
page-state |
Yes | Query webview page state |
diff |
No | Compare two screenshots with difference metrics |
mutations |
Yes | Watch DOM mutations on a CSS selector |
snapshot |
Yes | Capture screenshot + DOM + page state + storage in one shot |
click |
Yes | Click a DOM element |
type |
Yes | Type text into an input |
scroll |
Yes | Scroll window or element |
focus |
Yes | Focus a DOM element |
navigate |
Yes | Navigate within the app |
select |
Yes | Select dropdown value or toggle checkbox |
invoke |
Yes | Invoke a Tauri IPC command |
probe |
Optional | Discover running bridges and check health; reports target.alive: false instead of erroring when none found |
capture |
Yes | Full debug evidence bundle |
check |
Yes | Structured assertions (exit 0/1) |
store-inspect |
Yes | Inspect reactive store state |
app-paths |
No | Resolve Tauri 2 OS data/log/cache/config dirs |
config inspect |
No | Snapshot tauri.conf.json + capability audit |
os-logs |
No | Tail host OS logs filtered to a bundle id |
sidecar tap |
No | Wrap a sidecar, frame stdout as NDJSON, validate |
sidecar replay |
No | Replay a recorded NDJSON stream; --tap-format unwraps tap wrapper rows, --dir in\|out filters by direction |
forensics |
No | Post-crash bundle (works on dead apps) |
logs |
Optional | Merge scattered app logs (on-disk + bridge ring buffer) into one timestamp-ordered stream; --follow tails the live bridge via v0.8 non-draining cursor reads (drain-polling fallback on older bridges) |
process-tree |
Yes (v0.7+) | Tauri PID + registered sidecars with liveness |
capabilities audit |
Yes (v0.7+) | Live capability audit (wildcards, over-broad scopes) |
webview attach |
Yes (v0.7+) | Webview inspector URL or platform hint |
health |
Yes (v0.7+) | Quick "is this app sick" check (CI-friendly) |
diagnose |
Optional | Best-effort super-command (forensics + bridge data) |
bundle |
Optional | Shareable incident archive: merged logs + process tree + app-paths + forensics (+ optional capture), redacted |
Categories
Visual Capture
- screenshot — capture full windows or specific DOM elements with real screen pixels
- diff — compare two screenshots with pixel-level difference metrics
- snapshot — capture screenshot + DOM tree + page state + storage in a single call
DOM Inspection
- dom — explore DOM tree structure, accessibility tree, computed styles
- eval — run arbitrary JS expressions in the webview (supports
--filefor loading from files)
Monitoring
- ipc-monitor — watch Tauri IPC calls with timing and filtering
- console-monitor — capture console.log/warn/error output
- rust-logs — monitor Rust tracing/log output and sidecar processes
- mutations — watch DOM mutations with attribute tracking
State Inspection
- storage — read localStorage, sessionStorage, and cookies
- page-state — URL, title, viewport, scroll position, Tauri detection
- store-inspect — inspect reactive store state (Pinia, Vue devtools, custom hooks)
Window Management
- info — window geometry, position, display server
- list-windows — enumerate windows with Tauri detection
- wait — poll for windows, DOM elements, or JS conditions
Interaction (debug-only)
- click — click, double-click, or right-click a DOM element
- type — type text into an input field (supports
--clear) - scroll — scroll by pixels, to top/bottom, or scroll an element into view
- focus — focus a DOM element
- navigate — navigate to a route or URL
- select — select a dropdown value or toggle a checkbox
- invoke — call a Tauri IPC command with JSON payload
Workflow
- probe — discover running bridges, check health, list window labels; when no bridge is discoverable and no explicit
--port/--token/--pidis given, emits a complete result withtarget.alive: falseand an actionable note instead of erroring - capture — collect screenshot + DOM + page state + storage + console errors + Rust logs into a bundle
- check — run structured assertions against DOM state (selector exists, text matches, no console errors)
Bridge-free diagnostics (new in 0.7)
Work without the dev bridge — for release builds, dead apps, and sidecar processes.
- app-paths — resolve a Tauri 2 app's OS data/log/cache/config directories from
tauri.conf.json - config inspect — emit a structured snapshot of
tauri.conf.jsonplus a capability/permission audit - os-logs — tail the host OS log stream filtered to a Tauri bundle id (NDJSON envelopes)
- sidecar tap — wrap-and-run a sidecar binary, frame its stdout as NDJSON, validate against an optional JSON Schema
- sidecar replay — replay a recorded NDJSON stream to stdout or into a fresh process;
--tap-formatunwraps{dir,ts,line}tap wrapper rows, optionally filtered by--dir in|out - forensics — one-shot bundle for post-crash analysis (composes the above; works on dead apps)
- logs — merge an app's scattered logs (on-disk
tauri-plugin-logfiles + the live bridge/logsring buffer) into one timestamp-ordered NDJSON stream, normalized to UTC; filter by--level/--source/--filterand--correlateto infer correlation ids (works with no bridge);--followtails the live bridge via v0.8 non-draining cursor reads, falling back to drain-polling on older bridges (--interval <ms>sets the fallback poll interval, default 2000)
Bridge-extending diagnostics (new in 0.7, requires bridge v0.7.0+)
Talk to new dev-bridge endpoints. Each feature-detects via GET /version and surfaces a clear upgrade error against older bridges.
- process-tree — Tauri PID + registered sidecars rendered as a tree
- capabilities audit — live audit of declared Tauri capabilities, flags wildcard and over-broad scopes
- webview attach — webview inspector URL or platform hint (
webview2,webkitgtk,wkwebview) - health — uptime + webview readiness + per-sidecar liveness; exits non-zero when unhealthy
Super-command
- diagnose — best-effort. Composes
forensicswith live bridge data when reachable; degrades cleanly when not. Mastersummary.mdincludes a "Next steps" section pointing at the right deeper command. - bundle — collect a shareable incident archive (merged
logs+ deepprocess-tree+app-paths+forensics, plus an optional UIcapture) into one directory and a.tar.gz. Secrets (tokens, API keys, passwords, JWTs, AWS keys) and PII (emails, IPs, phone numbers, home paths — including base64-encoded ones) are redacted from text artifacts on write; JSON/NDJSON artifacts are re-serialized so they stay parseable; unredacted images are flagged as warnings; each phase degrades cleanly.
Common Patterns
JSON output
All commands that produce structured output support --json:
tauri-agent-tools info --title "My App" --json
tauri-agent-tools dom --json
tauri-agent-tools storage --json
Bridge auto-discovery
Commands that need the bridge automatically discover it via token files in /tmp/. You can override with explicit flags:
Duration-based monitoring
Monitor commands accept --duration to auto-stop: