anthropics / anthropics/claude-code-action

claude_args: repeated --plugin-dir collapses to last-one-wins (not in ACCUMULATING_FLAGS), silently dropping plugins

Open
#1,728 0 comments 0 reactions 0 assignees View on GitHub
bug p2
Dominant language
TypeScript
Stars
8.9k
Forks
2.1k
PR merge metrics
PR metrics pending

Description

TL;DR: `base-action/src/parse-sdk-options.ts` parses `claude_args` into a record where only `ACCUMULATING_FLAGS` may repeat. `plugin-dir` isn't in the set, so `--plugin-dir A --plugin-dir B` reaches the CLI as `B` alone, silently dropping `A`, even though the CLI accepts the flag repeated. One-line fix: add `plugin-dir` to `ACCUMULATING_FLAGS`.

Repro: pass two `--plugin-dir` flags via `claude_args`; only the last plugin installs, no warning. Confirmed by transcribing the parser from source; present at v1.0.183 and v1.0.205.

Impact: any workflow loading >1 local plugin via `claude_args` loses all but the last, silently. In our org-wide PR-review pipeline this meant review agents ran for weeks without the org rulesets living in sibling plugins — invisible, because a `:` reference into an uninstalled plugin fails without error. Two engineers independently root-caused it to the same line.

Workaround we shipped: the action's native `plugins/plugin_marketplaces` inputs (bypass `claude_args` parsing). They work well, but the silent collapse remains a trap for anyone reaching for the documented CLI flag.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.