Install
openclaw skills install 2026-02-10-clawhub-clawvault-1-5-1Structured memory system for OpenClaw agents. Context death resilience (checkpoint/recover), structured storage, Obsidian-compatible markdown, local semantic search, and session transcript repair.
openclaw skills install 2026-02-10-clawhub-clawvault-1-5-1An elephant never forgets. Structured memory for OpenClaw agents.
Built for OpenClaw — install via
clawhub install clawvault
npm install -g clawvault
# Initialize vault (creates folder structure + templates)
clawvault init ~/my-vault
# Or set env var to use existing vault
export CLAWVAULT_PATH=/path/to/memory
# Optional: shell integration (aliases + CLAWVAULT_PATH)
clawvault shell-init >> ~/.bashrc
# Start your session (recover + recap + summary)
clawvault wake
# Capture and checkpoint during work
clawvault capture "TODO: Review PR tomorrow"
clawvault checkpoint --working-on "PR review" --focus "type guards"
# End your session with a handoff
clawvault sleep "PR review + type guards" --next "respond to CI" --blocked "waiting for CI"
# Health check when something feels off
clawvault doctor
clawvault wake
clawvault sleep "what I was working on" --next "ship v1" --blocked "waiting for API key"
# Types: fact, feeling, decision, lesson, commitment, preference, relationship, project
clawvault remember decision "Use Postgres over SQLite" --content "Need concurrent writes for multi-agent setup"
clawvault remember lesson "Context death is survivable" --content "Checkpoint before heavy work"
clawvault remember relationship "Justin Dukes" --content "Client contact at Hale Pet Door"
clawvault capture "TODO: Review PR tomorrow"
# Keyword search (fast)
clawvault search "client contacts"
# Semantic search (slower, more accurate)
clawvault vsearch "what did we decide about the database"
clawvault wake
clawvault sleep "what I was working on" --next "finish docs" --blocked "waiting for review"
clawvault checkpoint --working-on "PR review" --focus "type guards" --blocked "waiting for CI"
clawvault recover --clear
# Shows: death time, last checkpoint, recent handoff
clawvault handoff \
--working-on "ClawVault improvements" \
--blocked "npm token" \
--next "publish to npm, create skill" \
--feeling "productive"
clawvault recap
# Shows: recent handoffs, active projects, pending commitments, lessons
Wiki-link entity mentions in markdown files:
# Link all files
clawvault link --all
# Link single file
clawvault link memory/2024-01-15.md
vault/
├── .clawvault/ # Internal state
│ ├── last-checkpoint.json
│ └── dirty-death.flag
├── decisions/ # Key choices with reasoning
├── lessons/ # Insights and patterns
├── people/ # One file per person
├── projects/ # Active work tracking
├── handoffs/ # Session continuity
├── inbox/ # Quick captures
└── templates/ # Document templates
clawvault wake restores contextclawvault sleep captures next steps[[person-name]] builds your knowledge graph## Memory Checklist
- [ ] Run `clawvault wake` at session start
- [ ] Checkpoint during heavy work
- [ ] Capture key decisions/lessons with `clawvault remember`
- [ ] Use wiki-links like `[[person-name]]`
- [ ] End with `clawvault sleep "..." --next "..." --blocked "..."`
- [ ] Run `clawvault doctor` when something feels off
When the Anthropic API rejects with "unexpected tool_use_id found in tool_result blocks", use:
# See what's wrong (dry-run)
clawvault repair-session --dry-run
# Fix it
clawvault repair-session
# Repair a specific session
clawvault repair-session --session <id> --agent <agent-id>
# List available sessions
clawvault repair-session --list
What it fixes:
tool_result blocks referencing non-existent tool_use IDsBackups are created automatically (use --no-backup to skip).
bun install -g github:tobi/qmd or npm install -g qmdclawvault init or set CLAWVAULT_PATHclawvault shell-init and add to shell rcclawvault link --orphansclawvault repair-sessionClawVault uses qmd for search:
# Install qmd
bun install -g github:tobi/qmd
# Add vault as collection
qmd collection add /path/to/vault --name my-memory --mask "**/*.md"
# Update index
qmd update && qmd embed
CLAWVAULT_PATH — Default vault path (skips auto-discovery)