Repository navigation
Releases: paureis/cloudpin
Release list
v1.1.2
Completes the 1.1.1 security fix for Windows. Please upgrade.
Security
- Windows: CLIs installed by npm (vercel, wrangler, ...) no longer start a
nodefound in the current folder. npm's
.cmdshims runnodeby name when no node.exe sits beside them, and Windows looked for it in the current folder
first. cloudpin now tells Windows not to search the current folder for any process it starts, including the command
cloudpin execruns, as PowerShell and Git Bash already do
(GHSA-3cf7-5v5w-q5vr).
Verify this release
cloudpin-1.1.2.tgz is the exact file npm serves (npm packs reproducibly), built and signed by this repository's
release workflow. To check a download:
gh attestation verify cloudpin-1.1.2.tgz --repo paureis/cloudpin # signed build provenance
sha256sum -c SHA256SUMS # checksum
npm view cloudpin@1.1.2 dist.integrity # npm's sha512 for the same filev1.1.1
A security fix for Windows. Please upgrade.
Security
- Windows: cloudpin now runs each CLI it asks about (az, gh, vercel, aws, gcloud, kubectl, helm, supabase,
wrangler), and the commandcloudpin execruns, by its full path from PATH, skipping empty and relative PATH
entries. Before, Windows' own lookup checked the current folder first, so a file named like one of those CLIs
inside a repository could run in its place when cloudpin checked a command there
(GHSA-3cf7-5v5w-q5vr).
Verify this release
cloudpin-1.1.1.tgz is the exact file npm serves (npm packs reproducibly), built and signed by this repository's
release workflow. To check a download:
gh attestation verify cloudpin-1.1.1.tgz --repo paureis/cloudpin # signed build provenance
sha256sum -c SHA256SUMS # checksum
npm view cloudpin@1.1.1 dist.integrity # npm's sha512 for the same filev1.1.0
Claude Code gets a one-step plugin, and any MCP agent can ask cloudpin before it acts.
Added
- A Claude Code plugin (#15):
claude plugin install cloudpin --marketplace paureis/cloudpininstalls the hook, a
read-only MCP server and a skill that tells the agent to check first and stop on a block. With the plugin enabled,
install-hook claudedeclines anddoctorwarns if a settings hook would also run. cloudpin mcp(#15): a read-only MCP server (stdio) withcloudpin_statusandcloudpin_check, for any agent that
supports MCP. No new dependency.
Verify this release
cloudpin-1.1.0.tgz is the exact file npm serves (npm packs reproducibly), built and signed by this repository's
release workflow. To check a download:
gh attestation verify cloudpin-1.1.0.tgz --repo paureis/cloudpin # signed build provenance
sha256sum -c SHA256SUMS # checksum
npm view cloudpin@1.1.0 dist.integrity # npm's sha512 for the same filev1.0.0
The first stable release: the .cloudpin.yml format is stable from here on (later versions only add sections and
keys), and every agent hook except Gemini CLI's is tested inside the real agent.
Fixed
- Variables an agent sets earlier in its command line now count (#86).
export AWS_PROFILE=other; aws ...and
PowerShell$env:AWS_PROFILE = 'other'; aws ...were checked against the default account and ran on another; and
GH_TOKEN=$(cat other.token) gh ...read the token as empty. cloudpin now followsexport,unsetand$env:
through the line, and stops a command whose account depends on a value only known when it runs, saying why. Found
in the threat-model review. - Cursor: a command on your Cursor allowlist runs again when the account matches (#2). cloudpin answered
ask, which
stopped even allowlisted commands; it now answersallow, which Cursor treats exactly like having no hook (measured
in Cursor CLI 2026.10.01: commands not on the allowlist still need your approval). Wrong accounts are still blocked.
Added
- Antigravity hooks (#80):
cloudpin install-hook antigravityguards Antigravity CLI, the IDE and Antigravity 2.0
(.agents/hooks.json, or~/.gemini/config/hooks.jsonwith--user). Google replaced Gemini CLI with Antigravity
CLI for free and consumer accounts on 2026-06-18. The hook checksrun_commandand text typed into a running
terminal; it asks rather than allows when nothing is wrong, so Antigravity's own approvals still apply. - The Copilot CLI and Antigravity CLI hooks are tested inside the real agents (#3): a wrong pin blocks the command, a
right one lets it run, and Antigravity's own approval still applies to commands you haven't allowed.
Verify this release
cloudpin-1.0.0.tgz is the exact file npm serves (npm packs reproducibly), built and signed by this repository's
release workflow. To check a download:
gh attestation verify cloudpin-1.0.0.tgz --repo paureis/cloudpin # signed build provenance
sha256sum -c SHA256SUMS # checksum
npm view cloudpin@1.0.0 dist.integrity # npm's sha512 for the same filev0.4.2
A clearer first run: CLIs you don't have are called "not installed".
Fixed
init,status,doctorand the MCPcloudpin_statussay "not installed" for a CLI that isn't (#75).initused
to printaz account show failed (exit 127)orspawn wrangler ENOENT, andstatusanddoctortold someone
without Vercel, kubectl or Supabase to log in to it.
Verify this release
cloudpin-0.4.2.tgz is the exact file npm serves (npm packs reproducibly), built and signed by this repository's
release workflow. To check a download:
gh attestation verify cloudpin-0.4.2.tgz --repo paureis/cloudpin # signed build provenance
sha256sum -c SHA256SUMS # checksum
npm view cloudpin@0.4.2 dist.integrity # npm's sha512 for the same filev0.4.1
Shell wrappers that survive your aliases, a clear message for pin files from a newer cloudpin, and cleaner GitHub
Releases.
Fixed
- The bash and zsh wrappers no longer break on an existing alias of a guarded CLI (#69). Before, such an alias left
that CLI unguarded without a word, and in zsh every CLI after it too. An alias that calls the CLI itself is now
guarded; one that runs another program (kubectl=kubecolor) can't be, so each new shell warns about it, in
PowerShell as well. - GitHub Releases carry only the tarball, its signed bundle and
SHA256SUMS(#65): v0.4.0 also got the repo's
logo and demo SVGs, since removed by hand. The verify commands in the release notes now line up. - A
.cloudpin.ymlsection or key that this cloudpin doesn't know is still refused, but the message now says the
file may need a newer cloudpin, with your version and the update command (#67). From 1.0 the format only adds
names, so this is what a teammate on an older version will see.
Verify this release
cloudpin-0.4.1.tgz is the exact file npm serves (npm packs reproducibly), built and signed by this repository's
release workflow. To check a download:
gh attestation verify cloudpin-0.4.1.tgz --repo paureis/cloudpin # signed build provenance
sha256sum -c SHA256SUMS # checksum
npm view cloudpin@0.4.1 dist.integrity # npm's sha512 for the same filev0.4.0
Releases you can verify, and exempt commands that still run when the pin file is broken.
Fixed
- A broken
.cloudpin.ymlno longer blocks exempt commands such asgh auth status,az loginor--help(#62):
they never act on an account and are what you need to investigate. Every other guarded command is still stopped.
Added
- A GitHub Release for every tag (#53): the package tarball (the same file npm serves), its SHA-256 checksum and a
signed build-provenance attestation, with the CHANGELOG section and how to verify a download as notes. See
SECURITY.md, Verifying a release.
Verify this release
cloudpin-0.4.0.tgz is the exact file npm serves (npm packs reproducibly), built and signed by this repository's
release workflow. To check a download:
gh attestation verify cloudpin-0.4.0.tgz --repo paureis/cloudpin # signed build provenance
sha256sum -c SHA256SUMS # checksum
npm view cloudpin@0.4.0 dist.integrity # npm's sha512 for the same file