v0.6.2
Hydrate v0.6.2
Quality-of-life release focused on first-time install and the cross-runtime hook layer. No breaking changes; existing installs upgrade cleanly via brew upgrade hydrate.
First-time install — quick-path wizard
hydrate setup (the post-install entry point) used to dump every step's chatter to the terminal and assume the user knew what tier they were on, which runtimes they wanted, and whether they wanted a local embedder. The flow now:
- Detects runtimes automatically — Claude Code / Codex / Vibe presence is probed up-front; you're shown a checklist of what's about to be wired, not a wall of install-hooks output.
- Offers the local embedder in the quick path — if you're on Free tier (or unauthenticated), the wizard now asks whether to fetch the bundled Nomic embedder so retrieval works without siteengine.
- Surfaces resolved tier + upgrade hint — the wizard ends by showing which tier the install resolved to and (for Free) a one-line
hydrate auth loginupgrade pointer. - Suppresses install-hooks chatter — what was previously ~40 lines of per-shim install output is now a single "wired N hooks" summary line; the verbose path is still available via
hydrate install-hooks --verbose. - Silent-corruption fix — a failure mode where partial
~/.hydrate/state (from a killed previous install) caused subsequent setup runs to no-op without surfacing the issue. The setup wrapper now detects and repairs the partial-state case.
Cross-runtime hook fixes
-
claude-precompactschema fix. Claude Code's hook schema only acceptshookSpecificOutputforPreToolUse/UserPromptSubmit/PostToolUse/PostToolBatch— notPreCompact. The shim was emitting{"hookSpecificOutput":{"hookEventName":"PreCompact",…}}on every/compact, which the validator rejected and surfaced as a schema error to the user. Recovery was unaffected (the snapshot file is read back bySessionStart), but the error noise is now gone.claude-precompactexits 0 with empty stdout; the read path is unchanged. -
vibe-session-endshim (new). Mistral Vibe forkv2.12.1-hydrate.0adds asession_endevent that fires on clean exit / signal / parent-close. The new shim consumes it: flushes a final session import (idempotent — server upserts on(user_id, session_id)) and writes a terminal marker at~/.hydrate/sessions/<session_id>.ended.jsonso the next session'sSessionStartknows the previous one is fully terminated. Fail-open on every error path. Wired intohydrate vibe installautomatically.
Upgrade
- macOS / Linux (Homebrew):
brew update && brew upgrade hydrate. Then runhydrate setupto pick up the new quick-path wizard (existing installs are not re-prompted). - macOS / Linux (install script):
curl -fsSL gethydrate.dev/install | sh. - Windows: download
Hydrate.msifrom the v0.6.2 release.
If you're a forked-Vibe user, the new session_end hook only fires against the v2.12.1-hydrate.0 tag — uv tool install --force git+https://github.com/getHydrate/mistral-vibe@v2.12.1-hydrate.0.
Everything else
v0.6.0 (autonomous wiki, per-package LLM prose, handover flow) and v0.6.1 (darwin/amd64 embedder restoration) are unchanged.