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.
TL;DR:
base-action/src/parse-sdk-options.tsparsesclaude_argsinto a record where onlyACCUMULATING_FLAGSmay repeat.plugin-dirisn't in the set, so--plugin-dir A --plugin-dir Breaches the CLI asBalone, silently droppingA, even though the CLI accepts the flag repeated. One-line fix: addplugin-dirtoACCUMULATING_FLAGS.Repro: pass two
--plugin-dirflags viaclaude_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_argsloses 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_marketplacesinputs (bypassclaude_argsparsing). They work well, but the silent collapse remains a trap for anyone reaching for the documented CLI flag.