Debugging options
Nuclei provides several debugging flags to help you understand what’s happening during scans.Template debugging flags
-debug
-debug
Prints all requests sent and responses received:Use this when templates aren’t matching as expected.
-debug-req
-debug-req
Prints only the requests being sent:Useful for verifying request format and payloads.
-debug-resp
-debug-resp
Prints only the responses received:Useful for inspecting response content and matchers.
-svd (show variable dump)
-svd (show variable dump)
Prints all variables pre- and post-execution:Essential for debugging variable substitution and extractors.
-ldf (list DSL functions)
-ldf (list DSL functions)
Lists all available helper functions:Reference for template development.
-elog (error log)
-elog (error log)
Logs all errors to a file:Helpful for large scans to track errors.
Verbose output
Environment variables
Nuclei supports environment variable switches for advanced debugging:| Environment Variable | Description |
|---|---|
DEBUG=true | Enables printing stack traces for all errors |
SHOW_DSL_ERRORS=true | Enables printing DSL errors (hidden by default) |
HIDE_TEMPLATE_SIG_WARNING=true | Hides template signature verification warnings |
NUCLEI_LOG_ALL=true | Log all events that were skipped in verbose mode |
NUCLEI_CONFIG_DIR | Sets custom configuration directory path |
NUCLEI_TEMPLATES_DIR | Sets custom nuclei templates directory path |
Usage examples
Common issues
Templates not matching
Templates execute but don't find anything
Templates execute but don't find anything
Symptoms: Nuclei runs successfully but reports no findings when vulnerabilities should exist.Diagnosis:Common causes:
- Matchers too strict or incorrect
- Target behavior different than expected
- Variables not properly resolved
- Path/URL construction issues
- Review matcher conditions with
-debug - Check variable values with
-svd - Validate template syntax with
nuclei -validate -t template.yaml - Test against known vulnerable target
Template validation fails
Template validation fails
Symptoms: Template fails validation check.Common causes:
- YAML syntax errors
- Missing required fields
- Invalid field values
- Unsupported template features
Connection issues
Connection timeouts
Connection timeouts
Symptoms: Scans fail with timeout errors.Solutions:
SSL/TLS errors
SSL/TLS errors
Symptoms: Certificate validation errors or TLS handshake failures.Solutions:
DNS resolution failures
DNS resolution failures
Symptoms: Cannot resolve hostnames.Solutions:
Performance issues
Scans running too slow
Scans running too slow
Symptoms: Scans take excessively long to complete.Solutions:
Memory issues
Memory issues
Symptoms: High memory usage or out-of-memory errors.Solutions:
Template execution issues
Variables not resolved
Variables not resolved
Symptoms: Variables show as Common causes:
{{variable}} in requests.Diagnosis:- Variable not defined in template
- Extractor not capturing expected value
- Typo in variable name
- Variable scope issues in workflows
- Check variable definitions and extractors
- Verify extractor regex patterns
- Use
-svdto inspect variable values
Interactsh not working
Interactsh not working
Symptoms: OOB (Out-of-Band) detection templates not working.Solutions:
Template signature warnings
Template signature warnings
Symptoms: Warnings about unsigned templates.Solutions:
Input/target issues
No templates found
No templates found
Symptoms: Nuclei reports no templates loaded.Diagnosis:Solutions:
Targets not being scanned
Targets not being scanned
Symptoms: Some targets in list are skipped.Solutions:
Advanced debugging
Network debugging
Proxy debugging
Proxy debugging
Route Nuclei traffic through a proxy for detailed inspection:
Request tracing
Request tracing
Save all requests to a trace log:
Performance profiling
Health check
Getting help
Discord community
Get help from the community
GitHub issues
Report bugs and request features
GitHub discussions
Ask questions and share ideas
Documentation
Browse the full documentation