API connection issues
Cannot connect to the API (ECONNREFUSED)
Cannot connect to the API (ECONNREFUSED)
Symptoms: Requests to
localhost:3319 fail with ECONNREFUSED.Checks:- Verify the API is running:
curl http://localhost:3319/health - Check the port isn’t taken:
lsof -i :3319 - Confirm
PORTis set correctly in your.env(default3319) - Review logs for startup errors — the API will fail to start if it cannot reach PostgreSQL
Health check returns database error
Health check returns database error
Symptoms:
GET /health returns 503 with a database connection error.Checks:- Verify PostgreSQL is running:
docker ps(look for the pgvector container) - Check
DATABASE_URLin your.envmatches the running database - Default Docker URL:
postgres://kommit:kommit_dev@localhost:5433/kommit - If the port changed, update both
DATABASE_URLandDATABASE_APP_URL - Confirm the pgvector extension is installed:
SELECT * FROM pg_extension WHERE extname = 'vector';
401 Unauthorized on API requests
401 Unauthorized on API requests
429 Too Many Requests
429 Too Many Requests
The API applies rate limits per route:
Back off and retry with exponential backoff. If you consistently hit global limits, check for runaway polling loops in your client.
| Route group | Limit |
|---|---|
| Global | 1 000 req/min |
| Auth | 20 req/min |
| Invites | 30 req/min |
| Chat | 60 req/min |
| PRD | 30 req/min |
Database issues
Docker container fails to start (port conflict)
Docker container fails to start (port conflict)
Symptoms:
docker-compose up fails because port 5433 is already in use.Fix:Migrations fail or schema is outdated
Migrations fail or schema is outdated
Symptoms: API throws errors about missing columns or tables.Fix:If
db:push fails, check that DATABASE_URL points to a running PostgreSQL instance with the pgvector extension enabled.Vector search returns no results
Vector search returns no results
Checks:
- Verify pgvector extension is installed: run
CREATE EXTENSION IF NOT EXISTS vector;in psql - Check that memories have been embedded — the
embeddingstable should contain rows - If using a fresh database, create a memory first and confirm the embedding was generated
Worker and job issues
Jobs stuck in 'waiting' state
Jobs stuck in 'waiting' state
Checks:
- Verify Redis is running:
redis-cli pingshould returnPONG - Confirm the worker is running and connected: check
localhost:4200/health - Look for worker logs — connection errors to Redis will prevent job pickup
- Check
REDIS_HOSTandREDIS_PORTin your environment
Repository import fails
Repository import fails
Checks:
- Worker logs will show the specific error — check for Git clone failures (auth, network)
- For GitHub imports, verify
GITHUB_APP_IDandGITHUB_APP_PRIVATE_KEYare set - For large repos, the worker may time out — check for memory issues in Docker
- The parser service must be running on port
4100for code analysis
Dead Letter Queue filling up
Dead Letter Queue filling up
Failed jobs retry automatically. If they exhaust retries, they move to the DLQ.Checks:
- Review the failed job’s error message in worker logs
- If
SLACK_WEBHOOK_URLis set, DLQ entries post to Slack automatically - Common causes: parser service down, database connection pool exhausted, external API errors
MCP connection issues
AI tool cannot connect to Kommit MCP
AI tool cannot connect to Kommit MCP
Checks:
- Verify your MCP config uses the correct URL:
https://mcp.getkommit.ai/sse?token=km_your_api_key - Test the token:
curl -H "Authorization: Bearer km_your_api_key" https://api.getkommit.ai/v1/projects - Check that your AI tool supports SSE-based MCP servers
- In Claude Code, check
~/.claude/settings.jsonfor syntax errors
MCP returns empty results
MCP returns empty results
Checks:
- Your API key is scoped to an organization — verify the project belongs to that org
- Check that the project has nodes and/or memories — empty projects return empty results
- For memory search, ensure memories have been embedded (they are embedded on creation)
Frontend issues
Blank page or hydration errors
Blank page or hydration errors
Checks:
- Open browser DevTools and check the Console for errors
- Verify the API is reachable from the browser (check
NEXT_PUBLIC_APP_URL) - Clear the browser cache and local storage
- Restart the dev server:
pnpm -C kommit-frontend dev
Canvas not rendering or nodes missing
Canvas not rendering or nodes missing
Checks:
- Check the Network tab for failed API calls to
/v1/projects/:id/nodes - Verify the project exists and has nodes
- Try a hard refresh (
Cmd+Shift+R/Ctrl+Shift+R)
Deployment issues
Environment variables missing in production
Environment variables missing in production
Required variables for each service:
Missing secrets cause silent failures — check service logs for
| Service | Required |
|---|---|
| kommit-api | DATABASE_URL, BETTER_AUTH_SECRET, BETTER_AUTH_URL |
| kommit-frontend | DATABASE_URL, BETTER_AUTH_SECRET, NEXT_PUBLIC_APP_URL |
| kommit-worker | REDIS_HOST, REDIS_PORT, DATABASE_URL |
| kommit-parser | PORT (default 4100) |
undefined variable warnings.CORS errors in production
CORS errors in production
The API handles CORS via middleware. If you see CORS errors:
- Verify the frontend’s origin is allowed in the API’s CORS configuration
- Check that
BETTER_AUTH_URLmatches the actual API URL - Ensure requests include the correct
Originheader
Still stuck?
Reach out to support@getkommit.ai with:- The service and endpoint involved
- The full error message or HTTP status code
- Your environment (local dev, staging, production)