Quick diagnostics
Before diving into specific issues, run these checks to get an overview of system health:Worker service issues
Worker not starting
Symptoms: Worker status shows not running; hooks produce errors; no context is injected.Verify Bun is installed
Port conflict
Symptoms: Worker fails to start with a “port already in use” error;http://localhost:37777 shows a connection error.
Worker keeps crashing
Symptoms: Worker restarts repeatedly; logs show recurring errors.Check database for corruption
Worker not processing observations
Symptoms: Observations are saved to the database but no summaries are generated.Stuck observation queue
Symptoms: Observations are saved but no summaries appear, even after the worker has been running for several minutes. After a worker crash or forced shutdown, messages may remain stuck in theprocessing state. Automatic recovery is intentionally disabled — you must trigger it manually.
Option 1: CLI tool (recommended)
Option 2: HTTP API
If recovery fails
Verify worker health
Verify worker health
View stuck messages directly
View stuck messages directly
Force reset stuck messages (nuclear option)
Force reset stuck messages (nuclear option)
Check for SDK errors in logs
Check for SDK errors in logs
Context not injecting
No context appears in new sessions
Symptoms: Claude starts each session without any memory of past work.Check if summaries exist
Hooks not firing
Symptoms: No context appears and no observations are being recorded.Hooks timing out
Symptoms: Hook execution errors in Claude Code; context injection takes too long.Check the worker is running
If the worker is not running, hooks will wait for it and eventually time out.
Search issues
Search tools not available in Claude Code
Symptoms: Thesearch, timeline, and get_observations MCP tools don’t appear.
Search returns no results
Symptoms: Valid queries return empty results even though you have prior sessions.Check FTS5 tables are populated
observations_fts is empty but observations has rows, rebuild the FTS index.Token limit errors from MCP
Symptoms: “exceeded token limit” errors when callingget_observations.
Use the 3-layer progressive disclosure workflow — don’t jump directly to get_observations:
Additional strategies:
- Reduce the
limitparameter insearch - Use
typeand concept filters to narrow results - Paginate with
offsetfor large result sets - Always batch multiple IDs in a single
get_observationscall
Database issues
Database locked
Symptoms: “database is locked” errors in worker logs.Database corruption
Symptoms:PRAGMA integrity_check returns errors; unusual query failures.
Database too large
Symptoms: Slow context injection; slow search; large file size at~/.claude-mem/claude-mem.db.
Installation issues
Plugin not found
Symptoms:/plugin install claude-mem fails with “not found”.
Build failures
Symptoms:npm run build exits with errors.
Dependencies not installing (SessionStart errors)
Symptoms: SessionStart hook fails with “Cannot find module” errors.Smart install cache stale (v5.0.3+)
Symptoms: Dependencies not updating after a plugin update.Viewer UI issues
Viewer not loading
Symptoms:http://localhost:37777 shows a connection error or blank page.
Theme not persisting
Symptoms: Light/dark mode preference resets after browser refresh.localStorage.
Real-time updates not appearing (SSE disconnected)
Symptoms: Viewer shows “Disconnected” status; new observations don’t appear without a manual refresh.Check browser console for errors
Open DevTools (F12), go to the Network tab, and look for failed
/stream requests or EventSource errors in the Console tab.Check for VPN or proxy interference
Corporate firewalls and some VPNs block Server-Sent Events. Try disabling the VPN temporarily.
Common error messages
"Worker service not responding"
"Worker service not responding"
Cause: The worker is not running, or the configured port doesn’t match the running worker’s port.Fix:
npm run worker:restart"Database is locked"
"Database is locked"
Cause: Multiple processes are accessing the database simultaneously.Fix: Stop the worker, kill any stale SQLite connections with
lsof ~/.claude-mem/claude-mem.db, then restart."FTS5: syntax error"
"FTS5: syntax error"
Cause: Invalid characters in a search query (e.g.
[, ], * used incorrectly).Fix: Simplify the query to plain words without special characters."SQLITE_CANTOPEN"
"SQLITE_CANTOPEN"
Cause: The database file cannot be opened — either missing directory or wrong permissions.Fix: Verify
~/.claude-mem/ exists and is writable: ls -la ~/.claude-mem/"Cannot find module"
"Cannot find module"
Cause: Missing npm dependencies.Fix:
npm install in the plugin directory."port already in use"
"port already in use"
Cause: Another process is occupying port 37777.Fix: Kill the conflicting process (
kill -9 $(lsof -t -i:37777)) or configure a different port in ~/.claude-mem/settings.json.Getting help
If none of the solutions above resolve your issue:Generate a bug report
Run
npm run bug-report to collect diagnostics, then include the output when filing an issue.File a GitHub issue
Include error messages, relevant log output, and steps to reproduce.