Documentation Index
Fetch the complete documentation index at: https://docs.risolu.to/llms.txt
Use this file to discover all available pages before exploring further.
Common Issues
Startup Issues
Missing Tracker API Key
Missing Tracker API Key
missing_tracker_api_key on startup.Cause: tracker.api_key resolves to an empty value.Fix: Run the setup wizard at /setup and re-enter your Linear API key, or set the environment variable:Missing Codex Auth
Missing Codex Auth
account/read failure during startup.Cause: The Codex app-server cannot authenticate with the configured provider.Fix: Verify your auth mode:| Mode | Check |
|---|---|
| API Key | echo $OPENAI_API_KEY returns a valid key |
| Codex Login | Run codex login and re-upload auth.json via the setup wizard |
| Browser PKCE | Re-authenticate via the setup wizard at /setup |
Port already in use
Port already in use
EADDRINUSE: address already in use :::4000Cause: Another process is bound to the port.Fix:Master Key Mismatch
Master Key Mismatch
secrets.enc decryption failure on startup.Cause: The MASTER_KEY environment variable doesn’t match the key used to encrypt secrets.Fix: Use the correct master key, or factory reset:Agent Failures
Container OOM (Out of Memory)
Container OOM (Out of Memory)
OOMKilled=true in container inspect.Cause: The agent exceeded the container memory limit.Fix: Increase the memory allocation:Agent stalls (no progress)
Agent stalls (no progress)
agent_running state with no new events.Cause: The agent is stuck — infinite loop, network timeout, or model API hang.Fix: Risoluto has two stall timeouts: codex.stallTimeoutMs (default: 5 minutes) kills silent turns, and agent.stallTimeoutMs (default: 20 minutes) kills the entire agent. To kill manually:Required MCP Startup Failure
Required MCP Startup Failure
thread/start failed because a required MCP server did not initializeCause: This is a Codex runtime error, not a Risoluto bug. The agent’s MCP configuration references a server binary that is missing or failing inside the container.Fix: Check codex.sandbox.extraMounts and ensure all required MCP server binaries are available inside the container. Verify with:Agent exhausted all retries
Agent exhausted all retries
- Simplify the issue description
- Increase
agent.maxContinuationAttempts - Switch to a more capable model via per-issue override
- Force a retry: transition the issue back to the trigger state
Docker Problems
Docker daemon not running
Docker daemon not running
Cannot connect to the Docker daemonFix:docker info should complete without errors.Sandbox image not found
Sandbox image not found
No such image: risoluto-codex:latestFix: Build the sandbox image:Permission denied on Docker socket
Permission denied on Docker socket
permission denied while trying to connect to the Docker daemon socketFix: Add your user to the docker group:Network Issues
Linear API connection failures
Linear API connection failures
ECONNREFUSED or ETIMEDOUT to api.linear.app.Cause: Network connectivity or DNS issues, or Linear API outage.Fix:OpenAI API rate limiting
OpenAI API rate limiting
Invalid or expired credentials
Invalid or expired credentials
/setup. Risoluto validates credentials before storing them and surfaces the upstream error message.Linear Integration
Issues not being picked up
Issues not being picked up
Webhook events not arriving
Webhook events not arriving
Diagnostic Commands
System state
Issue inspection
CLI log inspector
Container inspection
Environment Variables
| Variable | Default | Description |
|---|---|---|
LOG_LEVEL | info | Pino log level (debug for verbose output) |
RISOLUTO_LOG_FORMAT | logfmt | Log format: logfmt or json |
SENTRY_DSN | — | Error tracking endpoint |
LINEAR_API_KEY | — | Linear API key (alternative to wizard setup) |
OPENAI_API_KEY | — | OpenAI API key (alternative to wizard setup) |
GITHUB_TOKEN | — | GitHub PAT for PR creation |