Troubleshooting
Common issues and how to resolve them.
Enable Debug Logging
Get detailed logs to diagnose issues:
PITCHFORK_LOG=debug pitchfork supervisor start --force
pitchfork logs pitchforkTIP
The --force flag is needed to restart the supervisor with new log settings.
For even more detail:
PITCHFORK_LOG=trace pitchfork supervisor start --forceCommon Issues
Daemon Won't Start
Symptoms: pitchfork start fails or daemon immediately stops.
Check:
Verify the command works manually:
bashcd /path/to/project npm run server # or whatever your command isCheck daemon logs:
bashpitchfork logs myappCheck supervisor logs:
bashpitchfork logs pitchfork
Autostop Not Working
Symptoms: Daemons don't stop when leaving directory.
Check:
Verify shell hook is installed:
bash# For zsh, check ~/.zshrc contains: eval "$(pitchfork activate zsh)"Verify
autoincludes"stop":toml[daemons.api] auto = ["start", "stop"] # Must include "stop"Autostop has a delay. Wait a few seconds after leaving.
Other terminals in the same directory prevent autostop.
Supervisor Won't Start
Symptoms: Commands hang or fail to connect.
Check:
Kill any existing supervisor:
bashpitchfork supervisor stop # Or force kill pkill -f "pitchfork supervisor"Remove stale socket:
bashrm ~/.local/state/pitchfork/ipc/main.sockStart fresh:
bashpitchfork supervisor start
Port Already in Use
Symptoms: Web UI doesn't start, or daemon fails with port conflict.
For Web UI:
# Use a different port
PITCHFORK_WEB_PORT=8888 pitchfork supervisor start --forceFor your daemon: Check what's using the port:
lsof -i :3000 # Replace 3000 with your portReady Check Times Out
Symptoms: Daemon starts but pitchfork reports failure.
Solutions:
Increase the delay:
toml[daemons.api] ready_delay = 30 # Give more timeUse output pattern instead:
toml[daemons.api] ready_output = "listening on" # Wait for specific outputCheck your HTTP health endpoint:
bashcurl http://localhost:3000/health
State File Corruption
Symptoms: Strange behavior, daemons showing wrong status.
Fix:
Stop all daemons:
bashpitchfork supervisor stopRemove state file:
bashrm ~/.local/state/pitchfork/state.tomlStart fresh:
bashpitchfork start --all
Getting Help
If you're still stuck:
- Check the GitHub Issues
- Open a new issue with:
- Your pitchfork version (
pitchfork --version) - Your OS
- Debug logs (
PITCHFORK_LOG=debug) - Your
pitchfork.tomlconfiguration
- Your pitchfork version (
