claude-code - 💡(How to fix) Fix [Feature] Public deep link to open 'Add marketplace' dialog in Claude Desktop with prefilled URL

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Claude Desktop has no documented claude:// deep link to open the "Add marketplace" dialog (Customize → Plugins personales → + → Crear plugin → Añadir marketplace) with the marketplace URL prefilled.

For third-party plugin vendors who self-host a marketplace and want a one-click install button on their landing page, this is the missing piece between "tell users to copy a URL and click through five menus" and "click here, confirm in Claude Desktop, done."

Root Cause

Claude Desktop has no documented claude:// deep link to open the "Add marketplace" dialog (Customize → Plugins personales → + → Crear plugin → Añadir marketplace) with the marketplace URL prefilled.

For third-party plugin vendors who self-host a marketplace and want a one-click install button on their landing page, this is the missing piece between "tell users to copy a URL and click through five menus" and "click here, confirm in Claude Desktop, done."

Fix Action

Fix / Workaround

So there is no path I can target today, even with a workaround.

Code Example

<a href="claude://claude.ai/customize/plugins/marketplaces/add?url=https%3A%2F%2Fapi.robinlawyer.ai%2Fplugins.git">
  Install Robin in Claude Desktop
</a>

---

claude://claude.ai/customize/plugins/marketplaces/add?url=<marketplace-url>
RAW_BUFFERClick to expand / collapse

Summary

Claude Desktop has no documented claude:// deep link to open the "Add marketplace" dialog (Customize → Plugins personales → + → Crear plugin → Añadir marketplace) with the marketplace URL prefilled.

For third-party plugin vendors who self-host a marketplace and want a one-click install button on their landing page, this is the missing piece between "tell users to copy a URL and click through five menus" and "click here, confirm in Claude Desktop, done."

Use case

I run Robin, a Spanish legal-tech tool that ships a Claude Desktop plugin via a self-hosted git marketplace at https://api.robinlawyer.ai/plugins.git. I'd like my install page to expose a single button:

<a href="claude://claude.ai/customize/plugins/marketplaces/add?url=https%3A%2F%2Fapi.robinlawyer.ai%2Fplugins.git">
  Install Robin in Claude Desktop
</a>

That should open Claude Desktop straight into the "Add marketplace" dialog with the URL prefilled, so the user only has to click "Sync" and confirm. Today my users have to perform six manual actions even after clicking my button.

What I found while investigating

After extracting app.asar from Claude Desktop 0.x (macOS) and reading claudeURLHandler in .vite/build/index.js, I see:

  1. The handler has a case Dg.Customize that recognizes claude://claude.ai/customize/plugins/new?marketplace=<url>&plugin=<id>. However, the path it forwards to (/customize/plugins/new) is the "Create plugin" wizard, not the "Add marketplace" dialog, so this does not solve the install-from-vendor use case.
  2. The path actually used by the "Add marketplace" modal (per topFrameUrl logs) is /customize/plugins/marketplaces, but the dialog itself is a React overlay with no dedicated route — /customize/plugins/marketplaces/add returns "Not Found".
  3. The generic fallback pRA strips all query params except a small allowlist (authed_mcp_server_id, server, step, *_success, oauth_error, flow_id), so even if the route existed, ?url= would be discarded.

So there is no path I can target today, even with a workaround.

Proposed solutions (any of these would unblock vendors)

Option A (preferred): publish a stable deep link for the "Add marketplace" dialog with a prefill parameter:

claude://claude.ai/customize/plugins/marketplaces/add?url=<marketplace-url>

The user still confirms inside Claude Desktop — no silent install.

Option B: extend the existing case Dg.Customize so that when the inner path is plugins/marketplaces/add (or new), the url/marketplace query param survives pRA's allowlist and is forwarded to the React route.

Option C: add a dedicated claude://plugin/marketplace/add?url=… host, analogous to the existing claude://code/new?q=… and claude://cowork/new?q=….

Why this matters now

Plugin marketplaces are how third parties extend Claude Desktop. Without a 1-click install link, every vendor has to teach users a 5-click flow (open Customize → Plugins personales → + → Crear plugin → Añadir marketplace → paste URL → Sync), which is a real conversion killer on landing pages. A documented deep link would put plugin vendors on par with what claude://code/new already offers for prompts.

Environment

  • Claude Desktop: latest (macOS, build verified 2026-05-26)
  • macOS: 15 (Sequoia)
  • Plugin marketplace tested: https://api.robinlawyer.ai/plugins.git (git dumb HTTP, self-hosted)

Happy to test any preview build that ships such a link.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING