Repository navigation
feat: launch the Coana CLI from GCS instead of npm - #1629
Merged
Oskar Haarklou Veileborg (BarrensZeppelin) merged 3 commits intoOct 19, 2026
Conversation
Coana releases are moving from npm to a private GCS bucket, which the Socket API hands out signed download URLs for. Socket CLI now runs Coana the way coana-package-manager's "Launching Coana" docs specify: - It looks the version up in the cache that Coana and the Socket CLIs share, through coana-cache.mjs, which is vendored from coana-package-manager and generated there. - On a miss it asks POST /orgs/<org>/coana-cli/artifacts for the cli component, downloads the signed URL while checking its size and sha256, extracts it with tar and installs it into the cache. An expired URL is renewed once. - It runs cli-wrapper.mjs with the Node running Socket CLI. A version spec that only matches releases from before the move fails with the API's explanation that those need an older Socket CLI. There is no npm fallback, so the npx, pnpm dlx, yarn dlx and npm install launch paths are gone, along with SOCKET_CLI_COANA_LAUNCHER. SOCKET_CLI_COANA_LOCAL_PATH still works. The launcher moves from dlx.mts to coana-release.mts as spawnCoana. Its npm_package_* stripping now works: the registry's spawn merged process.env back in, so the variables need to be set to undefined.
Oskar Haarklou Veileborg (BarrensZeppelin)
added this pull request to stack #1631
October 19, 2026 09:27
Oskar Haarklou Veileborg (BarrensZeppelin)
requested a review
from Martin Torp (mtorp)
October 19, 2026 09:31
Oskar Haarklou Veileborg (BarrensZeppelin)
marked this pull request as ready for review
October 19, 2026 09:31
Martin Torp (mtorp)
approved these changes
Oct 19, 2026
Oskar Haarklou Veileborg (BarrensZeppelin)
merged commit Oct 19, 2026
1c713d2
into
v1.x
11 checks passed
Oskar Haarklou Veileborg (BarrensZeppelin)
deleted the
oskar/rea-875-socket-cli-v1x-launch-coana-from-gcs
branch
October 19, 2026 09:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Coana releases are moving from npm to a private GCS bucket, which the
Socket API hands out signed download URLs for. Socket CLI now runs Coana
the way coana-package-manager's "Launching Coana" docs specify:
share, through coana-cache.mjs, which is vendored from
coana-package-manager and generated there.
component, downloads the signed URL while checking its size and
sha256, extracts it with tar and installs it into the cache. An
expired URL is renewed once.
A version spec that only matches releases from before the move fails
with the API's explanation that those need an older Socket CLI. There is
no npm fallback, so the npx, pnpm dlx, yarn dlx and npm install launch
paths are gone, along with SOCKET_CLI_COANA_LAUNCHER.
SOCKET_CLI_COANA_LOCAL_PATH still works.
The launcher moves from dlx.mts to coana-release.mts as spawnCoana. Its
npm_package_* stripping now works: the registry's spawn merged
process.env back in, so the variables need to be set to undefined.
Part of REA-875.
src/vendor/coana-cache.mjsis generated in coana-package-manager and isn't meant to be reviewed here. The download path depends on the artifacts endpoint from REA-871.Expected reviewer effort: Full code review
Stack created with GitHub Stacks CLI • Give Feedback 💬
Note
High Risk
Changes how fix and reachability invoke Coana (org/API-gated downloads, no npm fallback), which is a core dependency path for enterprise workflows.
Overview
Socket CLI no longer runs
@coana-tech/clithrough npx/pnpm/yarn dlx or the npm-install fallback. Fix and reachability scan now callspawnCoanaincoana-release.mts, which resolves the pinned version in the shared Coana cache ($XDG_CACHE_HOME/socket/coana), downloads the CLI from Socket viaPOST /orgs/<org>/coana-cli/artifactswhen missing (checksum-verified tarball extract withtar), and runscli-wrapper.mjs. The vendoredcoana-cache.mjsis copied intodistat build time.SOCKET_CLI_COANA_LAUNCHERand all dlx/npm Coana launcher logic are removed fromdlx.mts;SOCKET_CLI_COANA_LOCAL_PATHis unchanged. Docs, changelog, bump-coana skill, and lint ignores are updated for the new distribution model.Reviewed by Cursor Bugbot for commit 034dbef. Configure here.