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.Check current status
Try starting manually
Check logs for errors
Full stop-start reset
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.
Find what's using the port
Kill the conflicting process
Or switch to a different port
~/.claude-mem/settings.json:Worker keeps crashing
Symptoms: Worker restarts repeatedly; logs show recurring errors.Read the error logs
Check database for corruption
Verify Bun version
Worker not processing observations
Symptoms: Observations are saved to the database but no summaries are generated.Confirm the worker is running
Check the worker logs
Verify the database has observations
Restart the worker
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
Test context injection manually
Verbose context test
Check database integrity
Hooks not firing
Symptoms: No context appears and no observations are being recorded.Verify hooks are configured
Validate hooks.json is valid JSON
Check script permissions
Test context hook manually
Hooks timing out
Symptoms: Hook execution errors in Claude Code; context injection takes too long.Check the worker is running
Check database size
VACUUM to reclaim space:Increase hook timeout
plugin/hooks/hooks.json and raise the timeout value:Search issues
Search tools not available in Claude Code
Symptoms: Thesearch, timeline, and get_observations MCP tools don’t appear.
Check MCP configuration
Verify MCP server binary exists
Rebuild if the binary is missing
Restart Claude Code
Search returns no results
Symptoms: Valid queries return empty results even though you have prior sessions.Confirm the database has data
Check FTS5 tables are populated
observations_fts is empty but observations has rows, rebuild the FTS index.Rebuild FTS5 index
Simplify your query
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:
Start with search to get an index
Review IDs and fetch only relevant ones
- 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.Stop the worker
Find processes holding locks
Kill the locking process
Restart the worker
Database corruption
Symptoms:PRAGMA integrity_check returns errors; unusual query failures.
Run integrity check
Back up the database
Attempt repair with VACUUM
Last resort: recreate the database
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.
Clean install
Check Node.js version
Check for TypeScript 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.
Confirm the worker is running on port 37777
Test the health endpoint
Check logs for errors
Restart the worker
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.Test the SSE endpoint
Check browser console for errors
/stream requests or EventSource errors in the Console tab.Check for VPN or proxy interference
Restart worker and refresh
Common error messages
"Worker service not responding"
"Worker service not responding"
npm run worker:restart"Database is locked"
"Database is locked"
lsof ~/.claude-mem/claude-mem.db, then restart."FTS5: syntax error"
"FTS5: syntax error"
[, ], * used incorrectly).Fix: Simplify the query to plain words without special characters."SQLITE_CANTOPEN"
"SQLITE_CANTOPEN"
~/.claude-mem/ exists and is writable: ls -la ~/.claude-mem/"Cannot find module"
"Cannot find module"
npm install in the plugin directory."port already in use"
"port already in use"
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
npm run bug-report to collect diagnostics, then include the output when filing an issue.