Plugin marketplace `marketplace.git` returns 404 on all git paths, though the plugin is registered and readable via the data API (eastus)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by reproducing the marketplace.git info/refs, HEAD, and plugin paths in East US with the documented token, comparing them with the /plugins data API response. Check both HTTP/2 and authenticated HTTP/1.1 behavior, including the git client path. Done means the generated marketplace repository is discoverable and cloneable over git's default HTTP/1.1, while the existing plugin remains readable.
Written by the indexing model from the issue text.
Description
Description
The plugin marketplace endpoint is enabled and a plugin is registered and fully readable through the data API, but the generated marketplace.git repository returns 404 on every git path — so git clone / /plugin marketplace add cannot discover any refs. The repo appears to never be generated/served, even though the plugin exists.
This looks like the same family as #79 (data-plane 404 on the MCP /v0.1/servers endpoint, fixed "to all regions" on 2026-06-25) — but on the plugin-marketplace surface, which is still 404ing in East US.
Environment
- API Center, region East US (
<service>.data.eastus.azure-apicenter.ms) - Plugin marketplace endpoint: enabled (Data API settings)
- Portal access method: Microsoft Entra ID
- Inventory: 1 MCP server + 6 skills + 1 plugin bundling all 7
- Token used for tests:
aud=https://azure-apicenter.net,scp=Data.Read.All(obtained via the managed-portal sign-in)
Reproduction steps
- Enable Plugin marketplace endpoint (Data API settings) with a registered plugin that bundles skills + an MCP server.
- Acquire a valid
azure-apicenter.net/Data.Read.Alldelegated token. - Confirm the plugin is readable via the data API (works — see below).
- Request the marketplace git paths with the same token (over HTTP/2 — see HTTP note):
GET …/workspaces/default/plugins/marketplace.git/info/refs?service=git-upload-pack -> 404
GET …/workspaces/default/plugins/marketplace.git/HEAD -> 404
GET …/workspaces/default/plugins/marketplace.git/.claude-plugin/marketplace.json -> 404
GET …/workspaces/default/plugins/marketplace.git -> 400 "The gitPath field is required."
GET …/workspaces/default/plugins -> 200 (returns the plugin)
Expected behavior
git clone …/marketplace.git (and the info/refs discovery) returns the generated marketplace repo — marketplace/ with .claude-plugin/, .github/, and a folder per plugin — as documented in Enable Discovery of Plugins from API Center Plugin Marketplace.
Actual behavior
All git paths return 404 (application/problem+json), so git clone / /plugin marketplace add fails with "repository not found". The data API returns the plugin correctly, so the plugin is registered — the git repo is simply not generated/served.
Sample 404 body:
{"type":"https://tools.ietf.org/html/rfc9110#section-15.5.5","title":"Not Found","status":404,"traceId":"00-455a74e4…"}
The data API returns the plugin fine (proving registration is correct):
{"value":[{"name":"client-insights","version":"1.0.0","resources":[
{"resourceId":"/workspaces/default/skills/<skill-1>","kind":"skill"},
… 5 more skills …,
{"resourceId":"/workspaces/default/apis/<mcp-server>","kind":"mcp"}]}]}
traceIds (East US)
00-455a74e436d1…
00-4ffc7ae760d1…
00-f7160ce7122c…
00-fd4e3ffe362280b2d0b325d8507dc4be-7a0b988ebfd5bdac-00
(Subscription/tenant available on request.)
What we already ruled out
- Not auth — 404 (not 401/403); the same token reads
…/pluginswith 200. - Not config — endpoint enabled, plugin bundle complete (7 resources), visibility open, portal Entra access configured + published. Per the docs there is no separate publish/sync/RBAC/MCP-endpoint step.
- Not transient — reproduced repeatedly over ~1.5h with fresh tokens.
- Toggle off→save→on→save the marketplace endpoint: no effect (still 404).
- Persists after #79's fix landed.
Secondary issue — authenticated HTTP/1.1 requests return empty-body 500
Independently: authenticated requests over HTTP/1.1 (git's default, plus curl / PowerShell Invoke-WebRequest / python urllib) return an empty-body 500 (no x-ms-request-id) for all data-plane paths. The same token over HTTP/2 returns correct codes (200 for …/plugins, 404 for the marketplace). Unauthenticated HTTP/1.1 cleanly 401s — it's the presence of an Authorization header over HTTP/1.1 that 500s.
This will block git clone even once the 404 is fixed (git negotiates HTTP/1.1 by default), so it's worth addressing alongside. Workaround: git config http.version HTTP/2.
- Dominant language
- PowerShell
- Stars
- 45
- Forks
- 21
- Avg merge
- 21m
- Merged PRs (30d)
- 1
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Azure/api-center
-
Feature request Untriaged
Difficulty 5/5 Over a week Newbie friendliness 48/100
Azure/api-center#93 · 1 comment ·
-
Bug Untriaged
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Azure/api-center#92 · 1 reaction ·
-
Bug Untriaged
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Azure/api-center#91 · 1 comment ·
-
Feature request Untriaged
Difficulty 3/5 1-2 days Newbie friendliness 68/100
Azure/api-center#90 · 1 comment · 1 reaction ·
-
Bug
Difficulty 3/5 1-2 days Newbie friendliness 65/100
Azure/api-center#89 · 1 comment · 1 reaction ·
All issues in Azure/api-center
Similar issues
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100