Crash diagnostics
AI-analyzed crash reports, surfaced via percher_doctor mode=runtime
Crash detection always runs. A basic report is created for a crash. The optional AI explanation is disabled by default; enable it in app settings only when you want redacted logs sent to Anthropic Claude for deeper analysis.
Once enabled: when your app crashes, Percher collects logs, redacts secrets, and runs AI analysis with Anthropic Claude to explain what went wrong. OpenRouter is withdrawn and is not a fallback. Crash reports appear as a banner on your app's dashboard page with a copy-paste fix prompt you can hand to your AI assistant.
The watchdog monitors Docker container events in real time. If your app exits with a non-zero code, it queues a report within seconds. OOM kills (exit code 137) are flagged with a deterministic memory-limit explanation even when AI is off. AI analyses are limited to three completed analyses per app per hour; later crashes still get a basic report.
For AI assistants with MCP: use percher_doctor with mode="runtime" to fetch the latest crash report directly in chat — the response's recovery.prompt includes the AI-generated explanation, suggested fix, and log tail (the same payload the older diagnose tool returned). Doctor is the single recovery hub on the MCP surface. Stale reports (>24h old) on apps that have recovered are filtered out so the assistant doesn't surface irrelevant advice.