Logs and diagnostics
Application logs
Section titled “Application logs”Nerve application logging is disabled by default. Enable it under Settings → System → Diagnostics or override a launch with NERVE_LOGGING_ENABLED=1. Environment overrides appear as locked controls in Settings. When enabled, the Nerve Logs button and tab can filter, expand, copy, refresh, and prune application logs.
Desktop and daemon application logs are JSONL under <NERVE_HOME>/logs, including daily desktop files. Existing files are retained but are not read or appended while application logging is disabled.
Task tabs have separate streaming/backfilled terminal output and retention/truncation indicators. Task logs are not controlled by NERVE_LOGGING_ENABLED.
Crash diagnostics
Section titled “Crash diagnostics”Crash and Node diagnostic reports are under <NERVE_HOME>/crashes and remain enabled independently of application logging. The Diagnostic retention period under Settings → System → Diagnostics prunes old reports at daemon startup, and Settings → Storage → Clean up can remove all retained reports on demand.
The daemon writes structured reports for handled fatal errors, enables Node reports for runtime/native fatal conditions, and heartbeats its active root daemon.json lease. On the next start, a dead unclean lease can produce a fallback report.
There is no dedicated in-app crash-report list/download route. Inspect the directory directly and redact before sharing. Automatic retention is age-based; explore reports, cache, and temporary tool artifacts remain explicit manual cleanup targets to avoid disrupting linked or active work.
Developer performance diagnostics
Section titled “Developer performance diagnostics”Unpackaged source desktop launches (pnpm desktop) automatically write content-free 10-second process, event-loop, and subsystem activity samples to <NERVE_HOME>/logs/performance-<session-id>.jsonl. Each desktop launch gets a separate timestamped file shared with its owned daemon; daemon restarts during that launch remain in the same file. When CPU becomes high, note the time and ask the coding agent to inspect the recent samples. No alternate profile, ports, or launch flags are required.
Packaged/released Nerve does not enable performance sampling automatically. Configure it under Settings → System → Diagnostics. Unpackaged source launches use sampling as a fallback until a saved choice exists; NERVE_PERFORMANCE_DIAGNOSTICS=0 or 1 always overrides it. Samples remain local, contain no prompts or task output, and are never uploaded.
Proxy diagnostics
Section titled “Proxy diagnostics”Run with NERVE_DEBUG_PROXY=1 for redacted proxy configuration diagnostics. Redaction reduces obvious credential exposure but does not make complete logs safe to publish.
Collecting a report
Section titled “Collecting a report”Record Nerve version, operating system, launch command with tokens removed, relevant timestamps, current daemon mode, and the smallest log excerpt that shows the failure. Never include provider keys, OAuth codes, daemon tokens, private source, or token-bearing LAN URLs.