Skip to content

This release fixes issues for SREs watching stability and regressions.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai ai-agents ai-memory anthropic artificial-intelligence claude
+12 more
claude-agent-sdk claude-agents claude-code-plugin claude-skills codex embeddings long-term-memory memory-engine openclaw openclaw-skills postgresql llm

Affected surfaces

breaking_upgrade

Summary

AI summary

Fixes broken Hivemind hook entries left by previous releases.

Full changelog

Summary

Hotfix for a regression introduced in PR #128 and shipped in 0.7.23 + 0.7.24.

syncHivemindHooksToSettings() substituted ${CLAUDE_PLUGIN_ROOT} with a hardcoded literal path (~/.claude/plugins/hivemind/) at install time and wrote that into ~/.claude/settings.json. For marketplace-only users that path doesn't exist → every hivemind hook crashes at session start with ENOENT.

Root cause

The original sync helper was built on a flawed mental model: assumed Claude Code only reads hooks from settings.json. Actually it reads from BOTH settings.json AND the marketplace plugin's hooks.json. Modern marketplace users got new hooks via the marketplace registration; the sync helper was redundant for them AND actively harmful when the hardcoded path didn't exist.

Diagnosis came from a single-machine observation (the legacy install on the PR author's machine, where the hardcoded path DID exist). A fresh marketplace-only install was never tested.

What changes

  1. Deletes syncHivemindHooksToSettings() + supporting helpers from src/cli/install-claude.ts. Marketplace hooks.json handles registration; the sync helper was unnecessary indirection.

  2. Adds cleanupBrokenSettingsHooks() that runs on every hivemind install/update and removes the broken entries left behind by the buggy helper. Narrowly scoped:

    • Only touches entries whose command references the literal legacy path fragment .claude/plugins/hivemind/bundle/ AND the referenced file does NOT exist on disk
    • Functioning legacy installs (path exists) are preserved
    • Marketplace entries with ${CLAUDE_PLUGIN_ROOT} are preserved
    • Non-hivemind entries are preserved
    • Idempotent — second run is a no-op
    • Fail-safe — corrupt settings.json / unreadable file = no-op

Blast radius / who's affected

  • Anyone who ran hivemind update against 0.7.23 or 0.7.24 has broken hook entries
  • Every session start currently spawns node ~/.claude/plugins/hivemind/bundle/<hook>.js (file may not exist for marketplace-only users)
  • After this hotfix lands as 0.7.25, hivemind update auto-heals their settings.json

Test plan

  • [x] 2371 / 2371 unit tests passing (14 new for cleanupBrokenSettingsHooks, 22 sync-helper tests deleted)
  • [x] Clean-state E2E performed locally:
    • Sandboxed HOME=$(mktemp -d) — no .claude/, no .deeplake/, no plugin
    • npm install -g <local tarball>
    • hivemind claude install --skip-auth → marketplace flow used, settings.json contains ONLY extraKnownMarketplaces + enabledPlugins metadata, NO hardcoded hook entries
    • Copied creds to sandbox ~/.deeplake/credentials.json (proxy for hivemind login)
    • Invoked session-notifications.js with {session_id: "..."}
    • Banner rendered: 🐝 Welcome back, kamo.aghbalyan / Connected to org activeloop (workspace hivemind)
    • Debug log confirmed: backend notifications fetched, savings recap correctly skipped (no records yet), 1 notification delivered

What we lose

syncHivemindHooksToSettings had one legitimate use case: auto-merging new hook declarations into settings.json for legacy-only installs (users without the marketplace plugin registered). This is an extremely narrow population — anyone running hivemind update necessarily has both npm CLI and claude CLI which implies the marketplace plugin is also registered.

Workaround for that narrow population: hivemind uninstall && hivemind install re-registers via the marketplace flow.

Related issues

  • Genesis of the bug: PR #128
  • The lesson (filed for memory): when fixing install/plugin-loader issues, test on BOTH a clean marketplace-only install AND a legacy install. Single-machine E2E is not E2E when multiple install topologies exist.

Summary by CodeRabbit

Release Notes

  • Bug Fixes

    • Improved the installation process to automatically detect and remove stale hook entries that reference files no longer present on disk, keeping your settings clean and preventing obsolete configurations from persisting.
  • Tests

    • Updated test coverage to validate the enhanced cleanup behavior during installation.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Hivemind turns agent traces into skills and shares with your team

Get notified when new releases ship.

Sign up free

About Hivemind turns agent traces into skills and shares with your team

All releases →

Related context

Earlier breaking changes

  • v0.7.52 Removes `hivemind tasks` CLI and related code surfaces.
  • v0.7.51 Removes `hivemind tasks` CLI and related code surfaces.
  • v0.7.19 Module name skilify replaced with skillify; affects all imports
  • v0.7.19 CLI command skilify removed; renamed to skillify without deprecation alias
  • v0.7.18 CLI subcommand renamed from `skilify` to `skillify`; no deprecation alias.

Beta — feedback welcome: [email protected]