Menu

#373 docs(hosthooks): warn about pip uninstall order for Claude Code hooks

closed
nobody
None
2026-08-16
2026-08-14
Anonymous
No

Originally created by: QY-25123

Pull Request

Slice

  • Repo: doberman-core
  • Feature / Slice: docs — warn about pip uninstall order for Claude Code hooks
  • Plan reference: n/a (ad hoc doc fix, see [#372])

What this PR does

pip uninstall doberman-core has no way to also clean up the PreToolUse/PostToolUse/
SessionStart hook entries doberman install-hooks wrote into settings.json — pip doesn't
support a post-uninstall hook for this. If a user uninstalls without first running
doberman uninstall-hooks, every subsequent tool call in Claude Code fails with
doberman: command not found, indefinitely, since the stale entries still reference the binary.

This is a docs-only fix: it adds a clear warning + recovery instructions in the two places users
would look (README.md Quick Start, docs/SETUP.md hooks section). The recovery path itself
needs no new code — the existing hook entries are still correct, so simply reinstalling
(pip install doberman-core) makes them work again immediately.

Closes [#372].

Tests added (run in CI)

  • None — docs-only change, no code paths touched.

Public-release safety (doberman-core only)

  • [x] Contains nothing from the "not allowed" list: no enterprise/hosted code, no proprietary detection, no customer data, no secrets, no commercial-license code
  • [x] Core still builds/tests/runs with NO enterprise package installed

Security checklist

  • [x] Fails closed on error / uncertainty (unchanged — no code touched)
  • [x] No secret, full file, or unredacted prompt logged or committed
  • [x] Any guardrail/learning change is raise-only (no silent loosening) — n/a, no guardrail change
  • [x] Every BLOCK/AUTH carries reason codes + a human explanation — n/a, no decision-path change
  • [x] doberman-core does not import doberman_enterprise

Edge cases covered / Deviations from plan / Risks introduced

  • None. This is a documentation-only change with zero behavioral risk.

Related

Tickets: #372
Tickets: #375

Discussion

  • Anonymous

    Anonymous - 2026-08-15

    Ticket changed by: fu351

    • status: open --> closed
     
  • Anonymous

    Anonymous - 2026-08-15

    Originally posted by: fu351

    Merged, thanks. Two things stood out. You recommended the command that exists on main today (doberman uninstall-hooks) instead of leaning on your own [#375] before it landed, and you spotted that a plain reinstall repairs the stranded entries with zero new code, since the JSON was never touched. I verified both claims against merge_doberman_hooks in hosthooks/install.py before merging. Well-scoped docs fix. More over on [#375].

     

    Related

    Tickets: #375


Log in to post a comment.