Skip to content

[pkg firewall] docs only: record why VS Code needs a product.json patch - #24

Open
dekkagaijin wants to merge 1 commit into
mainfrom
vscode-fw-1-policy-findings
Open

[pkg firewall] docs only: record why VS Code needs a product.json patch#24
dekkagaijin wants to merge 1 commit into
mainfrom
vscode-fw-1-policy-findings

Conversation

@dekkagaijin

@dekkagaijin dekkagaijin commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Design notes, no code. The proposed implementation in the RFC Lands ahead of the VS Code ecosystem implementation so the mechanism can be agreed before the implementation is reviewed.

The obvious way to point VS Code's extension gallery at the firewall is the ExtensionGalleryServiceUrl enterprise policy: MDM-delivered, survives updates, not user-editable. It cannot carry this, for three reasons verified against the shipping 1.131.0 bundle and upstream release/1.99 + main:

  1. It expects an IExtensionGalleryManifest returned from the marketplace API root. We currently return an HTTP 400.
  2. VS Code gates it behind a subscription: no Copilot Business/Enterprise seat means a null manifest, which disables the Extensions view entirely.
  3. Most importantly, code --install-extension never consults it; cliProcessMain.js reads productService.extensionsGallery.serviceUrl directly. Without an upstream patch, we must have a solution for patching and maintaining VSCode's product.json durably across updates.

Patching product.json has no entitlement gate, needs no manifest endpoint, and covers the CLI for free.

Also records what would unblock the policy path (a factory-side manifest endpoint, which would make it an additional delivery option rather than a replacement), why AllowedExtensions is left under admin control rather than generated, and how to verify policy state on a machine.

https://endorlabs.atlassian.net/browse/LM-452

@dekkagaijin
dekkagaijin requested a review from shrey-endor August 4, 2026 23:01
@dekkagaijin dekkagaijin changed the title package-firewall, docs only: record why VS Code needs a product.json patch [pkg firewall] docs only: record why VS Code needs a product.json patch Aug 5, 2026
Design note, no code. Lands ahead of the VS Code ecosystem implementation so
the mechanism can be agreed before the implementation is reviewed.

The obvious way to point VS Code's extension gallery at the firewall is the
ExtensionGalleryServiceUrl enterprise policy: MDM-delivered, survives updates,
not user-editable. It cannot carry this, for three reasons verified against the
shipping 1.131.0 bundle and upstream release/1.99 + main:

  1. It expects an IExtensionGalleryManifest, not a marketplace API root.
  2. VS Code gates it behind a GitHub entitlement — no Copilot
     Business/Enterprise seat means a null manifest, which disables the
     Extensions view entirely. A failed gate is worse than not deploying.
  3. `code --install-extension` never consults it; cliProcessMain.js reads
     productService.extensionsGallery.serviceUrl directly.

Patching product.json has no entitlement gate, needs no manifest endpoint, and
covers the CLI for free.

Also records what would unblock the policy path (a factory-side manifest
endpoint, which would make it an additional delivery option rather than a
replacement), why AllowedExtensions is left under admin control rather than
generated, and how to verify policy state on a machine.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dekkagaijin
dekkagaijin force-pushed the vscode-fw-1-policy-findings branch from ecee534 to 001633c Compare August 6, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant