[BUG] `/plugin marketplace add` hangs indefinitely during repository clone
Status Fixed / completed
Maintainer reply ✓ Yes — dhollman
Workaround ✓ Mentioned in description ↑
Activity 7 comments · opened Oct 10, 2025 · closed Oct 10, 2025
💡 Likely answer: A maintainer (dhollman, contributor)
responded on this thread — see the highlighted reply below.
Environment
- Claude Code Version: 2.0.13
- Platform: macOS (Darwin 22.6.0)
- Node Version: 20.19.4
- Terminal: Claude Code CLI
- Feature Age: Tested <24 hours after Oct 9, 2025 announcement
Summary
/plugin marketplace add creates the marketplace directory structure but hangs indefinitely when attempting to clone the repository content. No timeout, no error message, no progress indication.
Reproduction Steps
- Run
/pluginin Claude Code - Select "Add marketplace"
- Enter
Wolfe-Jam/faf-cli - Command hangs indefinitely
Result:
- ✅ Creates
~/.claude/plugins/config.jsonwith repository entry - ✅ Creates
~/.claude/plugins/marketplaces/wolfe-Jam-faf/directory - ❌ Directory remains empty (git clone never completes)
- ❌ No timeout or error message
Workaround
Manual git clone succeeds:
cd ~/.claude/plugins/marketplaces/wolfe-Jam-faf
git clone https://github.com/Wolfe-Jam/faf-cli.git .
Follow-up Issue
After manual clone, /plugin install faf reports:
Plugin "faf" not found in any marketplace
Despite valid marketplace.json at:
~/.claude/plugins/marketplaces/wolfe-Jam-faf/marketplace.json
What Works Well ✅
The validation tool works perfectly and caught a real bug in the plugin manifest:
claude plugin validate ~/.claude/plugins/marketplaces/wolfe-Jam-faf
# Clear error: "repository: Expected string, received object"
After fixing the manifest format, validation passes. However, commands still don't activate.
Expected Behavior
/plugin marketplace addshould clone repository OR timeout with error message/plugin installshould discover plugins from valid marketplace.json- Slash commands from installed plugins should become available
Actual Behavior
- Marketplace add hangs with no feedback
- Plugin discovery fails silently
- Commands never activate
System Info
Claude Code: 2.0.13
OS: darwin (Darwin 22.6.0)
Node: v20.19.4
Git: Available and working (manual clone succeeds)
Repository tested: https://github.com/Wolfe-Jam/faf-cli
Marketplace structure: Valid (contains .claude-plugin/marketplace.json)
Plugin manifest: Valid after fixing repository field format
Impact
Blocks the primary plugin installation workflow for users. The feature was announced yesterday, so early feedback on installation UX may be valuable.
Suggested Improvements
- Add timeout to repository clone operations
- Show progress indicator during git clone
- Provide actionable error messages on failure
- Improve plugin discovery from validated marketplaces
Additional Notes
- Tested immediately after Oct 9, 2025 announcement
- Feature is brand new (public beta), so bugs are expected
- Willing to provide additional debugging info if helpful
- Repository: https://github.com/Wolfe-Jam/faf-cli
---
Labels: bug, plugins, marketplace, installation
Priority: Medium-High (blocks primary installation workflow)
7 Comments
Running into this same issue on WSL. I see the repo is trying to be cloned, and when looking at the folder, the files are present.
When adding the marketplace times out, all files are removed as well.
Should be fixed in the next release! Please re-open if you're still having issues after tomorrow morning.
Will check, thanks
Hi @dhollman! I am still experiencing this issue on 2.0.14.
Update: Bug Still Present in v2.0.14 - Root Cause Identified
Tested Environment:
Test Result: STILL HANGING ❌
Root Cause Found
The
/plugin marketplace addcommand uses SSH clone instead of HTTPS clone:Evidence:
The SSH process hangs waiting for authentication, which never completes in the background.
Verified Working
Manual HTTPS clone completes in 4 seconds:
Plugin Structure Validated
While testing, confirmed the plugin repository is production-ready:
claude plugin validate- PASSEDRecommendation
Change marketplace clone to use HTTPS URLs instead of SSH URLs for public repositories.
Breakthrough: Manual Installation Works - SSH Clone is the Only Issue
Critical Discovery:
After extensive testing, the plugin works perfectly when installed manually. The bug is exclusively in the
/plugin marketplace addSSH clone logic.✅ What Works
Manual installation (bypassing marketplace add):
Result:
/faf-statustested and working❌ What's Broken
Only the marketplace clone step:
Test Matrix
| Method | Clone Protocol | Result |
|--------|---------------|--------|
|
owner/reposhorthand | SSH (git@github.com) | ❌ Hangs indefinitely ||
https://...URL | Treats as marketplace.json URL | ❌ Wrong interpretation || Manual
git clone https://...| HTTPS | ✅ Works (4 seconds) || Copy to marketplaces dir | N/A | ✅ Commands activate |
Root Cause Confirmed
The
owner/reposhorthand incorrectly resolves to SSH instead of HTTPS:Wolfe-Jam/faf-cli→git@github.com:Wolfe-Jam/faf-cli.gitWolfe-Jam/faf-cli→https://github.com/Wolfe-Jam/faf-cli.gitFix Required
Change one line in the marketplace clone logic:
Impact
Once this single-line fix is deployed:
/plugin marketplace add Wolfe-Jam/faf-cliwill workThe plugin ecosystem is ready - just needs the SSH→HTTPS fix in Claude Code.
---
Environment: Claude Code v2.0.14, macOS
Repository: https://github.com/Wolfe-Jam/faf-cli (production-ready)
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.