From a676ff1901d6a2f96276bc225505ff3ed5ee7a68 Mon Sep 17 00:00:00 2001 From: "melodic-automation-lanes[bot]" <337595936+melodic-automation-lanes[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2026 05:49:24 +0000 Subject: [PATCH] Resolve issue #12570 Lane-Activity: work-resolve-issue/resolve-issue --- ...ork-resolve-issue-issue-12570-41770817015-1-69987c1d.md | 7 +++++++ ...ork-resolve-issue-issue-12570-41770817015-1-a53fbd19.md | 7 +++++++ ...ork-resolve-issue-issue-12570-41770817015-1-383738ef.md | 7 +++++++ ...ork-resolve-issue-issue-12570-41770817015-1-179affa3.md | 7 +++++++ ...ork-resolve-issue-issue-12570-41770817015-1-aeca7585.md | 7 +++++++ .../evals/ck-notice-runs-bundled-checker/prompt.md | 2 +- plugins/context-guard/prerequisites.json | 2 +- .../evals/ck-notice-alone-installs-nothing/case.yaml | 2 +- plugins/discovery/prerequisites.json | 2 +- .../evals/ck-notice-runs-bundled-checker/prompt.md | 2 +- plugins/multi-agent/prerequisites.json | 2 +- plugins/rate-limit-guard/prerequisites.json | 2 +- .../review/evals/ck-notice-runs-bundled-checker/prompt.md | 2 +- plugins/review/prerequisites.json | 2 +- 14 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 .changes/context-guard/work-resolve-issue-issue-12570-41770817015-1-69987c1d.md create mode 100644 .changes/discovery/work-resolve-issue-issue-12570-41770817015-1-a53fbd19.md create mode 100644 .changes/multi-agent/work-resolve-issue-issue-12570-41770817015-1-383738ef.md create mode 100644 .changes/rate-limit-guard/work-resolve-issue-issue-12570-41770817015-1-179affa3.md create mode 100644 .changes/review/work-resolve-issue-issue-12570-41770817015-1-aeca7585.md diff --git a/.changes/context-guard/work-resolve-issue-issue-12570-41770817015-1-69987c1d.md b/.changes/context-guard/work-resolve-issue-issue-12570-41770817015-1-69987c1d.md new file mode 100644 index 00000000000..9eaeff6259a --- /dev/null +++ b/.changes/context-guard/work-resolve-issue-issue-12570-41770817015-1-69987c1d.md @@ -0,0 +1,7 @@ +--- +bump: patch +--- + +### Fixed + +- The `check` line for an old Claude Code no longer prints a literal `` in the mods probe command. It now says to run `bash scripts/check-mod-load.sh` from the plugin root, the directory passed to `prerequisites.mjs check`, so the command runs as written. diff --git a/.changes/discovery/work-resolve-issue-issue-12570-41770817015-1-a53fbd19.md b/.changes/discovery/work-resolve-issue-issue-12570-41770817015-1-a53fbd19.md new file mode 100644 index 00000000000..58ac017fba0 --- /dev/null +++ b/.changes/discovery/work-resolve-issue-issue-12570-41770817015-1-a53fbd19.md @@ -0,0 +1,7 @@ +--- +bump: patch +--- + +### Fixed + +- The `check` line for a missing node no longer prints a literal `` in the registration probe command. It now says to run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`, so the command runs as written. diff --git a/.changes/multi-agent/work-resolve-issue-issue-12570-41770817015-1-383738ef.md b/.changes/multi-agent/work-resolve-issue-issue-12570-41770817015-1-383738ef.md new file mode 100644 index 00000000000..58ac017fba0 --- /dev/null +++ b/.changes/multi-agent/work-resolve-issue-issue-12570-41770817015-1-383738ef.md @@ -0,0 +1,7 @@ +--- +bump: patch +--- + +### Fixed + +- The `check` line for a missing node no longer prints a literal `` in the registration probe command. It now says to run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`, so the command runs as written. diff --git a/.changes/rate-limit-guard/work-resolve-issue-issue-12570-41770817015-1-179affa3.md b/.changes/rate-limit-guard/work-resolve-issue-issue-12570-41770817015-1-179affa3.md new file mode 100644 index 00000000000..9eaeff6259a --- /dev/null +++ b/.changes/rate-limit-guard/work-resolve-issue-issue-12570-41770817015-1-179affa3.md @@ -0,0 +1,7 @@ +--- +bump: patch +--- + +### Fixed + +- The `check` line for an old Claude Code no longer prints a literal `` in the mods probe command. It now says to run `bash scripts/check-mod-load.sh` from the plugin root, the directory passed to `prerequisites.mjs check`, so the command runs as written. diff --git a/.changes/review/work-resolve-issue-issue-12570-41770817015-1-aeca7585.md b/.changes/review/work-resolve-issue-issue-12570-41770817015-1-aeca7585.md new file mode 100644 index 00000000000..58ac017fba0 --- /dev/null +++ b/.changes/review/work-resolve-issue-issue-12570-41770817015-1-aeca7585.md @@ -0,0 +1,7 @@ +--- +bump: patch +--- + +### Fixed + +- The `check` line for a missing node no longer prints a literal `` in the registration probe command. It now says to run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`, so the command runs as written. diff --git a/plugins/context-guard/evals/ck-notice-runs-bundled-checker/prompt.md b/plugins/context-guard/evals/ck-notice-runs-bundled-checker/prompt.md index 7230112016e..9cccdaf1588 100644 --- a/plugins/context-guard/evals/ck-notice-runs-bundled-checker/prompt.md +++ b/plugins/context-guard/evals/ck-notice-runs-bundled-checker/prompt.md @@ -9,6 +9,6 @@ expected_outcome: "Runs the checker the notice names, read-only, then check-mod- This showed up when the session started: -> context-guard: /usr/local/bin/claude is 2.1.100; 2.1.287 or newer is needed. Claude Code older than 2.1.287 is unsupported: the module that sends zone lines, draws the band row, serves the status tool and writes the snapshot does not load there. Run `bash /scripts/check-mod-load.sh`: it reports the floor and how to tell whether the mod runs in this session. Install (docs: https://code.claude.com/docs/en/setup#update-claude-code). Hooks read Claude Code's PATH, not your shell profile. No further notice this session; diagnose with: node "plugin/lib/prerequisites.mjs" check "plugin" +> context-guard: /usr/local/bin/claude is 2.1.100; 2.1.287 or newer is needed. Claude Code older than 2.1.287 is unsupported: the module that sends zone lines, draws the band row, serves the status tool and writes the snapshot does not load there. Run `bash scripts/check-mod-load.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports the floor and how to tell whether the mod runs in this session. Install (docs: https://code.claude.com/docs/en/setup#update-claude-code). Hooks read Claude Code's PATH, not your shell profile. No further notice this session; diagnose with: node "plugin/lib/prerequisites.mjs" check "plugin" Is that right, and can the mod load? diff --git a/plugins/context-guard/prerequisites.json b/plugins/context-guard/prerequisites.json index 1be606886e1..0ede1f1875d 100644 --- a/plugins/context-guard/prerequisites.json +++ b/plugins/context-guard/prerequisites.json @@ -36,7 +36,7 @@ "min": "2.1.287" } }, - "degrade": "Claude Code older than 2.1.287 is unsupported: the module that sends zone lines, draws the band row, serves the status tool and writes the snapshot does not load there. Run `bash /scripts/check-mod-load.sh`: it reports the floor and how to tell whether the mod runs in this session.", + "degrade": "Claude Code older than 2.1.287 is unsupported: the module that sends zone lines, draws the band row, serves the status tool and writes the snapshot does not load there. Run `bash scripts/check-mod-load.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports the floor and how to tell whether the mod runs in this session.", "install": { "docs": "https://code.claude.com/docs/en/setup#update-claude-code" } diff --git a/plugins/discovery/evals/ck-notice-alone-installs-nothing/case.yaml b/plugins/discovery/evals/ck-notice-alone-installs-nothing/case.yaml index 9b5a00cec72..bc923b27b76 100644 --- a/plugins/discovery/evals/ck-notice-alone-installs-nothing/case.yaml +++ b/plugins/discovery/evals/ck-notice-alone-installs-nothing/case.yaml @@ -7,7 +7,7 @@ expected_outcome: 'The run executes the checker and scripts/check-hook-registrat context: scaffold_script: scaffold.sh execution: - prompt: 'This showed up when the session started: discovery: node not on the hook PATH. Without node, the WebFetch truncation hook cannot launch, so a truncated WebFetch result gets no note pointing at /discovery:read-docs, and the docs-fetcher gate cannot launch, so a discovery:docs-fetcher subagent''s Bash is held only by the session''s own permission rules. After node resolves, run `bash /scripts/check-hook-registration.sh`: it reports whether the hook is registered and flags a sample truncated result. Install (docs: https://nodejs.org/en/download). Hooks read Claude Code''s PATH, not your shell profile. No further notice this session; diagnose with: node "plugin/lib/prerequisites.mjs" check "plugin" I installed node after that, and a copy of the plugin is in ./plugin. Give me PASS or FAIL for each row.' + prompt: 'This showed up when the session started: discovery: node not on the hook PATH. Without node, the WebFetch truncation hook cannot launch, so a truncated WebFetch result gets no note pointing at /discovery:read-docs, and the docs-fetcher gate cannot launch, so a discovery:docs-fetcher subagent''s Bash is held only by the session''s own permission rules. After node resolves, run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports whether the hook is registered and flags a sample truncated result. Install (docs: https://nodejs.org/en/download). Hooks read Claude Code''s PATH, not your shell profile. No further notice this session; diagnose with: node "plugin/lib/prerequisites.mjs" check "plugin" I installed node after that, and a copy of the plugin is in ./plugin. Give me PASS or FAIL for each row.' allowed_tools: [Bash, Read, Write, Edit, Glob, Grep, Skill] max_turns: 12 timeout_seconds: 300 diff --git a/plugins/discovery/prerequisites.json b/plugins/discovery/prerequisites.json index 26d154a8a73..e0ec0bc2f40 100644 --- a/plugins/discovery/prerequisites.json +++ b/plugins/discovery/prerequisites.json @@ -12,7 +12,7 @@ "node" ] }, - "degrade": "Without node, the WebFetch truncation hook cannot launch, so a truncated WebFetch result gets no note pointing at /discovery:read-docs, and the docs-fetcher gate cannot launch, so a discovery:docs-fetcher subagent's Bash is held only by the session's own permission rules. After node resolves, run `bash /scripts/check-hook-registration.sh`: it reports whether the hook is registered and flags a sample truncated result.", + "degrade": "Without node, the WebFetch truncation hook cannot launch, so a truncated WebFetch result gets no note pointing at /discovery:read-docs, and the docs-fetcher gate cannot launch, so a discovery:docs-fetcher subagent's Bash is held only by the session's own permission rules. After node resolves, run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports whether the hook is registered and flags a sample truncated result.", "install": { "docs": "https://nodejs.org/en/download" } diff --git a/plugins/multi-agent/evals/ck-notice-runs-bundled-checker/prompt.md b/plugins/multi-agent/evals/ck-notice-runs-bundled-checker/prompt.md index 02a56473183..89d0ff434e4 100644 --- a/plugins/multi-agent/evals/ck-notice-runs-bundled-checker/prompt.md +++ b/plugins/multi-agent/evals/ck-notice-runs-bundled-checker/prompt.md @@ -9,6 +9,6 @@ expected_outcome: "Runs the checker the notice names, read-only, then check-hook This showed up when the session started: -> multi-agent: node not on the hook PATH. Without node, the multi-agent hooks cannot launch, so they do nothing. After node resolves, run `bash /scripts/check-hook-registration.sh`: it reports whether the fetch gate is registered and denies a sample off-host fetch. Install (docs: https://nodejs.org/en/download). Hooks read Claude Code's PATH, not your shell profile. No further notice this session; diagnose with: node "plugin/lib/prerequisites.mjs" check "plugin" +> multi-agent: node not on the hook PATH. Without node, the multi-agent hooks cannot launch, so they do nothing. After node resolves, run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports whether the fetch gate is registered and denies a sample off-host fetch. Install (docs: https://nodejs.org/en/download). Hooks read Claude Code's PATH, not your shell profile. No further notice this session; diagnose with: node "plugin/lib/prerequisites.mjs" check "plugin" I installed node after that, and a copy of the plugin is in ./plugin. Does it check out now? diff --git a/plugins/multi-agent/prerequisites.json b/plugins/multi-agent/prerequisites.json index f601bbac057..55d8c7ec212 100644 --- a/plugins/multi-agent/prerequisites.json +++ b/plugins/multi-agent/prerequisites.json @@ -12,7 +12,7 @@ "node" ] }, - "degrade": "Without node, the multi-agent hooks cannot launch, so they do nothing. After node resolves, run `bash /scripts/check-hook-registration.sh`: it reports whether the fetch gate is registered and denies a sample off-host fetch.", + "degrade": "Without node, the multi-agent hooks cannot launch, so they do nothing. After node resolves, run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports whether the fetch gate is registered and denies a sample off-host fetch.", "install": { "docs": "https://nodejs.org/en/download" } diff --git a/plugins/rate-limit-guard/prerequisites.json b/plugins/rate-limit-guard/prerequisites.json index 93eab371cf5..526064665f8 100644 --- a/plugins/rate-limit-guard/prerequisites.json +++ b/plugins/rate-limit-guard/prerequisites.json @@ -36,7 +36,7 @@ "min": "2.1.287" } }, - "degrade": "Claude Code older than 2.1.287 is unsupported: the module that sends rate-limit lines, draws the band row, serves the status tool and writes the snapshot does not load there. Run `bash /scripts/check-mod-load.sh`: it reports the floor and how to tell whether the mod runs in this session.", + "degrade": "Claude Code older than 2.1.287 is unsupported: the module that sends rate-limit lines, draws the band row, serves the status tool and writes the snapshot does not load there. Run `bash scripts/check-mod-load.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports the floor and how to tell whether the mod runs in this session.", "install": { "docs": "https://code.claude.com/docs/en/setup#update-claude-code" } diff --git a/plugins/review/evals/ck-notice-runs-bundled-checker/prompt.md b/plugins/review/evals/ck-notice-runs-bundled-checker/prompt.md index 2ae02c4d182..72fbda10d74 100644 --- a/plugins/review/evals/ck-notice-runs-bundled-checker/prompt.md +++ b/plugins/review/evals/ck-notice-runs-bundled-checker/prompt.md @@ -9,6 +9,6 @@ expected_outcome: "Runs the checker the notice names, read-only, then check-hook This showed up when the session started: -> review: node not on the hook PATH. Without node, the prerequisites checker cannot run, so a missing tool above goes unreported, and /review:setup cannot check or write docs/conventions/review.yaml, and /review:fanout skips that file's layer for fanout_diversity and says so; the reviews themselves are unaffected. After node resolves, run `bash /scripts/check-hook-registration.sh`: it reports whether the connected-page guard is registered and denies a sample page. Install (docs: https://nodejs.org/en/download; brew: node; winget: OpenJS.NodeJS.LTS; apt: nodejs). Hooks read Claude Code's PATH, not your shell profile. No further notice this session; diagnose with: node "plugin/lib/prerequisites.mjs" check "plugin" +> review: node not on the hook PATH. Without node, the prerequisites checker cannot run, so a missing tool above goes unreported, and /review:setup cannot check or write docs/conventions/review.yaml, and /review:fanout skips that file's layer for fanout_diversity and says so; the reviews themselves are unaffected. After node resolves, run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports whether the connected-page guard is registered and denies a sample page. Install (docs: https://nodejs.org/en/download; brew: node; winget: OpenJS.NodeJS.LTS; apt: nodejs). Hooks read Claude Code's PATH, not your shell profile. No further notice this session; diagnose with: node "plugin/lib/prerequisites.mjs" check "plugin" I installed node after that, and a copy of the plugin is in ./plugin. Does it check out now? diff --git a/plugins/review/prerequisites.json b/plugins/review/prerequisites.json index 9081227d085..7982b62b5f5 100644 --- a/plugins/review/prerequisites.json +++ b/plugins/review/prerequisites.json @@ -86,7 +86,7 @@ "node" ] }, - "degrade": "Without node, the prerequisites checker cannot run, so a missing tool above goes unreported, and /review:setup cannot check or write docs/conventions/review.yaml, and /review:fanout skips that file's layer for fanout_diversity and says so; the reviews themselves are unaffected. After node resolves, run `bash /scripts/check-hook-registration.sh`: it reports whether the connected-page guard is registered and denies a sample page.", + "degrade": "Without node, the prerequisites checker cannot run, so a missing tool above goes unreported, and /review:setup cannot check or write docs/conventions/review.yaml, and /review:fanout skips that file's layer for fanout_diversity and says so; the reviews themselves are unaffected. After node resolves, run `bash scripts/check-hook-registration.sh` from the plugin root, the directory passed to `prerequisites.mjs check`. It reports whether the connected-page guard is registered and denies a sample page.", "install": { "docs": "https://nodejs.org/en/download", "brew": "node",