Research tool search support: Claude tool search tool and other harnesses #50
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Research Claude's tool search tool and decide whether wraptool should do anything to support it, and how well other harnesses handle it.
Why it matters for wraptool
wraptool registers one MCP tool per allowed subcommand, so a well-stocked policy produces a long tool list. A
claudein the sbx test connected to 48 tools. Every tool definition a harness loads up front costs context. With tool search, the model sees a search tool and loads definitions on demand. Claude Code already does this for MCP tools: in a recent session, wraptool's tools showed up as deferred and were loaded through itsToolSearchbefore first use.Questions
introspect,design/introspect/tool-descriptions-from-help.md). Doeswraptool_discoveroverlap with tool search or complement it?notifications/tools/list_changed. Does a deferred-tool index pick that up, or does a newly approved capability stay invisible until the session restarts?internal/harness(opencode, pi, agy, omp), does it support deferred or searched tool loading, and if not, how does it cope with a long tool list? Find any limits on tool count or definition size.Done when
A short design note under
design/with the findings per harness and a recommendation, plus follow-up issues for any implementation work.🤖 Generated with Claude Code
Hot reload finding from a Claude Code session on 2026-10-08. Four capability approvals, each followed by a policy reload. The first three, fj issue create, then issue search, view and edit, showed up in Claude Code as new deferred tools without a reconnect. The fourth, fj issue comment, did not: the server registered the tool, wraptool_discover listed it and a direct MCP tools/list returned it, but Claude Code never saw the change. So list_changed handling works in Claude Code but not reliably. Next step: find out whether the notification was not sent, not delivered, or not acted on, starting with the server log around that reload.