Hydrate for Mistral Vibe — install in five minutes
After this page: every Vibe session is captured to your local Hydrate store, 22 Hydrate MCP tools are available inside Vibe, and four skills give you/hydrate-last,/hydrate-distill, and/hydrate-initworkflows.
Prerequisites
- Hydrate installed (
hydrate doctorall-green). See Free install. - Mistral Vibe installed (
vibe --versionreturns 2.x or later).
Install
hydrate vibe install Output:
writing MCP config to ~/.vibe/config.toml… ok
enabling experimental hooks in ~/.vibe/config.toml… ok
writing post_agent_turn hook to ~/.vibe/hooks.toml… ok
writing skills to ~/.vibe/skills… ok (4 skill(s))
writing AGENTS.md to ~/.vibe/AGENTS.md… ok
✓ Hydrate Vibe integration installed
MCP server: ~/.local/bin/hydrate-mcp
Config: ~/.vibe/config.toml
Hook: ~/.vibe/hooks.toml (post_agent_turn → ~/.local/bin/vibe-capture)
Skills: ~/.vibe/skills/
AGENTS.md: ~/.vibe/AGENTS.md Then inside Vibe, run /reload to pick up the new config. Or restart Vibe.
Verify
hydrate vibe doctor Expected (all green):
✓ vibe binary /path/to/vibe
✓ hydrate-mcp binary ~/.local/bin/hydrate-mcp
✓ ~/.vibe/config.toml exists
✓ config.toml has hydrate-mcp
✓ ~/.vibe/AGENTS.md exists Run one Vibe prompt in any project directory, then confirm the session was captured:
sqlite3 ~/.hydrate/data.db \
"SELECT datetime(ended_at), project, source FROM sessions WHERE source='mistral-vibe' ORDER BY ended_at DESC LIMIT 3" You should see a row for the session you just ran.
To confirm MCP tools are visible inside Vibe, run /mcp hydrate — it should list 22 tools.
What gets installed
1. MCP server (hydrate-mcp)
Registered in ~/.vibe/config.toml:
[[mcp_servers]]
name = "hydrate"
transport = "stdio"
command = "/Users/<you>/.local/bin/hydrate-mcp"
args = [] The MCP server exposes 22 tools — recall, fact add/list, canon add/list/remove, working memory, session capture, dream trigger, and more.
2. post_agent_turn hook (vibe-capture)
Written to ~/.vibe/hooks.toml. Fires after every agent turn and posts the session
transcript to hydrate-server. Two writes per turn:
- Upserts the session row keyed by
(user_id, session_id)— source =mistral-vibe. - Records a
prompt_submithook event for the dashboard (turn count, prompt chars, transcript chars).
This hook requires enable_experimental_hooks = true in
~/.vibe/config.toml. The installer sets this automatically.
3. Four skills
Installed under ~/.vibe/skills/:
| Skill | User-invocable | Maps to |
|---|---|---|
hydrate | No | Automatic "consult Hydrate first" behaviour |
hydrate-last | Yes | Resume from previous session (working memory + canon + recent facts) |
hydrate-distill | Yes | Checkpoint the current session before clearing |
hydrate-init | Yes | Bootstrap memory from an existing project's docs |
Invoke them with /hydrate-last etc. inside Vibe. Vibe does not support slash
commands directly — these are skills that Vibe presents to the model based on intent detection
and explicit user mention.
4. AGENTS.md preamble
Written to ~/.vibe/AGENTS.md. Tells the model which Hydrate MCP tools exist and
when to call them. Without this, the model sees the tools but has no guidance on when they
are relevant.
Hook parity with Claude Code
Stock Mistral Vibe ships one experimental hook: post_agent_turn. This gives
Hydrate one surface per session (after each turn). Compare to Claude Code's four hooks:
| Hook | Claude Code | Stock Vibe |
|---|---|---|
| Context injection before prompt | UserPromptSubmit → claude-context | Not available — model must call hydrate_recall MCP tool instead |
| Session capture | Stop → claude-capture | post_agent_turn → vibe-capture (fires per-turn) |
| Compact-survival snapshot | PreCompact → claude-precompact | Not available |
| Session start re-injection | SessionStart → claude-session-start | Not available |
The practical difference: on Claude Code, context injection happens automatically before every
prompt. On stock Vibe, the model has to invoke hydrate_recall via the MCP tools
— which the AGENTS.md skill guides it to do, but it is not guaranteed on every turn.
For full hook parity, use the forked Vibe binary which
adds user_prompt_submit, pre_compact, pre_tool_use,
post_tool_use, and session_start hooks.
Note on the six Vibe shims
The installer writes six hook entries into hooks.toml even on stock Vibe —
including user_prompt_submit, pre_compact,
pre_tool_use, post_tool_use, and session_start. Stock
Vibe silently ignores hook types it does not recognise. They are no-ops on stock. When you
upgrade to the forked binary, they activate automatically without reinstalling.
Dashboard visibility
Vibe sessions appear in the Hydrate dashboard (hydrate dashboard) on the same
project cards as Claude Code sessions. The source filter distinguishes
claude-code from mistral-vibe. Open
http://localhost:<port>/dashboard — the port is in
~/.hydrate/server.port.
What changed on your machine
| Path | Purpose |
|---|---|
~/.vibe/config.toml | MCP server entry + enable_experimental_hooks = true |
~/.vibe/hooks.toml | post_agent_turn hook → vibe-capture (+ 5 others, no-op on stock) |
~/.vibe/skills/hydrate*/ | Four skill files |
~/.vibe/AGENTS.md | Model preamble pointing at MCP tools |
~/.local/bin/vibe-capture | post_agent_turn shim |
~/.local/bin/vibe-context | user_prompt_submit shim (activates on forked Vibe) |
~/.local/bin/vibe-precompact | pre_compact shim (activates on forked Vibe) |
~/.local/bin/vibe-tool-pre | pre_tool_use shim (activates on forked Vibe) |
~/.local/bin/vibe-tool-post | post_tool_use shim (activates on forked Vibe) |
~/.local/bin/vibe-session-start | session_start shim (activates on forked Vibe) |
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
hydrate vibe doctor fails on HYDRATE_CONTEXT_API | Env var not set | Only needed for remote enterprise sync; ignore if you are on local-only |
post_agent_turn does not fire | enable_experimental_hooks missing or in wrong section | Confirm it is at the top level of config.toml (not inside a [section]); run /reload |
| MCP tools not visible in Vibe | [[mcp_servers]] entry missing or path wrong | Re-run hydrate vibe install; confirm ~/.local/bin/hydrate-mcp exists |
Sessions show source = 'claude-code' | Session previously imported by another path | Manual fix: sqlite3 ~/.hydrate/data.db "UPDATE sessions SET source='mistral-vibe' WHERE session_id='<id>'" |
/mcp hydrate shows 0 tools | Vibe did not pick up config changes | Restart Vibe fully (not just /reload) |
Next steps
- Forked Vibe install — add
user_prompt_submit,pre_compact, and tool hooks for full Claude Code parity - Claude Code integration — context injection details
- Codex integration — add Codex to the same memory substrate