Troubleshooting
Common issues and solutions when working with Massu AI.
Installation Issues
MCP Server Not Connecting
Symptom: Claude Code does not show Massu AI tools.
Solutions:
- Verify the MCP server is registered:
claude mcp listYou should see massu in the list.
- Check for errors in the MCP server:
npx @massu/core --check- Verify Node.js version:
node --version # Must be 18+- Restart Claude Code:
claude --restartbetter-sqlite3 Build Failure
Symptom: Error about native module compilation during install.
Solutions:
- Rebuild native modules:
npm rebuild better-sqlite3- If on Apple Silicon, ensure you have the right architecture:
node -e "console.log(process.arch)" # Should output "arm64"- Install build tools if missing:
# macOS
xcode-select --install
# Ubuntu/Debian
sudo apt-get install build-essential python3Config File Not Found
Symptom: Tools return errors about missing configuration.
Solutions:
- Verify the file exists in your project root:
ls massu.config.yaml- Check for YAML syntax errors:
npx @massu/core validate-config- Check the filename -- it must be exactly
massu.config.yaml(not.yml).
Tool Issues
massu_sync Returns Empty Results
Symptom: Sync reports 0 import edges and 0 features.
Possible causes:
- CodeGraph not indexed: Massu AI depends on CodeGraph data. Ensure the CodeGraph MCP server has indexed your project first.
- Wrong source path: Check that
paths.sourcein your config matches your actual source directory.
- No files in CodeGraph: Verify CodeGraph has data:
sqlite3 .codegraph/graph.db "SELECT COUNT(*) FROM files"massu_trpc_map Not Available
Symptom: Tool is not listed or returns "Unknown tool."
Solution: Set framework.router: trpc in your config. This tool only registers when tRPC is configured.
massu_schema Not Available
Symptom: Tool is not listed.
Solution: Set framework.orm: prisma in your config and ensure prisma/schema.prisma exists.
Memory Search Returns No Results
Symptom: massu_memory_search returns empty even though you have had previous sessions.
Possible causes:
- New database: The memory database is created fresh. It needs a few sessions to accumulate data.
- Hooks not running: Verify hooks are configured:
npx massu doctor- FTS index not built: The FTS5 search index is rebuilt automatically but can occasionally need a manual refresh.
Hook Issues
Hooks Not Firing
Symptom: No context injection at session start, no observations captured.
Solutions:
- Run the health check:
npx massu doctor
# Should show all 11 hooks configured- Verify Claude Code settings reference the hooks:
cat .claude/settings.local.json- Reinstall hooks:
npx massu install-hooks- Run the health check:
npx massu doctorHook Timeout
Symptom: Hooks appear to hang or Claude Code feels slow.
Possible cause: A hook is taking longer than 5 seconds (usually a database issue).
Solutions:
- Check database size:
ls -la .massu/*.dbIf the memory database is very large (>500MB), consider pruning old data.
- Rebuild hooks:
cd packages/core && npm run build:hookspost-edit-context Not Showing Rules
Symptom: No rules appear when editing files.
Solutions:
- Verify rules are configured for the file pattern you are editing
- Only CRITICAL and HIGH rules are shown by the hook
- Check that the file is under
src/(non-source files are ignored)
Database Issues
Database Locked
Symptom: "database is locked" errors.
Solution: Massu AI uses WAL mode for all databases. If you see lock errors:
- Close any other processes accessing the database
- Delete the WAL and SHM files:
rm .massu/memory.db-wal .massu/memory.db-shmDatabase Corruption
Symptom: Unexpected errors from database queries.
Solution: Back up and recreate:
mv .massu/memory.db .massu/memory.db.backup
# Massu AI will create a fresh database on next usePerformance Issues
Slow Tool Responses
Possible causes:
- Stale indexes: Run
massu_syncto rebuild - Large database: Prune old observability data
- Many files: Massu AI handles large codebases but initial sync may take longer
High Memory Usage
The MCP server loads SQLite databases into memory. For very large projects:
- Monitor database sizes:
ls -la .massu/*.db - The observability tools auto-prune old conversation turns
- Audit log retention is configurable (
governance.audit.retention_days)
Getting Help
If these solutions do not resolve your issue:
- Check the GitHub issues for known problems
- Run with debug logging:
MASSU_LOG_LEVEL=debug - File an issue with your config file, error message, and Node.js version