Skip to content

fix: allow installed plugin skills to execute in headless runs#1467

Open
Sammy-Dabbas wants to merge 1 commit into
anthropics:mainfrom
Sammy-Dabbas:issue-1458-plugin-skill-regression
Open

fix: allow installed plugin skills to execute in headless runs#1467
Sammy-Dabbas wants to merge 1 commit into
anthropics:mainfrom
Sammy-Dabbas:issue-1458-plugin-skill-regression

Conversation

@Sammy-Dabbas

Copy link
Copy Markdown

Fixes #1458.

When a workflow installs plugins via the plugins input and the prompt asks Claude to run one of their skills, the run fails with Error: Execute skill: . The cause is permissions rather than installation: headless runs cannot answer permission prompts, and a plugin skill that declares extra capabilities in its frontmatter (for example allowed-tools) is auto-denied when the model invokes the Skill tool, because the action never granted Skill rules for the plugins it just installed. I reproduced this deterministically with a local test plugin and a mock API server against the pinned CLI: the Skill call returns a permission denial with exactly the reported error.

One note on the version bound in the report: fad22eb only bumps the pinned CLI version and the same repro also fails on 2.1.195, so the boundary likely reflects the newer CLI's default model invoking skills through the Skill tool more often, rather than an action code change.

The fix derives Skill(:*) allow rules from the plugins input and merges them into allowedTools in both entrypoints. Installing a plugin is already an explicit opt-in by the workflow author, the same trust the action extends by enabling project MCP servers. User-provided allowed_tools and claude_args values are unaffected since parse-sdk-options merges rather than overwrites.

Tests: nine new unit tests for the rule derivation (failing without the fix), full suite passes, typecheck and prettier clean. Also verified end to end through runClaude() against the pinned CLI: before the fix the skill invocation returns is_error with the reported message, after it the skill launches with no permission denials.

Plugin skills that declare extra capabilities in their frontmatter are
auto-denied by the CLI's permission system in headless runs, so prompts
asking Claude to run a skill from an installed plugin fail with
Error: Execute skill: <name>. Derive Skill(<plugin>:*) allow rules from
the plugins input and merge them into allowedTools in both entrypoints.
Installing a plugin is an explicit opt-in by the workflow author.

Fixes anthropics#1458.
simonheimlicher added a commit to outcomeeng/gh-actions that referenced this pull request Jul 6, 2026
Opting into project plugins installs skills whose frontmatter
declares allowed-tools, which the pinned claude-code-action denies
in headless runs because it grants no Skill rule for installed
plugins. Document the Skill(<plugin>:*) allowlist workaround and the
upstream fix (anthropics/claude-code-action#1467) that retires it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Regression in v1: plugin skill invocation via prompt fails after SHA fad22eb

1 participant