Problem
When using claude-code-action on non-ephemeral self-hosted runners, the marketplace install step fails on the second run because the state from the previous run persists in ~/.claude/:
✘ Failed to add marketplace: Marketplace 'claude-code-plugins' is already installed.
Please remove it first using '/plugin marketplace remove claude-code-plugins' if you want to re-install it.
Expected behavior
The action should handle "already installed" gracefully — either skip the install if the marketplace is already present, or remove and re-install it.
Reproduction
- Use a non-ephemeral self-hosted runner
- Configure the action with
plugin_marketplaces and plugins
- First run succeeds
- Second run on the same runner fails
Workaround
None that's safe for concurrent jobs. Deleting ~/.claude between runs risks breaking concurrent jobs on the same runner.
Environment
- Runner: self-hosted, non-ephemeral (GCP MIG)
- Action version:
b113f49a56229d8276e2bf05743ad6900121239c
- Config:
plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
Problem
When using
claude-code-actionon non-ephemeral self-hosted runners, the marketplace install step fails on the second run because the state from the previous run persists in~/.claude/:Expected behavior
The action should handle "already installed" gracefully — either skip the install if the marketplace is already present, or remove and re-install it.
Reproduction
plugin_marketplacesandpluginsWorkaround
None that's safe for concurrent jobs. Deleting
~/.claudebetween runs risks breaking concurrent jobs on the same runner.Environment
b113f49a56229d8276e2bf05743ad6900121239cplugin_marketplaces: 'https://github.com/anthropics/claude-code.git'