Troubleshooting
Common issues and solutions.
Docker Issues
"Cannot connect to Docker daemon"
Docker is not running.
macOS/Windows: Start Docker Desktop.
Linux:
sudo systemctl start docker
sudo usermod -aG docker $USER
# Log out and back in
"Image not found"
The workspace image hasn't been pulled or built.
# Build locally
perry build
# Or let Perry pull from registry (automatic on first workspace creation)
"No space left on device"
Docker has run out of disk space.
docker system prune -a
docker volume prune
Workspace Issues
Workspace stuck in "creating"
Container creation failed.
# Check logs
perry logs <name>
docker logs workspace-<name>
# Delete and recreate
perry delete <name>
perry start <name>
Cannot SSH into workspace
# Verify workspace is running
perry list
# Get SSH port
perry info <name>
# Test connection
ssh -v -p <port> workspace@localhost
Default username is workspace, no password (uses keys or docker exec).
Git clone fails
SSH key not available or wrong URL.
# Check SSH key configuration
perry ssh show
# Test GitHub access inside workspace
perry shell <name>
ssh -T git@github.com
Or use HTTPS:
perry start myproject --clone https://github.com/user/repo.git
Agent Issues
Agent won't start
Port already in use.
# Check port
lsof -i :7391
# Use different port
perry agent run --port 3000
Web UI not loading
# Check agent status
perry agent status
# Test API
curl http://localhost:7391/health
"No agent configured"
If you run a Perry command without an agent configured (and no local agent is running), Perry will prompt you interactively for the agent hostname.
You can also configure it manually:
# For remote agent
perry config agent myserver.ts.net
# With explicit port
perry config agent myserver.ts.net:7391
For local usage, simply start the agent with perry agent run and Perry will automatically connect to it.
AI Agent Issues
Claude Code: Not authenticated
Verify the host credentials are available and re-sync:
- Ensure
~/.claude/.credentials.jsonexists on the host. - Restart the workspace to re-sync.
OpenCode: API key not found
Confirm the host config is present and re-sync:
- Ensure
~/.config/opencode/opencode.jsonexists on the host. - Ensure
~/.local/share/opencode/auth.jsonexists on the host. - Restart the workspace to re-sync.
Or set environment variable:
{
"credentials": {
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
Sessions not showing
- Verify the workspace is running
- Start an agent inside the workspace (
claude,opencode, orcodex) - Refresh the Web UI; Sessions are a history/shortcut list and open terminals
Terminal Issues
Web terminal not connecting
- Check workspace is running
- Try different browser or incognito mode
- Disable ad blockers
Terminal garbled output
reset
clear
Tailscale Issues
"Tailscale Serve requires operator permissions"
sudo tailscale set --operator=$USER
Tailscale not detected
tailscale status
Getting Help
Collect diagnostic info
perry --version
perry info
docker version
docker info
View logs
perry logs <workspace-name>
perry agent logs
docker logs workspace-<name>
File an issue
https://github.com/gricha/perry/issues
Include:
- OS and version
- Docker version
- Perry version
- Full error message
- Steps to reproduce