Plugin marketplace add fails to clone repository when 1Password SSH agent is configured
Description
/plugin marketplace add obra/superpowers consistently fails with:
Error: Failed to clone marketplace repository:
No additional error details are shown to the user.
Environment
- Claude Code version: 2.1.32
- OS: macOS (Darwin 25.2.0)
- Git signing: Configured with 1Password SSH agent (
op-ssh-sign)
````
gpg.format=ssh
gpg.ssh.program=/Applications/1Password.app/Contents/MacOS/op-ssh-sign
Debug Log Analysis
From the session debug log, the sequence is:
- SSH clone is attempted and fails:
````
[INFO] SSH clone failed for obra/superpowers despite SSH being configured, falling back to HTTPS
- HTTPS fallback also silently fails (no error logged)
- User sees:
Error: Failed to clone marketplace repository:
This pattern repeats for every attempt, whether using obra/superpowers or obra/superpowers-marketplace.
What works
git clone https://github.com/obra/superpowersworks perfectly from the terminalssh -T git@github.comauthenticates successfullySSH_AUTH_SOCK="" git clone https://github.com/obra/superpowersalso works (HTTPS without SSH agent)- Other plugin marketplaces install fine (e.g., chime-claude-plugins from a private GitHub repo)
Attempted workarounds (none resolved)
- Unsetting git URL rewrite:
git config --global --unset url.git@github.com:.insteadOf - Disabling sandbox in Claude Code settings
- Multiple restart/reinstall cycles
Suspected cause
Claude Code's internal git clone subprocess likely cannot communicate with the 1Password SSH agent, causing the SSH attempt to fail. The HTTPS fallback then also fails for an unknown reason within the sandboxed/subprocess context. The error message is empty, making it difficult for users to diagnose.
Suggestions
- Log the actual error from both the SSH and HTTPS clone attempts in the debug log
- Ensure the HTTPS fallback doesn't inherit SSH-related environment that could interfere
- Surface more detail in the user-facing error message
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗