Where does the bug appear (feature/product)?
Cloud Agent (GitHub, Slack, Web, Linear)
Describe the Bug
Our team marketplace is a private Azure DevOps repository (https://dev.azure.com///_git/), registered at team level. Its plugins install normally in the Cursor IDE. In Cloud Agents none of them ever reach the VM: the backend-written ~/.cursor/plugins/cache/.cloud-plugin-manifest.json lists only the GitHub-hosted plugin enabled for the same team (cloudflare, GitHub - cloudflare/skills: Skills for teaching agents how to build on Cloudflare. · GitHub), and the Azure DevOps plugins are absent entirely, not even present as unresolved entries. The run records zero events, so there is no error anywhere for the user to see.
The environment is connected through the Azure DevOps integration and that part works (the workspace is cloned from dev.azure.com, daily environment builds succeed), so the credentials exist on the backend; they just aren’t used for the marketplace clone.
From reading the bundled cursor-plugins library in /exec-daemon/index.js on the VM, the marketplace clone path has no Azure DevOps authentication: toScmSshUrl() returns null for provider === “azure_devops”, so MarketplaceCacheManager.ensureClonedImpl goes straight to non-interactive HTTPS (credential.interactive=false, GIT_TERMINAL_PROMPT=0). The only credential sources on that path are an already-populated credential helper (exists on a laptop via Git Credential Manager, not on a headless backend), extraGitConfig (only used for the Origin distribution-mirror token) and githubToken (GitHub release assets only). Nothing injects the Azure DevOps integration token for dev.azure.com marketplace repos, which matches the observed behaviour: works in the IDE, silently fails in Cloud Agents.
Steps to Reproduce
- Register a team marketplace whose source is a private https://dev.azure.com/{org}/{project}/_git/{repo} repository, and enable one of its plugins for the team. Confirm it installs in the IDE.
- Enable any GitHub-hosted plugin as well (e.g. cloudflare).
- Start a Cloud Agent in an environment connected via the Azure DevOps integration.
- In the agent run cat ~/.cursor/plugins/cache/.cloud-plugin-manifest.json: only the GitHub plugin is listed. Asking the agent which skills it has shows none from the Azure DevOps plugins.
- Check the run’s events (dashboard or cursor-cloud get-events): empty, no plugin-related error.
Expected Behavior
Marketplace repositories on dev.azure.com are cloned (or synced into the Origin distribution mirror) with the same Azure DevOps credentials the Cloud Agent backend already uses for the team’s repositories, so Azure DevOps-hosted plugins install like GitHub-hosted ones.
If a plugin cannot be resolved for a run, it is surfaced: an event on the run (like mcp_auth_error) and/or a status in Dashboard → Plugins & MCPs, instead of silently omitting it from the manifest.
Operating System
Linux
Version Information
Version: 3.19.13 (user setup)
VS Code Extension API: 1.128.0
Commit: dd066f332fcea7382764400fde902f61920648d0
Date: 2026-09-04T17:41:16.065Z
Layout: Agent Window
Build Type: Stable
Release Track: Default
Electron: 42.10.0
Chromium: 148.0.7778.280
Node.js: 24.18.1
V8: 14.8.178.38-electron.0
xterm.js: 6.1.0-beta.291
OS: Windows_NT x64 10.0.26200
Additional Information
Team marketplace and the Azure DevOps integration are both configured at team level; the marketplace repo is in the same Azure DevOps organization and project as the environment’s repository.
Egress for the environment is unrestricted, so this is not a network policy issue.
Environment build logs contain no plugin step (plugins are provisioned at agent start by the backend via InstallPluginArtifact), so there is nothing to diagnose on the user side; the failure happens before the VM is involved.
Current workarounds: (1) an environment Build install step that clones the marketplace with the Build’s existing dev.azure.com git auth and copies plugins//skills/ into ~/.cursor/skills, which the cloud daemon does scan; (2) adding the plugins’ MCP servers manually as Team MCP servers. Both bypass the marketplace (no versioning, no admin visibility, plugin mcp.json/hooks/commands are lost).
Does this stop you from using Cursor
No - Cursor works, but with this issue