Skip to content

Claude Code plugin hooks silently no-op on current release: hook CLI verb only exists on main (not in 0.22.1) #1210

Description

@algomad

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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions