fabro doctor
The fabro doctor command validates your installation:
- System dependencies (
openssl,node,gh,dot) - LLM provider API keys
- Sandbox availability (Docker daemon, Daytona API key)
- JWT key configuration
- Brave Search API key
Common issues
“No API key configured” — Set at least one provider key in.env or your shell environment. Run fabro doctor --live to verify connectivity.
Stall watchdog timeouts — If runs are cancelled unexpectedly, the agent may be stuck or the LLM provider may be slow. Check FABRO_LOG=debug output for Agent.LlmRetry events. Increase stall_timeout in the graph if needed, or add fallback providers to handle outages.
Sandbox creation failures — For Docker: ensure the Docker daemon is running and the configured image exists. For Daytona: verify DAYTONA_API_KEY is set and the gh CLI is authenticated. For Exe: verify your SSH keys are configured for exe.dev and that ssh exe.dev connects successfully.
Port already in use — Change the port with fabro serve --port 3001 or stop the conflicting process.
SSE streams disconnecting — If using a reverse proxy, ensure buffering is disabled and the connection timeout is long enough for workflow runs. See the reverse proxy example.
Run config validation errors — Use --preflight to validate without executing: