Troubleshooting Guide
This guide helps diagnose and resolve common issues with spuff.
Quick Diagnostics
# Check spuff version
spuff --version
# Check current status
spuff status
# Check with debug logging
RUST_LOG=debug spuff status
# Check local state
sqlite3 ~/.spuff/state.db "SELECT * FROM instances;"SSH Issues
"Permission denied (publickey)"
Symptoms:
Causes & Solutions:
SSH key not in agent
Wrong key configured
Key not uploaded to provider
Go to DigitalOcean dashboard
Settings > Security > SSH Keys
Add your public key:
cat ~/.ssh/id_ed25519.pub
Key permissions wrong
"Connection refused" on port 22
Symptoms:
Causes & Solutions:
VM still booting
Wait a few more seconds
SSH service starts after cloud-init user creation
Firewall blocking
Check provider firewall/security groups
Ensure port 22 is open
Instance not running
"Host key verification failed"
Symptoms:
Cause: Previous VM had same IP, different host key.
Solution:
SSH key requires passphrase
Symptoms:
Solution:
VM Creation Issues
"API token not configured"
Symptoms:
Solution:
"Invalid region"
Symptoms:
Solution:
"Quota exceeded"
Symptoms:
Solutions:
Destroy existing instances:
spuff down --forceRequest quota increase from provider
Check for orphaned instances in provider dashboard
"SSH key not found"
Symptoms:
Cause: Public key not registered with cloud provider.
Solution:
Copy public key:
cat ~/.ssh/id_ed25519.pubAdd to provider:
DigitalOcean: Settings > Security > SSH Keys > Add SSH Key
Cloud-Init Issues
Bootstrap never completes
Symptoms:
spuff agent statusshowsbootstrap_status: runningforeverCan SSH in but tools not installed
Diagnosis:
Common causes:
Network timeout downloading packages
Package repository issues
Script syntax error
Docker not installed
Symptoms:
Diagnosis:
Shell aliases not working
Symptoms:
Cause: .bashrc or .profile not properly configured.
Solution:
Agent Issues
"Agent not responding"
Symptoms:
Diagnosis:
Solutions:
Agent not running
Agent crashed
Binary not found
"Unauthorized" from agent
Symptoms:
Cause: Token mismatch between CLI and agent.
Solution:
State Issues
"No active instance"
Symptoms:
Cause: Local state doesn't know about running instance.
Diagnosis:
Solutions:
Instance exists but not in state
Manually add to state, or
Destroy via provider dashboard and recreate
Instance was deleted externally
State out of sync
Symptoms:
spuff statusshows instance that doesn't existspuff downfails with "not found"
Solution:
TUI Issues
"Device not configured" error
Symptoms:
Cause: Terminal not properly initialized after subprocess.
Solutions:
Reset terminal
Run with text output
Check TTY
TUI garbled display
Symptoms:
Random characters
Broken layout
Solutions:
Network Issues
Timeout waiting for instance
Symptoms:
Causes:
Provider having issues
Region overloaded
Network issues
Solutions:
Try different region:
spuff up --region fra1Check provider status page
Retry after a few minutes
Can't reach provider API
Symptoms:
Solutions:
Check internet connection
Check if provider API is up
Check firewall/proxy settings
Configuration Issues
"Config file not found"
Symptoms:
Solution:
"Invalid config"
Symptoms:
Solution:
Getting Help
If this guide doesn't solve your issue:
Enable debug logging
Collect information
spuff version
OS and version
Full error message
Debug logs
Open an issue
https://github.com/avelino/spuff/issues
Include collected information
Redact any tokens/secrets!
Common Commands Reference
Last updated
Was this helpful?