Summary — The marketplace plugin (installed per the plugin README) wires SessionStart/PreCompact hooks that exec basic-memory hook <event>. That hook verb was added to main around Jul 20 (PR #1070, SPEC-55) and is still in the CHANGELOG "Unreleased" section, while the latest release on both GitHub and PyPI is v0.22.1 (Jun 13). Since every failure path deliberately exits 0, both hooks silently never run — no briefing, no compaction checkpoint, no error.
Repro — Windows 11, basic-memory 0.22.1 (uv tool install), plugin installed exactly per README (claude plugin marketplace add basicmachines-co/basic-memory --sparse .claude-plugin plugins/claude-code). Then:
basic-memory hook --help
# → Error: No such command 'hook'.
Both launcher paths fail identically: a pinned BM_BIN exe lacks the verb, and the uv path resolves basic-memory>=0.22.1 from PyPI to... 0.22.1, which also lacks it. Observed live: two auto-compactions produced no checkpoint note; session starts produce no brief.
Root cause — The marketplace serves plugin code from main, but the shims' inline dependency floor (basic-memory>=0.22.1) and the README claim that "all behavior lives in the released Python package" don't hold until 0.23 ships. The hook status health surface that would reveal this is also unreleased, so users have no way to notice.
Suggestions — (1) bump the shims' dependency floor only at release time and/or pin the marketplace to release tags; (2) as defense-in-depth, have the shim print a one-line stderr notice when the resolved CLI lacks the hook verb (still exiting 0); (3) until 0.23, a README note that hooks require the upcoming engine would save users a debugging session.
Found this while deliberately testing compaction behavior — otherwise the fail-open design (PEP 723 shims, BM_BIN override, fenced briefs) reads really clean. Thanks for the tool!
(Diagnosed with Claude Code — command outputs and commit references verified locally.)
Summary — The marketplace plugin (installed per the plugin README) wires SessionStart/PreCompact hooks that exec
basic-memory hook <event>. Thathookverb was added to main around Jul 20 (PR #1070, SPEC-55) and is still in the CHANGELOG "Unreleased" section, while the latest release on both GitHub and PyPI is v0.22.1 (Jun 13). Since every failure path deliberately exits 0, both hooks silently never run — no briefing, no compaction checkpoint, no error.Repro — Windows 11, basic-memory 0.22.1 (uv tool install), plugin installed exactly per README (
claude plugin marketplace add basicmachines-co/basic-memory --sparse .claude-plugin plugins/claude-code). Then:Both launcher paths fail identically: a pinned
BM_BINexe lacks the verb, and the uv path resolvesbasic-memory>=0.22.1from PyPI to... 0.22.1, which also lacks it. Observed live: two auto-compactions produced no checkpoint note; session starts produce no brief.Root cause — The marketplace serves plugin code from main, but the shims' inline dependency floor (
basic-memory>=0.22.1) and the README claim that "all behavior lives in the released Python package" don't hold until 0.23 ships. Thehook statushealth surface that would reveal this is also unreleased, so users have no way to notice.Suggestions — (1) bump the shims' dependency floor only at release time and/or pin the marketplace to release tags; (2) as defense-in-depth, have the shim print a one-line stderr notice when the resolved CLI lacks the
hookverb (still exiting 0); (3) until 0.23, a README note that hooks require the upcoming engine would save users a debugging session.Found this while deliberately testing compaction behavior — otherwise the fail-open design (PEP 723 shims, BM_BIN override, fenced briefs) reads really clean. Thanks for the tool!
(Diagnosed with Claude Code — command outputs and commit references verified locally.)