ai-install-guard 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@
10
10
  {
11
11
  "name": "ai-install-guard",
12
12
  "source": "./",
13
- "version": "0.3.0",
13
+ "version": "0.3.1",
14
14
  "description": "Scans plugins, mods, skills and MCP servers without running them, shows a PASS / WARN / FAIL verdict, and installs nothing until you approve.",
15
15
  "category": "security",
16
16
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-install-guard",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "A pre-install security gate for Claude Code: scans plugins, mods, skills and MCP servers without running them, and installs nothing until you approve.",
5
5
  "author": {
6
6
  "name": "Boaz Ziniman",
package/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ All notable changes to ai-install-guard. Ordered newest to oldest.
4
4
 
5
5
  ---
6
6
 
7
+ ## v0.3.1  ·  2026-10-23
8
+
9
+ **`README`** - An Uninstall section, linked from the top: how to remove or pause the guard in Claude Code or from a terminal, how to turn it off from outside Claude Code if it ever holds something it should not, how to clear your decisions before you go, and that the guard never holds an uninstall or a disable
10
+
11
+ **`ci`** - The workflows use the current Node 24 releases of checkout, setup-node and upload-artifact, pinned to their commits, instead of Node 20 ones the runners now force onto Node 24, and npm no longer warns about the `always-auth` setting the old setup-node wrote
12
+
13
+ ---
14
+
7
15
  ## v0.3.0  ·  2026-10-23
8
16
 
9
17
  **`/plugin install`** - The guard now holds installs. `/plugin install <name>@<marketplace>` and `/plugin marketplace add <source>` are looked up (the repository, folder and commit Claude Code would install from), scanned at that commit and answered in the command's place, so nothing installs until you press Install in the pane. Install records your approval for that commit and tree hash, looks the plugin up once more, and runs your command again; a commit that moved since the scan is not installed. A version you already approved installs without asking again unless a new scan judges it worse, a rejected one stays refused, and what the guard cannot pin (an npm package, a plugin no marketplace lists, a name two marketplaces share) is Could not verify, with Install anyway behind a second confirmation that lets that one command through once. The `/plugin` menu itself is not gated yet, and says so when it opens
package/README.md CHANGED
@@ -16,6 +16,8 @@
16
16
  /plugin install ai-install-guard --marketplace ziniman/ai-install-guard
17
17
  ```
18
18
 
19
+ To turn it off or remove it, see [Uninstall](#uninstall).
20
+
19
21
  </div>
20
22
 
21
23
  > **Status: early development.** `/plugin install` and `/plugin marketplace add`, and the same installs when Claude runs `claude plugin` itself, are held until you approve the exact version the guard scanned. `/guard scan` checks a folder or a repository before you install it anywhere. The other gates are being built in stages; see [Where it steps in](#where-it-steps-in) and [Roadmap](#roadmap).
@@ -28,7 +30,7 @@ AI Install Guard is a Claude Code mod that stops every new plugin, mod, skill, M
28
30
 
29
31
  You, before you add something to Claude Code. It runs inside your own session, needs no account, server or agent, and is open source, so you can read every check it makes. It reaches the network only to fetch the candidate from where it lives and to read that repository's public details; any outside lookup stays optional and off by default.
30
32
 
31
- Company security platforms such as AIR, Pluto and Neo watch a whole fleet of agents and enforce policy across it. The guard does not replace them: it is an open, local check for one developer's installs, and it works the same whether or not your company runs one.
33
+ Company-wide security platforms watch a whole fleet of agents and enforce policy across it. The guard does not replace them: it is an open, local check for one developer's installs, and it works the same whether or not your company runs one.
32
34
 
33
35
  ## How it works
34
36
 
@@ -160,6 +162,40 @@ claude plugin configure ai-install-guard
160
162
 
161
163
  A lookup that fails or hits a rate limit is noted in the report and never fails the scan.
162
164
 
165
+ ## Uninstall
166
+
167
+ The guard holds installs, never removals: uninstalling or disabling it, or any other plugin, goes straight through when the command says so plainly. One whose action is only known as it runs, such as `claude plugin "$ACTION" …`, is held, since it could as well be an install.
168
+
169
+ **Remove it** in Claude Code:
170
+
171
+ ```
172
+ /plugin uninstall ai-install-guard@ai-install-guard
173
+ ```
174
+
175
+ or from a terminal:
176
+
177
+ ```bash
178
+ claude plugin uninstall ai-install-guard@ai-install-guard
179
+ ```
180
+
181
+ If you installed it for one project only (`--scope project` or `--scope local`), add the same `--scope`. To remove its marketplace as well, run `/plugin marketplace remove ai-install-guard`. A session that is already open may keep the guard loaded until you restart it.
182
+
183
+ **Turn it off for a while** with `/plugin disable ai-install-guard@ai-install-guard`, and back on with `/plugin enable ai-install-guard@ai-install-guard`.
184
+
185
+ **If it ever gets in your way.** The guard fails closed: when it cannot check something, it stops it. So a bug in the guard could hold an install, or a shell command it mistakes for one, that should have gone through. You can always turn it off from a terminal outside Claude Code, where the guard sees nothing:
186
+
187
+ ```bash
188
+ claude plugin disable ai-install-guard@ai-install-guard
189
+ ```
190
+
191
+ If even that fails, set `"ai-install-guard@ai-install-guard": false` under `enabledPlugins` in `~/.claude/settings.json` (or in the project's `.claude/settings.json` if you installed it there). Then [open an issue](https://github.com/ziniman/ai-install-guard/issues) with the command it stopped, so it can be fixed.
192
+
193
+ **Your decisions.** Approvals and rejections are kept in the store Claude Code gives the plugin, which can outlast an uninstall, so a later reinstall may find them again. To start clean, run `/guard list` before you uninstall and `/guard forget <name>` for each one. The guard writes no files of its own: its only folder is the temporary one it fetches into, removed after each scan.
194
+
195
+ **If your organization installed it** through managed settings, it is theirs to remove; ask whoever manages your Claude Code settings.
196
+
197
+ **In Claude chat,** remove the skill under **Settings > Capabilities > Skills**.
198
+
163
199
  ## What it is not
164
200
 
165
201
  - **Not a proof of safety.** Static analysis raises the bar and makes every capability visible; a determined attacker can still evade it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-install-guard",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "A pre-install security gate for Claude Code: scans plugins, mods, skills and MCP servers without running them, and installs nothing until you approve.",
5
5
  "scripts": {
6
6
  "build:fixtures": "node scripts/build-fixtures.js",