
Snout checks every file before it enters your coding agent’s context. Lockfiles, generated code, and vendored bundles get held back, and the agent gets a map of what’s inside instead.
Runs on your machine. No network calls, no API key.
Works with
Claude Code
Codex
Accuracy checked with

TypeSafe Jev
From every read to real savings
Claude Code
hooks
Plugin
observe
Observe
Installed. Nothing blocked yet.
1
Install in one command
Add the plugin and restart Claude Code. Snout starts in observe mode: it records every read and blocks nothing.
Fix the failing checkout test.
Your prompt
Run
2
Work the way you already do
Prompt your agent as usual. Snout classifies each file it reads by name, path, and first 2 KB, on your machine, in under a millisecond.
Trimmed, not blocked
3
Bulk files get trimmed
In enforce mode a lockfile or generated client arrives cut to its head, with an outline and a search hint. Unsure means read: source always comes through in full.
File
Read
Held
yarn.lock
2k
61k
client.gen.ts
3k
38k
sdk.js
1k
28k
This session’s savings
Report
4
See what it saved
The report shows tokens read, held back, and repeated, per agent. Explain shows exactly why any file was flagged.
Most tools that hide files ask you to trust them. Snout shows its reasoning for every file: the rule that fired, the confidence, and the threshold it crossed. If it’s wrong, one command stops it for good.
The label
Lockfile, generated, vendored, minified, build output, secret, or source.
The score
A confidence from 0 to 1 for every label, not just the winner.
The band
Act at 0.90 and up, ask at 0.50, read in full below that. Both thresholds are yours to tune.
The override
Allow a path once and Snout never flags it again.
yarn.lock is a lockfile. Written by the package manager, not by hand.
Explain
Scores
Bands
Overrides
Ran on your machine
Copy
Your team’s savings, every Monday.
Snout Team rolls every developer’s sessions into one weekly report: tokens held back, files agents keep re-reading, and new bulk files entering the repo. Team is in early access.
Team savings this week
Low-value reads fell 94%. Every task still passed.
Lockfiles
412k tok
Generated
238k tok
Vendored
171k tok
Files agents keep re-reading
package-lock.json was read 9 times. One line in CLAUDE.md stops it.
api
web
worker
docs
New bulk files in the repo
Two generated clients landed this week. Snout already flags both.
What Snout holds back
Rules read the name, the path, and the first 2 KB. No model, no network. Anything they aren’t sure about is read in full.
File type
What the agent gets
Lockfiles
The head, plus a search hint
Generated code
The head, plus an outline
Vendored code
The head, plus an outline
Minified files
A bounded search hint
Build output
Held back only if .gitignore ignores it
Secrets
Snout asks you first, every time
Your source
Read in full
Built for the person who reviews what runs
Local by design
Rules run on your machine. No network calls, no API key, and no file contents sent anywhere.
Unsure means read
When no rule is confident, the file is read as normal. Every error path lets the read through.
Nothing changes without --yes
Suggested changes are previewed with evidence, applied only when you confirm, and undoable.
What you run once
Terminal
Questions
Install in one command, see what it would hold back, then switch it on.

