BETA In open beta. Install live. Lock $5/mo for your first 12 months. See pricing →
Integrations / Mistral Vibe

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-init workflows.

Prerequisites

  • Hydrate installed (hydrate doctor all-green). See Free install.
  • Mistral Vibe installed (vibe --version returns 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:

  1. Upserts the session row keyed by (user_id, session_id) — source = mistral-vibe.
  2. Records a prompt_submit hook 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/:

SkillUser-invocableMaps to
hydrateNoAutomatic "consult Hydrate first" behaviour
hydrate-lastYesResume from previous session (working memory + canon + recent facts)
hydrate-distillYesCheckpoint the current session before clearing
hydrate-initYesBootstrap 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:

HookClaude CodeStock Vibe
Context injection before prompt UserPromptSubmitclaude-context Not available — model must call hydrate_recall MCP tool instead
Session capture Stopclaude-capture post_agent_turnvibe-capture (fires per-turn)
Compact-survival snapshot PreCompactclaude-precompact Not available
Session start re-injection SessionStartclaude-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

PathPurpose
~/.vibe/config.tomlMCP server entry + enable_experimental_hooks = true
~/.vibe/hooks.tomlpost_agent_turn hook → vibe-capture (+ 5 others, no-op on stock)
~/.vibe/skills/hydrate*/Four skill files
~/.vibe/AGENTS.mdModel preamble pointing at MCP tools
~/.local/bin/vibe-capturepost_agent_turn shim
~/.local/bin/vibe-contextuser_prompt_submit shim (activates on forked Vibe)
~/.local/bin/vibe-precompactpre_compact shim (activates on forked Vibe)
~/.local/bin/vibe-tool-prepre_tool_use shim (activates on forked Vibe)
~/.local/bin/vibe-tool-postpost_tool_use shim (activates on forked Vibe)
~/.local/bin/vibe-session-startsession_start shim (activates on forked Vibe)

Troubleshooting

SymptomLikely causeFix
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