Repository navigation
This release fixes three ways winnow did less than it seemed to. Update with:
claude plugin update winnow@winnowThe next session start replaces a running 0.5.1 sidecar.
Fixed
The sidecar restarts itself. It exits after 45 idle minutes, and until now only a new session brought it back, so a session that sat idle that long ran unjudged from then on, with nothing to say so. On the machine this was measured on, 5,887 large results passed through that way over 18 days, against 7,435 judged. Now the module starts the sidecar again when it doesn't answer and resends the result. If it can't be started, results pass through untried for a minute and winnow says so once.
Subagents are judged against their own task again. Since 0.5.0 the module read the task with $.session.messages(), which returns the main conversation even inside a subagent. So a subagent's results were judged against your last message to the main session instead of the subagent's instructions, the bug 0.3.4 had fixed. On the same machine about 95% of judged results came from subagents. The module now sends no task, and the sidecar reads it from the end of the transcript: the subagent's own when there is one, found by session id even after the session has changed directory.
Large results no longer wait on a copy of the whole conversation. The same call copied the entire conversation into the module on every large result. In one long session that cost about 3.5 s per result, whether the sidecar was up or not.
Changed
winnow serve --stop now also tells sessions that are already open not to restart the sidecar; the next session start clears that. The README has a Turning it off section.
Tested live on Claude Code 2.1.286. On 2.1.277 a subagent's tool calls don't reach the module, so they pass through untouched.