Troubleshooting Guide
June 26, 2026 · View on GitHub
Common issues and how to fix them.
1. Server Won't Start
Symptom: EADDRINUSE: address already in use :::3400 or the server exits immediately with no output.
Cause:
- Another process is already using port 3400
- Missing
.envfile (server can't read config) JWT_SECRETnot set whenAUTH_DISABLED=false
Fix:
# Check if port 3400 is in use
lsof -i :3400
# Kill the conflicting process or change PORT in .env
echo "PORT=3401" >> .env
# Ensure .env exists
cp .env.example .env
# If using auth, set a JWT secret
echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env
# For local dev, you can disable auth
echo "AUTH_DISABLED=true" >> .env
2. Events Not Appearing in Dashboard
Symptom: You're sending events from the SDK but the dashboard shows nothing. No errors in the agent code.
Cause:
- Wrong or missing API key
- SDK pointing to wrong server URL
- CORS blocking browser requests to the API
- Events queued but back-pressure threshold hit
Fix:
# Verify your API key works
curl -H "Authorization: Bearer YOUR_API_KEY" http://localhost:3400/api/v1/sessions
# Check the server logs for rejected requests
docker compose logs server | grep -i "auth\|reject\|401"
In your Python SDK:
import agentlensai
agentlensai.init(
api_key="your-key-here",
base_url="http://localhost:3400" # Make sure this matches your server
)
For CORS issues, ensure your server's allowed origins include the dashboard URL.
3. Python SDK — Import or Installation Errors
Symptom: ModuleNotFoundError: No module named 'agentlensai.ext.openai' or similar import errors after installing.
Cause: The Python SDK uses optional extras for provider integrations. The base pip install agentlensai doesn't include them.
Fix:
# Install with the provider you need
pip install agentlensai[openai]
pip install agentlensai[anthropic]
pip install agentlensai[langchain]
# Or install all extras
pip install agentlensai[all]
# Verify installation
python -c "import agentlensai; print(agentlensai.__version__)"
If you're using a virtual environment, make sure it's activated before installing.
4. MCP Tool Server — Connection Refused
Symptom: Claude Desktop or Cursor shows "connection refused" or "MCP server not responding" when trying to use AgentLens tools.
Cause:
- MCP server not running or running on a different port
- MCP config block pointing to wrong address
- Firewall blocking the connection
Fix:
# Start the MCP server
npx @agentkitai/agentlens-mcp --port 3401
# Verify it's running
curl http://localhost:3401/health
In your MCP client config (e.g., claude_desktop_config.json):
{
"mcpServers": {
"agentlens": {
"command": "npx",
"args": ["@agentkitai/agentlens-mcp", "--port", "3401"]
}
}
}
Make sure the port in the config matches the port the server is actually listening on. Restart the MCP client after changing config.
5. Docker Deployment Issues
Symptom: docker compose up fails, containers exit, or services can't reach each other.
Cause:
- Missing
.envfile - Port conflicts with host services
- Database not ready when server starts
- Volume mount permission issues
Fix:
# Ensure .env exists
cp .env.example .env
# Start with fresh containers
docker compose down -v
docker compose up --build
# Check container status
docker compose ps
# View logs for a specific service
docker compose logs -f server
docker compose logs -f postgres
Common .env settings for Docker:
DATABASE_URL=postgresql://agentlens:agentlens@postgres:5432/agentlens
REDIS_URL=redis://redis:6379
PORT=3400
Note: Inside Docker, use service names (postgres, redis) not localhost for hostnames.
6. Dashboard Blank or Shows Errors
Symptom: Dashboard loads but shows a blank page, spinner that never resolves, or console errors about failed API calls.
Cause:
- Frontend built against wrong API URL
- Frontend assets not built (
npm run buildnot run) - CORS blocking API requests from the dashboard origin
- API server is down
Fix:
# Rebuild the frontend
cd packages/dashboard
npm install
npm run build
# Check browser console (F12) for errors — look for:
# - CORS errors → configure allowed origins on the server
# - 401/403 → API key or auth misconfiguration
# - Network errors → API server not running
# Verify API is reachable from where the dashboard runs
curl http://localhost:3400/api/v1/health
If running the dashboard on a different host/port than the API, set the API URL environment variable before building:
VITE_API_URL=http://your-server:3400 npm run build
7. Hash Chain Verification Fails
Symptom: Hash chain verification failed for session X or integrity check errors in the audit log.
Cause:
- Events arrived or were inserted out of order
- Manual edits to the database broke the chain
- Gap in event sequence numbers (deleted events)
- Clock skew between distributed workers
Fix:
# Run the built-in verification tool
npx @agentkitai/agentlens-server verify-chain --session SESSION_ID
# This will show exactly where the chain breaks:
# ✓ Event 1 → 2 → 3 → 4
# ✗ Event 4 → 5 (hash mismatch)
# ✗ Event 7 (gap: 5-6 missing)
Prevention:
- Never manually edit or delete rows in the events table
- If you must fix data, use the SDK's correction API which maintains the chain
- For distributed setups, ensure all workers use the same time source (NTP)
If the chain is already broken: The break point is logged. Events before the break are still verifiable. Events after will need to be re-anchored — consult the configuration guide for HASH_CHAIN_REANCHOR.
8. High Memory or CPU Usage
Symptom: Server process consuming excessive memory or CPU, slow responses, or OOM kills in Docker.
Cause:
BACKPRESSURE_THRESHOLDset too high, buffering too many events- Too many concurrent SSE (Server-Sent Events) connections from dashboard tabs
- Large sessions with thousands of events being replayed
Fix:
# Lower the back-pressure threshold (default: 1000)
BACKPRESSURE_THRESHOLD=500
# Check current connections
curl http://localhost:3400/api/v1/health
# In Docker, set memory limits
# docker-compose.yml:
# services:
# server:
# mem_limit: 512m
Close unused dashboard tabs — each tab holds an SSE connection.
Still Stuck?
- Check the Getting Started guide to verify your setup
- Review Configuration for all environment variables
- Open an issue on GitHub with:
- Your environment (OS, Node version, Docker version)
- Relevant logs
- Steps to reproduce