Unfault surfaces call paths, entry points, and gaps in safeguards — right where you're working. The goal is fewer surprises, not more noise.
- Context sidebar — see callers, routes, and SLOs linked to the function under your cursor
- CodeLens hints — compact summaries above functions showing usage and reachability
- Findings — optional diagnostics for missing timeouts, naive datetime usage, and similar patterns
- The CLI parses your code locally
- A semantic graph (imports, calls, entry points) is built
- Analysis runs against production-readiness signals
- Context appears in the sidebar and as code lenses
Your source stays on your machine. Only the derived graph is sent for analysis.
Install and authenticate the CLI: unfault.dev/docs/installation
Python · Go · Rust · TypeScript · JavaScript
| Setting | Description | Default |
|---|---|---|
unfault.executablePath |
Path to the CLI executable | unfault |
unfault.verbose |
Verbose LSP logging | false |
unfault.trace.server |
Trace LSP communication (off, messages, verbose) |
off |
unfault.codeLens.enabled |
Show code lens hints above functions | true |
unfault.codeLens.clickToOpen |
Click code lens to open sidebar | true |
unfault.diagnostics.enabled |
Show findings as squiggles | false |
unfault.diagnostics.minSeverity |
Minimum severity (critical, high, medium, low) |
high |
unfault.fault.executablePath |
Path to the fault CLI executable | fault |
unfault.fault.baseUrl |
Base URL used to build runnable route URLs | http://127.0.0.1:8000 |
CLI not found — add unfault to your PATH or set unfault.executablePath
No context showing — check Output → "Unfault LSP" for errors, confirm login succeeded
Source code never leaves your machine. See unfault.dev/privacy