winnow · git:20260916.7afc0de · 2026-09-16 · sha256 356c7cb09b6b7739
winnow git:20260916.7afc0deA
Immutable. This exact content is served forever at /api/v1/blob/356c7cb09b6b7739.
---
name: winnow
description: How to read winnow stubs in tool results. A block marked "[winnow] ... hidden" was judged unlikely to matter for the current task and replaced with a short summary plus a recall key; call winnow_recall to restore it. Use when a tool result contains "[winnow]" lines or when winnow_recall / winnow_stats tools are available.
---
# winnow
winnow sits between Claude Code's tools and your context. After `Read`, `Bash`, or `Grep` returns a large result, winnow splits it into blocks, asks a System One model (TypeSafe's Jev, or an LLM-backed adapter) one yes/no question per block ("is this block needed for the current task?"), and replaces the low-probability blocks with a stub.
## What a stub looks like
```
[winnow] Lines 41-188 (148 lines) hidden: judged unlikely to matter for the current task (relevance <= 0.22).
[winnow] Summary: Boilerplate license header and the argparse setup for flags that are not part of this task.
[winnow] Full text cached as key a1b2c3d4e5f6. Call winnow_recall(key="a1b2c3d4e5f6", start=41, end=188) if you need it.
```
## How to treat it
- The summary is written by a cheap model and preserves identifiers, paths, numbers and error text. Trust it for orientation, not for exact values.
- If the hidden lines might matter after all, call the `winnow_recall` tool with the key. Add `start` and `end` to fetch only part of the cached text. Do not re-run the original command just to see the hidden part; recall is cheaper and does not re-trigger side effects.
- Outputs that show an error are never pruned. If you see a stub, the judge believed the output was clean.
- Line numbers in a stub refer to the tool output as it was returned, so for `Read` they match the file's line numbers when the read started at line 1.
## Tools
- `winnow_recall(key, start?, end?)`: return the cached full text for a key.
- `winnow_stats()`: tokens saved, outputs rewritten, and the regret rate (how often a pruned key was later recalled).