Troubleshooting
Troubleshooting¶
Common configuration issues and their solutions.
Configuration File Issues¶
"Configuration file not found"¶
Symptoms:
Causes:
- Config file doesn't exist
- Wrong file extension (.yaml instead of .yml, or .toml instead of .yml)
- File is in the wrong location
Solutions: 1. Create the file:
-
Check file extension:
-
Verify location:
"Invalid YAML syntax"¶
Symptoms:
Causes:
- Incorrect indentation (must use 2 spaces, no tabs)
- Missing space after colon (key:value instead of key: value)
- Unquoted strings with special characters
- Mixing TOML and YAML syntax
Solutions: 1. Check indentation (must be 2 spaces):
-
Add space after colons:
-
Quote strings with special characters:
-
Use a YAML validator:
"Unknown field in configuration"¶
Symptoms:
Causes: - Typo in field name - Using deprecated field name - Field from old TOML format
Solutions: 1. Check spelling against Global Configuration Structure or Project Configuration Structure
-
Remove deprecated fields:
-
Update field names from old versions
Environment Variable Issues¶
"Environment variable not resolving"¶
Symptoms:
Causes: - Variable not defined in any configuration source - Incorrect variable syntax in workflow - Profile not activated
Solutions: 1. Check variable is defined:
-
Use correct syntax:
-
Activate profile if using profile-specific values:
-
Check precedence chain: Step env > Profile env > Workflow env > System env
"Secret not being masked in logs"¶
Symptoms:
Causes:
- Secret not marked with secret: true in workflow env block
- Using system env vars (not masked automatically)
Solutions:
Note: Only workflow env vars marked as secret: true are masked. System environment variables are not automatically masked.
Storage Issues¶
"Storage directory not writable"¶
Symptoms:
Causes:
- Insufficient permissions on ~/.prodigy directory
- Directory owned by different user
- Disk full
Solutions: 1. Check permissions:
-
Fix ownership:
-
Check disk space:
"Failed to acquire storage lock"¶
Symptoms:
Causes: - Another Prodigy process holding the lock - Stale lock from crashed process - File locking disabled but concurrent access occurring
Solutions: 1. Check for running processes:
-
Remove stale lock (if no processes running):
-
Wait for lock release (if process is running)
-
Disable locking temporarily (not recommended for production):
Workflow Configuration Issues¶
"Workflow variables not interpolating"¶
Symptoms:
Causes: - Incorrect variable syntax - Variable not defined in workflow or config - Using project config variables instead of workflow env
Solutions: 1. Use correct syntax:
# ✓ Workflow env vars
env:
PROJECT_NAME: myapp
commands:
- shell: "echo ${PROJECT_NAME}"
# ✗ Project config variables (different namespace)
# .prodigy/config.yml
variables:
PROJECT_NAME: myapp # Not available in workflows
-
Define variable in workflow
env:block or as system env -
Check variable exists:
"MapReduce items not found"¶
Symptoms:
Causes: - Incorrect JSONPath expression - Input file not generated in setup phase - JSON structure doesn't match path
Solutions: 1. Validate JSONPath:
-
Check setup phase output:
-
Test JSONPath expression:
"Validation always fails"¶
Symptoms:
Causes: - Threshold set too high (default: 100) - Validation command not returning expected format - Expected schema mismatch
Solutions: 1. Adjust threshold:
-
Check validation output format:
-
Test validation command manually:
API and Authentication Issues¶
"Claude API key not recognized"¶
Symptoms:
Causes: - API key not set - Key set in wrong location - Invalid key format - Key expired or revoked
Solutions: 1. Check key is set (precedence order):
# Highest precedence: Environment variable
echo $PRODIGY_CLAUDE_API_KEY
# Project config
grep claude_api_key .prodigy/config.yml
# Global config
grep claude_api_key ~/.prodigy/config.yml
-
Verify key format (should start with
sk-ant-): -
Use environment variable (recommended):
-
Verify key is valid at Anthropic Console
Performance Issues¶
"Workflow running slowly"¶
Causes: - Excessive parallelism exhausting resources - Large work items in MapReduce - Slow validation commands
Solutions: 1. Reduce parallelism:
-
Add timeout limits:
-
Enable caching (if available):
"Storage growing too large"¶
Causes: - Old events and DLQ data accumulating - Large checkpoint files - No compression enabled
Solutions: 1. Clean up old data:
# Remove old events (older than 30 days)
find ~/.prodigy/events -type f -mtime +30 -delete
# Clean DLQ for completed jobs
prodigy dlq clean --completed
-
Enable compression:
-
Reduce file retention:
Debugging Tools¶
Check Effective Configuration¶
View the merged configuration from all sources:
Verbose Logging¶
Enable detailed logging:
# Verbose mode (shows Claude streaming)
prodigy run workflow.yml -v
# Debug mode (shows variable resolution)
prodigy run workflow.yml -vv
# Trace mode (shows all internal operations)
prodigy run workflow.yml -vvv
Or set log level in config:
Validate Configuration Files¶
# Validate YAML syntax
yamllint ~/.prodigy/config.yml
yamllint .prodigy/config.yml
# Validate workflow syntax
prodigy validate workflow.yml
Check Claude Logs¶
View Claude execution logs for debugging:
# Latest log
prodigy logs --latest
# Tail live log
prodigy logs --latest --tail
# View specific log
cat ~/.local/state/claude/logs/session-abc123.json | jq
Common Error Messages¶
| Error Message | Likely Cause | Solution |
|---|---|---|
| "Configuration file not found" | Missing config file | Create ~/.prodigy/config.yml or .prodigy/config.yml |
| "Invalid YAML syntax" | Syntax error in YAML | Check indentation, colons, quotes |
| "Unknown field" | Typo or deprecated field | Check docs for correct field names |
| "Variable not found" | Undefined variable | Define in workflow env: or system env |
| "Storage lock timeout" | Concurrent access | Wait or remove stale lock |
| "Permission denied" | Insufficient permissions | Fix ownership/permissions on ~/.prodigy |
| "JSONPath not found" | Wrong path or missing data | Verify JSON structure and path |
| "API key invalid" | Wrong or expired key | Check key format and validity |
Getting Help¶
If you can't resolve an issue:
- Check logs: Use
-vvvfor maximum verbosity - Verify config: Run
prodigy config show - Check docs: See Configuration Structure and Workflow Basics
- File an issue: Prodigy GitHub Issues with:
- Error message (redact secrets)
- Relevant config snippets
- Prodigy version (
prodigy --version) - Operating system