slowave doctor. It checks every component in sequence — Python version, dependencies, embedding model, daemon reachability, client configuration, and lifecycle version — and points you at specific issues with actionable remediations.
Daemon (HTTP MCP server)
The daemon is a long-running process that servesslowave_* tools to clients over HTTP. It runs as a user-level service installed by slowave setup.
Daemon won't start — port already in use
Daemon won't start — port already in use
8766 upward and stores it in the runtime root as daemon.port. If an explicitly configured port is already occupied by another process:slowave doctor and slowave serve status to print the effective URL and PID-file path.Daemon won't start — stale PID file
Daemon won't start — stale PID file
daemon.pid beneath the runtime root may prevent it from restarting. slowave serve start detects and cleans stale entries automatically. If it doesn’t:Daemon won't start — slow Python import on Windows
Daemon won't start — slow Python import on Windows
slowave doctor to validate that all required packages are installed and the embedding model can load.Daemon running but MCP tools not reachable
Daemon running but MCP tools not reachable
200 OK means the daemon is alive. If the health endpoint hangs, the engine may be warming up — models load lazily on the first tool call. Wait a moment and retry.Daemon process is a zombie
Daemon process is a zombie
Background Worker
The worker consolidates raw events into episodic memories on a 5-minute interval. It runs as a user-level service alongside the daemon.Worker is not consolidating
Worker is not consolidating
- macOS
- Linux
- Windows
Manual consolidation test
Manual consolidation test
Worker conflicting with daemon — database locked
Worker conflicting with daemon — database locked
database is locked errors in the logs, an orphaned worker from a prior session may be holding stale WAL state. Restart both services:Dashboard
The dashboard is a local web UI that starts on127.0.0.1:8765 by default.
Dashboard won't start — port conflict
Dashboard won't start — port conflict
8765 upward and persists it as dashboard.port. If there is a conflict:Dashboard won't start — missing static assets
Dashboard won't start — missing static assets
Dashboard loads but is blank
Dashboard loads but is blank
Dashboard shows stale data
Dashboard shows stale data
Client Integration (MCP tools)
If theslowave_activate, slowave_remember, and related MCP tools do not appear in your agent, the client configuration is likely wrong or missing.
MCP tools not appearing in your agent
MCP tools not appearing in your agent
doctor reports which clients are correctly configured, misconfigured, or missing their MCP entries. Common issues per client:Tools appear but return errors — lifecycle version mismatch
Tools appear but return errors — lifecycle version mismatch
activate → remember → recall → feedback → commit) evolves between releases. slowave doctor reports if the lifecycle block version in CLAUDE.md or equivalent instruction files doesn’t match the installed Slowave version. Fix by re-running setup to inject the current version:slowave_commit fails — feedback completeness enforcement
slowave_commit fails — feedback completeness enforcement
slowave_commit intentionally fails if feedback was not provided for every retrieved memory or procedure before calling commit. This is by design — the error response lists all outstanding targets that still need a slowave_feedback call. Assess each listed target with the correct label (used, irrelevant, stale, etc.) and then retry slowave_commit.Hooks not firing — Claude Code or Codex
Hooks not firing — Claude Code or Codex
UserPromptSubmit and Stop hooks to call Slowave on every turn. If they aren’t firing, re-install the hooks:~/.claude/settings.json contains the hook configuration after setup completes.Memory is fragmented across scopes
Memory is fragmented across scopes
project:my-repo and project:my_repo), Slowave is treating them as separate memory silos. A cold-start warning is logged when a new scope is detected for the first time. Use consistent, exact scope names across all sessions.Database
Slowave stores all data in a local SQLite database beneath the runtime root.slowave doctor prints the exact path.
Runtime root or migration issues
Runtime root or migration issues
SLOWAVE_HOME and SLOWAVE_DB cannot be set simultaneously — Slowave raises an error immediately. Unset one of them. Use SLOWAVE_HOME to relocate the complete runtime tree; use SLOWAVE_DB only when a legacy integration needs an exact database path. See Configuration for details.Database file locked
Database file locked
database is locked errors, an orphaned process may be holding the write lock. Kill all Slowave processes and restart:Schema errors on startup — migration failed
Schema errors on startup — migration failed
Identify the failure
slowave doctor to see which migration step failed and what error was reported.Restore from backup
File an issue if no backup exists
slowave doctor --verbose.Slow performance
Slow performance
- WAL journal mode keeps write performance consistent. The
-waland-shmsidecar files are normal and are auto-checkpointed. - Large databases (thousands of sessions) may slow down schema listing. The dashboard paginates results automatically.
- The auto-rebuild triggered by a logic version bump can take several minutes. It is a one-time cost per version upgrade.
Auto-rebuild appears stuck after an upgrade
Auto-rebuild appears stuck after an upgrade
current_logic_version changes, the engine replays all raw events to rebuild derived state. If the rebuild appears stuck:- Check the
log_versionsandreplay_checkpointstables — one process holds aclaimed_tslock. - If the lock timestamp is older than 180 seconds, wait — the next retry will claim it automatically.
- After 5 failed claim attempts the rebuild stops. Restart the daemon to trigger a fresh retry:
Database integrity check
Database integrity check
/diagnostics path, which exposes PRAGMA integrity_check and PRAGMA quick_check results under the Database Health section.Backup and Restore
Scheduled backup fails
Scheduled backup fails
Restore doesn't work or triggers a long rebuild
Restore doesn't work or triggers a long rebuild
slowave restore stops the daemon and worker, swaps the database file, and removes stale WAL sidecars. If the restored database was created by a different Slowave version, the engine will automatically rebuild derived state — this is normal and can take several minutes for large databases.Take a fresh backup of the current state before any restore attempt, so you can roll back if needed:General diagnostics reference
slowave doctor runs all checks in sequence. Here is what each check validates:
