Repository navigation
Conversation
…ns a person installs An organization can require approval for a connector's tool; the engine names that on tool.check as the question's ceiling. Seated, the policy mod holds it over the user tier as it holds a deny rule: an answer more permissive than the ceiling is put to the run that leaves the user tier out, and a stricter verdict there is the answer. What an organization's plugin logs continues past the user tier, this mod's own lines included. Every hook that decides carries a .catch that decides as its hook does and depends on no call on $ succeeding.
poteat
enabled auto-merge (squash)
October 5, 2026 01:04
Copilot stopped work on behalf of
skotanislaw-design due to an error
October 5, 2026 16:17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
An organization can require approval for a connector's tool. Seated, the policy mod now holds that ceiling over the plugins a person installs, as it holds a deny rule.
Notes
tool.checkceiling, the dispatch is run once more past the user tier, and a stricter verdict there is the answer. The person is told once for each plugin. No option lifts it.ui.logprependorappend, this mod's own included, continues past the user tier. What a person's plugins, the built-ins and the engine log is theirs to hook as before.classic.*,settings.read,tool.describe,command.describe,agent.offer,agent.spawn,tool.register,tool.list.catchthat decides as its hook does. None depends on a call on$succeeding: a policy read that rejects or throws counts as a policy in force.plugin.register,tool.check.catchhandlers are named functions with tests of their own; a line that cannot be logged changes no answer.mods/types/claude-code.d.tsnamesceilingontool.check's input and result. The engine sets it from the tool and pins it; a hook's own is dropped.The five hooks that only pass prompt content and attribution text over the user tier carry no
.catch, and the README says so.Test Plan
claude plugin test mods/sec-default: 107 pass, 0 fail (57 before).catchdeleted alone, and each replaced bynext(e)alone: at least one case fails every timeclaude plugin validate mods/sec-defaultlists the gating hooks with their.catch