Troubleshooting¶
Common issues and their solutions.
Redis Connection Errors¶
unknown command 'FT._LIST'¶
Cause: Your Redis version doesn't include RediSearch.
Solution: Upgrade to Redis 8.0+ which includes RediSearch natively:
# Docker
docker run -d --name redis -p 6379:6379 redis:8
# Verify
redis-cli MODULE LIST # Should include 'search' module
See the full Redis setup guide.
Connection refused on Redis¶
Cause: Redis is not running or is on a different port.
Solution:
# Check if Redis is running
redis-cli ping
# Start Redis
sudo systemctl start redis
# or
docker start redis
Verify REDIS_URL in your .env matches the actual Redis address.
Zombie Executions (Stuck in "Running")¶
Symptom¶
Executions stay in "running" status indefinitely and never complete.
Common Causes¶
- RQ worker crashed — The worker processing the execution died mid-run
- LLM API timeout — The LLM provider took too long to respond
- Infinite tool loop — An agent keeps calling tools without converging
- Redis disconnection — Worker lost connection to Redis during execution
Diagnosis¶
# Check for stuck executions (running > 15 minutes)
curl -H "Authorization: Bearer YOUR_KEY" \
"http://localhost:8000/api/v1/executions/?status=running"
# Check RQ worker status
rq info --url redis://localhost:6379/0
# Check worker logs for errors
Solutions¶
-
Cancel stuck executions via API:
-
Restart the RQ worker:
-
Adjust the zombie threshold in
.env: -
Use the System Health tool — Connect the
system_healthtool to an agent and ask it to diagnose infrastructure issues.
Authentication Errors¶
401 Unauthorized¶
Cause: Missing or invalid Bearer token.
Solution: Ensure your request includes the correct header:
Common Mistakes
- Using
Tokeninstead ofBearer - Including extra whitespace
- Using an expired or revoked API key
Setup wizard doesn't appear¶
Cause: An admin user already exists.
Solution: Check setup status:
If {"needs_setup": false}, an admin was already created. Log in with those credentials.
Database Issues¶
OperationalError: database is locked¶
Cause: Multiple processes writing to SQLite simultaneously.
Solution: This is a SQLite limitation with concurrent writes.
- For development: ensure only one RQ worker is running
- For production: switch to PostgreSQL:
Migration errors¶
Cause: Conflicting Alembic migration heads or corrupted migration state.
Solution:
cd platform
# Check for multiple heads
alembic heads
# If multiple heads exist, merge them
alembic merge heads -m "merge migration heads"
# Apply migrations
alembic upgrade head
Frontend Issues¶
Blank page after login¶
Cause: Frontend build is outdated or missing.
Solution:
Then access via http://localhost:8000 (not the Vite dev server).
WebSocket connection failed¶
Cause: WebSocket connection can't be established.
Solutions:
- Check that the backend is running on the expected port
- If behind a reverse proxy, ensure WebSocket upgrade headers are forwarded
- Check browser console for specific error messages
- Verify the API key is valid (WebSocket auth uses
?token=<key>)
Execution Issues¶
Agent not using tools¶
Cause: Tools are not properly connected to the agent.
Solution:
- Verify tool nodes are connected to the agent's tools handle (green diamond at the bottom)
- Check that the edge label is
tool - Validate the workflow:
POST /api/v1/workflows/{slug}/validate/
Node shows "failed" status¶
Cause: The node encountered an error during execution.
Solution:
- Click the red "error" link on the failed node to see the error details
- Check the execution logs:
GET /api/v1/executions/{id}/ - Common errors:
- Missing LLM credential on AI model node
- Invalid system prompt (Jinja2 syntax error)
- Tool execution failure (network error, permission denied)
Getting Help¶
If your issue isn't listed here:
- Check the execution logs for detailed error messages
- Use the
system_healthtool to diagnose infrastructure issues - Open an issue on GitHub