Skip to content

v2.9.29

Choose a tag to compare

@Zelys-DFKH Zelys-DFKH released this 25 Sep 15:18

Hook calls answer in about 70 ms instead of 110 to 135 ms, and read-only commands an agent runs answer in about half the time.

The first hook call starts a resident hook server in the background, and later calls go to it instead of starting Node and loading token-goat's hook code each time. When section, symbol, read or another read-only command writes to a pipe rather than a terminal, that same server answers it: token-goat section took 60 ms instead of 122 ms. A hook call also no longer starts a second Node process to hold a lock, and token-goat capabilities lists the server's pipe or socket as the one thing token-goat listens on.

The MCP tool list takes 25% less of each turn's context (13,029 bytes, down from 17,314). hint-stats --session-id <id> reports on one session, and doctor also checks the Copilot hooks installed in the current project.

Fixed: hooks for Claude Code, Codex, Grok, Kimi, Copilot CLI and VS Code keep working under a package.json that says "type": "module"; notes and a session's record of files already read survive a briefly locked file; files a stopped worker never embedded are embedded later, and switching embeddings back on catches up what was indexed while they were off; an edit that reaches the queue while the worker claims it is still reindexed; confined MCP reads work on Windows under every supported Node release; a data directory made read-only stays read-only; the pi, opencode and OpenClaw hosts keep each session's state and id to itself; and a plain search pattern is no longer refused as too slow on a busy machine.

Upgrading reparses the index once. Embeddings are untouched and keep serving throughout. Full details in the changelog.