Install Skarn.
Install Skarn, run your first scan on your own machine, and register the free license that skarn check uses. The free tier includes the full local product, and the scan makes no network call by default.
Skarn 0.33.0 - macOS, Linux, and Windows, on x86_64 and ARM64.
Install Skarn
Pick your platform or package manager. The tap, the npm packages, the binaries, and the image are public - installing needs no account.
Or run the first scan from step 2 with nothing installed
Install with Homebrew
Update
Use the fully-qualified name; since Homebrew 6.0 that trusts the one formula and installs in a single command. No Homebrew? Download the standalone binary.
Install (PowerShell)
The script resolves to the installer published with the latest tagged release, verifies the binary against the checksum GitHub computed for it, and adds skarn.exe to your PATH. The Windows binaries are Authenticode-signed under Skarn Software OÜ; Get-AuthenticodeSignature .\skarn.exe shows the publisher. A new publisher identity can still draw a SmartScreen prompt until its reputation accrues (choose "More info" then "Run anyway"). Or download skarn.exe and put it on your PATH.
Install with Scoop
Skarn publishes its own Scoop bucket, so that is added first. Each release pins the sha256 of the exact binary it serves, and Scoop refuses the install on a mismatch. Update later with scoop update skarn.
Install globally
npm ships the prebuilt binary for your platform, pinned by integrity hash - no build step and no postinstall download. skarn assess needs no account; skarn check needs the free license from step 3.
Pull the image
First scan
A multi-arch distroless image (linux/amd64 and arm64) carrying the same static binary, for CI and containerized agents. It is cosign-signed (Sigstore keyless) with an SPDX SBOM and SLSA build provenance, and pulling needs no login. Mount whichever session stores you want scanned; Containers and CI covers the full pattern.
Run your first scan
Scan every AI coding session on the machine and print a redacted risk summary: what leaked, how bad, and what to rotate first. No configuration, no network call, and nothing written to your session files.
Register the license for skarn check
skarn check is the repeatable, scriptable scan: exit codes, SARIF, NDJSON, baselines, and CI gating. It uses a free license issued at getskarn.com/free after a one-time email confirmation and verified offline.
Install the downloaded file
Or copy the license text on the issue page and install from the clipboard: macOS
Linux
Windows (PowerShell)
On X11, xclip -selection clipboard -o | skarn license -. The license is issued to you personally: treat it like a credential, and do not share it or send it over email or chat. A paid Pro, Team, or Enterprise token installs the same way and unlocks the paid features. A lapsed paid license degrades to the registered free tier and keeps scanning.
Then wire the real-time guard (see Wire the guard below) and browse the scan, the attack chains, and your session history with skarn serve (127.0.0.1 only, nothing leaves the machine).
Wire the guard
The guard is a pre-execution hook. Before your agent runs a shell command, writes a file, fetches a URL or calls an MCP tool, the pending action is scanned on this machine and gets a verdict. It ships in audit mode, which reports the verdict it would have reached and changes nothing your agent does.
Which of those events a host gates differs by host; the guard hook-event reference lists them per host.
Wire the hooks
Wire the guard hook into detected assistants, then self-test it. skarn setup detects the installed agents it supports (Claude Code, Cursor, Codex CLI, Copilot CLI, Gemini CLI and Grok Build), merges the guard hook into each one's own config in audit mode, backs up every file it changes before rewriting it, and ends with a self-test. Every flag it takes is in the manual entry for skarn setup.
Check the wiring
Check whether skarn is actually protecting this machine. Run it any time. A warning or failure names the command that clears it, or the resource to read, wherever one exists. Every check it runs is in the manual entry for skarn doctor.
Review the audit window
Once the calls it flagged span five or more days with no deny among them, the report prints the exact command that switches these hooks to enforce; its forecast counts the blocks and prompts per day that enforcing would have produced. Every count and rate it prints is over the calls the guard flagged, never over all the traffic your agent generates.
Four hosts can install the same hooks through their own plugin system instead, and Cursor from its own plugin repository. The plugin carries hook configuration only; the hooks call skarn guard on your PATH, so install the binary above first.
Claude Code
No trust step; the hooks are live in your next session.
Codex CLI
Codex asks you to trust the hooks the first time you start it after installing; until you do, they do not run.
Gemini CLI
The install asks for consent, because the extension declares hooks and an MCP server, and asks you to trust the folder.
Antigravity
Install from a clone; agy plugin list confirms the hook, skill and MCP server counts.
Grok Build
Without --trust, Grok shows the source and stops. Grok does not dispatch plugin hooks at session start (xai-org/plugin-marketplace issue 236 is open): after each start, press r in the /hooks tab to merge them, or use skarn setup --agent grok above, which wires the guard from the start.
Cursor
Cursor reads the plugin from that local directory. Run Developer: Reload Window to load it. Cursor rejects a symlink whose target lies outside ~/.cursor/plugins/local, so copy a checkout there rather than linking it.
A paid tier adds enforcement, plus the policy and baselines that decide what blocks and the audit record proving it did.
The MCP server, the plugins for every host, and a copy-ready snippet for each client are on Integrations.
Download the binary
Skarn is one static file with no runtime dependencies. Pick your platform from the release page and put it on your PATH - no installer, and on most machines no admin rights.
| Platform | Release asset |
|---|---|
| macOS, Apple silicon | skarn-aarch64-macos |
| macOS, Intel | skarn-x86_64-macos |
| Linux, ARM64 | skarn-aarch64-linux |
| Linux, x86_64 | skarn-x86_64-linux |
| Windows, ARM64 | skarn-aarch64-windows.exe |
| Windows, x86_64 | skarn-x86_64-windows.exe |
All assets, plus both license agreements, are on the Skarn release page. The container build-stage contract is on Containers and CI.
MCP server
Skarn also runs as a local MCP server, so your agent can scan its own sessions and
vet its own configuration. It exposes four read-only tools, returns redacted results, makes no network
call, and carries no tool that writes. The host starts it by running skarn mcp from your
PATH, so install the binary above first.
Both buttons register the server as skarn and run it from your PATH, so install the binary above first. If you would rather not, the pinned launcher form works with only Node present: Cursor or VS Code. That form downloads @skarn-security/skarn@0.33.0 on first run and reuses the npx cache afterwards, so a newer Skarn needs a newer link.
Paste that into the MCP settings of any client the buttons above do not cover and that
reads this JSON shape. A few do not: Codex CLI and Grok Build take TOML, and Zed nests the same server
under context_servers. The block for
each client is on Integrations.
What is free, and what a license adds
The free tier is the full local product, not a trial: the whole detection engine and
rule set, attack-chain correlation, the risk score, every session-recall command, the localhost web UI,
text, JSON, SARIF and NDJSON output, redaction, CI gating, a personal baseline, custom rules, and the
guard in audit mode. skarn check needs a free license, issued at
getskarn.com/free after a one-time email confirmation; skarn assess and the recall
commands need none; the license is verified offline. A paid tier unlocks the paid controls - policy as code, baselines with per-entry provenance,
a tamper-evident audit log, and guard enforcement. A paid flag without a
covering license refuses before any scan runs with exit 5; a missing license refuses with exit 7 and
points you at the free registration. Nothing in the free scanner is time-limited or crippled to sell the
paid tiers.
Common questions
- How do I wire the real-time guard?
- Run
skarn setup. It detects the installed agents it supports (Claude Code, Cursor, Codex CLI, Copilot CLI, Gemini CLI and Grok Build), merges the guard hook into each one's own config in audit mode, backs up every file it changes, and ends with a self-test. Runskarn doctorto confirm the wiring. Claude Code, Codex CLI, Gemini CLI and Antigravity can install the same hooks as a plugin instead, and Cursor from its own plugin repository; the commands are in the Wire the guard section of this page. - Does installing Skarn require an account or a license key?
- Installing needs no account: the tap, the npm packages, the binaries, and the image are public.
Running differs by command.
skarn assessscans with no account and no license;skarn check, the repeatable scriptable scan, needs a free license, issued at getskarn.com/free to anyone who registers and confirms their email, and verified offline. A paid license token additionally unlocks the Pro, Team, and Enterprise features. - What should I run first?
- Run
skarn assess. It scans every AI coding session on the machine with no configuration and prints a redacted risk summary. It makes no network call and writes nothing to your session files. - Are the binaries signed?
- The Homebrew formula pins each platform's asset by sha256, and the npm packages carry the
same binaries pinned by npm integrity hash. The Windows binaries are Authenticode-signed under
Skarn Software OÜ through Azure Artifact Signing, so
Get-AuthenticodeSignaturereports the publisher, and the install script verifies each download against the checksum GitHub computed for it. The container image is cosign-signed (Sigstore keyless) with an SPDX SBOM and SLSA build provenance. - Does Skarn phone home when I install or run it?
- Not when it scans. The binary sends no upload and no telemetry, and makes no network call when it
scans.
skarn assessneeds no account, andskarn checkverifies its free license offline. Two commands call out, and only when you run them:skarn check --update-rulesfor the paid maintained rule feed, andskarn license renew. - Which assistants does it read?
- Claude Code, Gemini CLI, Antigravity, Codex CLI, Cursor, GitHub Copilot, Kimi Code CLI, Grok Build, Grok Bot, OpenCode, Cline, Cowork, Claude Enterprise. Skarn finds their session stores automatically; no path configuration is needed for a standard install.
Next: the developer view, the manual, editions, integrations
Or book a live demo
A 30-minute live demo of the scanner on a developer's machine, run with you. Nothing leaves the laptop: you watch it run and keep the redacted report.