Skip to main content

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.json exists 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.json exists on the host.
  • Ensure ~/.local/share/opencode/auth.json exists on the host.
  • Restart the workspace to re-sync.

Or set environment variable:

{
"credentials": {
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}

Sessions not showing​

  1. Verify the workspace is running
  2. Start an agent inside the workspace (claude, opencode, or codex)
  3. 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