Common Issues & Solutions¶
Quick solutions to the most frequently encountered problems.
Installation Issues¶
Docker Compose fails to start¶
Error:
Solution:
# Stop existing containers
docker compose down
# Remove old containers
docker rm -f sekha-controller sekha-llm-bridge sekha-chroma
# Start fresh
docker compose up -d
Error:
Solution:
You're on ARM64 (Apple Silicon, Raspberry Pi). Use multi-arch images:
# docker-compose.yml
services:
sekha-controller:
image: ghcr.io/sekha-ai/sekha-controller:latest
platform: linux/arm64 # Add this line
Port 8080 already in use¶
Error:
Solution 1: Find and kill the conflicting process
# macOS/Linux
lsof -i :8080
kill -9 <PID>
# Windows
netstat -ano | findstr :8080
taskkill /PID <PID> /F
Solution 2: Change Sekha's port
Then access at http://localhost:8081
Rust build fails¶
Error:
Solution:
# Ubuntu/Debian
sudo apt-get install build-essential
# macOS
xcode-select --install
# Fedora/RHEL
sudo dnf install gcc
Error:
Solution:
Ensure you have Rust 1.83+:
Connection & Network Issues¶
Cannot connect to Sekha at localhost:8080¶
Error:
Diagnosis:
# Check if Sekha is running
docker ps | grep sekha
# Check logs for errors
docker logs sekha-controller
# Test health endpoint
curl http://localhost:8080/health
Solutions:
-
Sekha not started:
-
Wrong port:
-
Firewall blocking:
ChromaDB connection failed¶
Error:
Solution:
# Check ChromaDB container
docker ps | grep chroma
# Restart ChromaDB
docker compose restart sekha-chroma
# Check ChromaDB logs
docker logs sekha-chroma
Config fix:
LLM Bridge connection timeout¶
Error:
Solution:
Increase timeout for large summarization tasks:
# config.toml
[llm_bridge]
url = "http://sekha-llm-bridge:5000"
timeout_seconds = 120 # Increase from 30 to 120
Authentication Issues¶
401 Unauthorized¶
Error:
Solution:
-
Check API key in request:
-
Verify API key in config:
-
Generate new API key:
-
Restart Sekha after config changes:
Claude Desktop: "Sekha tools not available"¶
Error: Claude says it doesn't have access to Sekha tools.
Diagnosis:
# Test MCP server manually
docker run -i --rm \
-e SEKHA_API_URL=http://host.docker.internal:8080 \
-e SEKHA_API_KEY=your-key \
ghcr.io/sekha-ai/sekha-mcp:latest
# Should output: {"version": "1.0", ...}
Solutions:
-
Fix API URL for macOS/Windows:
-
Linux users - use localhost:
-
Restart Claude Desktop after config changes
Data & Storage Issues¶
Database is locked¶
Error:
Solution:
# Stop all Sekha processes
docker compose down
# Remove lock file
rm ~/.sekha/data/sekha.db-wal
rm ~/.sekha/data/sekha.db-shm
# Restart
docker compose up -d
Prevention:
Don't access the database from multiple processes simultaneously.
Out of disk space¶
Error:
Check usage:
Solutions:
-
Prune old conversations:
curl -X POST http://localhost:8080/api/v1/prune/dry-run \ -H "Authorization: Bearer your-key" \ -d '{"threshold_days": 90, "min_importance": 3}' # Review recommendations, then execute: curl -X POST http://localhost:8080/api/v1/prune/execute \ -H "Authorization: Bearer your-key" \ -d '{"conversation_ids": ["id1", "id2", ...]}' -
Export and archive:
-
Move data directory to larger disk:
Conversation not found¶
Error:
Diagnosis:
# List all conversations
curl -X POST http://localhost:8080/api/v1/query \
-H "Authorization: Bearer your-key" \
-d '{"query": "", "limit": 100}'
# Search by label
curl -X POST http://localhost:8080/api/v1/search/fts \
-H "Authorization: Bearer your-key" \
-d '{"query": "your label"}'
Common causes:
- Wrong conversation ID (UUIDs must be exact)
- Conversation was deleted/pruned
- Database corruption
Search & Query Issues¶
Semantic search returns no results¶
Problem: Query returns {"results": [], "total": 0}
Solutions:
- Need more data:
- Semantic search needs 10+ conversations to work well
-
Store more conversations first
-
Embedding not generated yet:
-
ChromaDB not populated:
-
Try full-text search instead:
Search results are irrelevant¶
Problem: Results don't match the query semantically.
Solutions:
-
Make query more specific:
-
Use filters:
-
Try different embedding model:
Query timeout¶
Error:
Solution:
Or reduce result set:
curl -X POST http://localhost:8080/api/v1/query \
-d '{"query": "...", "limit": 5}' # Reduce from 10 to 5
Performance Issues¶
Slow response times¶
Symptoms: - API responses take 5+ seconds - UI feels sluggish - Search queries timeout
Diagnosis:
# Check resource usage
docker stats
# Check database size
du -sh ~/.sekha/data/sekha.db
# Run EXPLAIN QUERY PLAN
sqlite3 ~/.sekha/data/sekha.db "EXPLAIN QUERY PLAN SELECT * FROM conversations LIMIT 10;"
Solutions:
-
Optimize database:
-
Reduce context budget:
-
Use SSD storage (10x faster than HDD)
-
Allocate more RAM:
-
Limit search results:
High memory usage¶
Symptoms: - Docker shows 4GB+ RAM usage - System becomes slow - OOM (out of memory) errors
Solutions:
-
Set memory limits:
-
Reduce ChromaDB cache:
-
Restart periodically (in production, use orchestration):
High CPU usage¶
Symptoms: - CPU at 100% constantly - Fans running at full speed - System sluggish
Diagnosis:
Solutions:
-
Limit concurrent requests:
-
Reduce embedding batch size:
-
Use CPU limits:
Integration Issues¶
Python SDK import error¶
Error:
Solution:
# Install SDK
pip install sekha-sdk
# Or from source
git clone https://github.com/sekha-ai/sekha-python-sdk
cd sekha-python-sdk
pip install -e .
VS Code extension not connecting¶
Error: "Failed to connect to Sekha at localhost:8080"
Solution:
-
Check Sekha is running:
-
Update VS Code settings:
-
Reload VS Code window:
- Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
- Type: "Reload Window"
Configuration Issues¶
Config file not found¶
Error:
Solution:
# Create config directory
mkdir -p ~/.sekha
# Copy default config
curl -sSL https://raw.githubusercontent.com/sekha-ai/sekha-controller/main/config.example.toml \
-o ~/.sekha/config.toml
# Edit as needed
vim ~/.sekha/config.toml
Invalid TOML syntax¶
Error:
Solution:
TOML uses = not : for assignments:
Validate your TOML:
# Install TOML validator
pip install toml
# Validate
python -c "import toml; toml.load(open('~/.sekha/config.toml'))"
Docker Issues¶
"Cannot connect to Docker daemon"¶
Error:
Solution:
# macOS
open -a Docker # Start Docker Desktop
# Linux
sudo systemctl start docker
# Check status
docker ps
Image pull fails¶
Error:
Solution:
# Login to GitHub Container Registry
echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
# Or pull without authentication (public images)
docker pull ghcr.io/sekha-ai/sekha-controller:latest
Still Having Issues?¶
Next Steps¶
-
Check logs:
-
Enable debug logging:
-
Search existing issues: GitHub Issues
-
Ask for help:
- Discord Community
- GitHub Discussions
-
File a bug report: New Issue
Information to Include¶
When asking for help, provide:
- Sekha version (
docker images | grep sekhaorsekha --version) - Operating system and version
- Docker version (
docker --version) - Error messages (full output)
- Steps to reproduce
- Config file (remove sensitive data)
- Logs (
docker logs sekha-controller)
Related Documentation:
- FAQ - Common questions
- Debugging Guide - Advanced troubleshooting
- Performance Tuning - Optimization tips
- Configuration Reference - All config options
Last updated: January 2026