Skip to content

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

Description

@ChintanRaval

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 <plugin>:<skill> 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingp2Non-showstopper bug or popular feature request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions