Check dependency versions before your agent writes them.

Require a fresh, source-cited registry check before dependency additions, bumps, and downgrades. Record the version locally. Then let the edit through.

Install for Claude Code

/plugin marketplace add https://github.com/KSEGIT/Version-Sentinel.git
/plugin install version-sentinel@version-sentinel-marketplace
Using another agent? See all installation options
One dependency. A check before the write.
agent sessionLocal illustration

Historical example: lodash 4.17.21
Not a live install or a current-latest claim.

> Edit package.json
add lodash 4.17.21
! BLOCKED: version-sentinel
exit 2 · No fresh version check on record.
> WebSearch
https://www.npmjs.com/package/lodash
> /vs-record npm lodash 4.17.21
https://www.npmjs.com/package/lodash
Check recorded locally.
> npm install lodash@4.17.21
✓ ALLOWED · Fresh check for this exact version.

Checks expire after 24 hours by default. Intentional pins can record a reason.

A remembered version needs a real source.

An agent can invent a version, reuse a stale pin, or quietly downgrade a dependency. Version Sentinel puts a registry check into that decision.

Hallucinated versions

Ask the upstream registry before writing a version that may not exist.

Stale pins

Use a fresh lookup instead of treating model memory as current.

Silent downgrades

Require a recorded check when a version changes in either direction.

A version check records the source and decision. It does not scan packages for vulnerabilities or guarantee that a release is safe.

Check. Record. Retry.

The hook checks a local record before the tool call lands. A missing or expired check blocks the change with exit 2.

A dependency tool call passes through a hook and local check record The agent requests an edit or install. The hook reads .version-sentinel/checks.json. A fresh record for the requested version allows the call. A missing or expired record blocks it until lookup, record, and exact-version retry. 1 / AgentEdit or installA requested version 2 / HookBefore the tool callCheck the local record 3 / Recordchecks.jsonVersion, source, time 4 / DecisionAllow: fresh checkBlock: missing or expired
  1. Look up the registry

    Use WebSearch or fetch the upstream package page. Verify the version you intend to use.

  2. Record the check

    Run /vs-record with the ecosystem, package, exact version, and consulted source URL. Records stay in .version-sentinel/checks.json.

  3. Retry the exact version

    A record applies to its recorded version. Retry npm install lodash@4.17.21, for example. An unpinned install or latest still needs an exact version.

Deliberate older pins can use intentional:<reason>. Local paths, URLs, git sources, and workspace dependencies are outside registry-version checks.

Make the version choice explicit.

Illustrative package.json diff. The guessed 4.99.99 was absent from npm’s lodash version list when checked on 23 October 2026. The documented 4.17.21 is a historical example, not current latest.

Before / unverified

  "dependencies": {
-   "lodash": "4.99.99"
  }

A plausible-looking version is not a registry check.

After / recorded

  "dependencies": {
+   "lodash": "4.17.21"
  }

Exact version, consulted source, and a local check record.

Inspect the upstream lodash version metadata

Four registries. The manifests you use.

Each integration uses the same upstream registries. Registry links stay visible on keyboard, mouse, and touch.

JavaScript
npm · pnpm · yarn · bunpackage.jsonnpm registry API
Registry details

Source: npmjs.com. Record its package URL and exact version.

Python
pip · Poetry · uvrequirements*.txt, constraints*.txt,
pyproject.toml
PyPI registry
Registry details

Source: pypi.org. Record its package URL and exact version.

Rust
CargoCargo.tomlcrates.io registry configuration
Registry details

Source: crates.io. Record its package URL and exact version.

.NET
NuGet*.csproj, *.fsproj, *.vbprojNuGet registry
Registry details

Source: nuget.org. Record its package URL and exact version.

NuGet Central Package Management can supply a missing PackageReference version from an ancestor Directory.Packages.props. Floating versions such as Version="*" are still blocked.

One workflow across your agents.

Shared scripts and local records, with a thin adapter for each platform. Enforcement depends on the host’s hook support and setup.

  • Claude Code

    Plugin hooks block before an edit or install.

    Registry details

    Uses the same npm, PyPI, crates.io, and NuGet registries. Verify the exact package version and record its source URL.

  • Kimi Code

    Plugin adapter and hook wiring. The repository’s live checks exclude the TUI plugin-install flow.

    Registry details

    Uses the same npm, PyPI, crates.io, and NuGet registries. Verify the exact package version and record its source URL.

  • GitHub Copilot in VS Code

    Workspace adapters. Hooks are Preview in the repository checklist; live verification is still pending.

    Registry details

    Uses the same npm, PyPI, crates.io, and NuGet registries. Verify the exact package version and record its source URL.

  • Gemini CLI

    Extension plus hook setup script and restart. Live verification is pending in the repository checklist.

    Registry details

    Uses the same npm, PyPI, crates.io, and NuGet registries. Verify the exact package version and record its source URL.

  • OpenAI Codex

    Plugin hooks require explicit trust through /hooks.

    Registry details

    Uses the same npm, PyPI, crates.io, and NuGet registries. Verify the exact package version and record its source URL.

  • Zed

    Advisory workflow with project instructions and skills. No automatic hook blocking.

    Registry details

    Uses the same npm, PyPI, crates.io, and NuGet registries. Verify the exact package version and record its source URL.

z.ai GLM Coding Plan / ZCode uses the Claude Code plugin format according to the repository. This page does not claim a live ZCode verification. Read the platform verification checklist.

Different checks, at different stages.

Use these tools together where they fit your workflow.

When each tool acts and what it does
ToolWhenResult
Version SentinelBefore an agent edit or installBlocks until a fresh version check is recorded, where host hooks are enabled
Dependabot / RenovateAsynchronous update checksProposes dependency update pull requests
Generic dependency-audit skillsAfter the dependency is writtenAdvisory scan and recommendations

Put a check before your next edit.

Choose your agent. Keep the registry lookup and exact-version retry in the loop.

Before you install

Have bash, jq, curl, and python3 (3.11 or later, for tomllib) on PATH. On Windows, use Git Bash for shell tools and install Python separately. Check that each required command is available.

Claude Code

/plugin marketplace add https://github.com/KSEGIT/Version-Sentinel.git
/plugin install version-sentinel@version-sentinel-marketplace

Use the full HTTPS URL to clone without GitHub SSH keys.

Kimi Code

/plugins install https://github.com/KSEGIT/Version-Sentinel

The repository documents the adapter; the TUI plugin-install flow still needs live verification.

Gemini CLI

gemini extensions install https://github.com/KSEGIT/Version-Sentinel
bash ~/.gemini/extensions/version-sentinel/platforms/gemini/setup.sh

Run the setup script to activate hooks, then restart Gemini. See the repository’s Gemini setup and verification notes.

OpenAI Codex

codex plugin marketplace add KSEGIT/Version-Sentinel
codex plugin add version-sentinel

Complete the /hooks trust review. Codex needs explicit trust before hook commands run.

GitHub Copilot in VS Code

Use this repository as your workspace, or copy its .github/ and .agents/skills/ adapters with the required scripts into your project. Follow the Copilot setup guidance.

The repository checklist labels hooks Preview and calls for chat.hooks.enabled. Check hook availability in your VS Code build; live verification is pending.

Zed

Follow the Zed setup guide: add project AGENTS.md, .agents/skills/, and workflow scripts. The workflow is advisory: verify, record, then edit. Zed has no automatic hook blocking.