-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Tool policy pipeline falsely warns about plugin tools in alsoAllow #77801
Copy link
Copy link
Closed
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.no-staleExclude from stale automationExclude from stale automation
Description
Metadata
Metadata
Assignees
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.no-staleExclude from stale automationExclude from stale automation
Type
Fields
Priority
None yet
Description
When a plugin tool (e.g.
llm-task) is listed in an agent'stools.alsoAllowand the plugin is enabled, the tool policy pipeline emits a warning:This is misleading — the plugin is enabled and the tool does work correctly. The warning appears because
analyzeAllowlistByToolTyperuns before plugin tools are registered in the session's tool catalog, so the pipeline classifies them as "unknown" at that point.Steps to Reproduce
optional: truetool (e.g.llm-task)tools.alsoAllow(needed because optional tools aren't included by the default profile)Expected Behavior
The pipeline should recognize that the entry corresponds to an enabled plugin tool and not emit a warning — or at minimum, the warning should distinguish between "plugin not enabled" and "plugin enabled but tool not yet registered."
Actual Behavior
The warning incorrectly states the entries "won't match any tool unless the plugin is enabled," even though the plugin is already enabled.
Root Cause
In
tool-policy-pipeline.ts, theanalyzeAllowlistByToolTypefunction checks allowlist entries againstpluginGroups(built from the currently registered tools) andcoreTools. At the time the pipeline runs — particularly in the[agent/embedded]context — plugin tools may not yet be populated in the tool catalog, causing valid plugin tool names to fall intounknownAllowlist.Environment
llm-task(enabled,optional: true)tools.alsoAllow: ["llm-task"]