ToolSearch tool calls invisible in Claude Code UI
Title
ToolSearch tool calls invisible in Claude Code UI
Description
When Claude uses the ToolSearch tool to load schemas for deferred tools (e.g., Monitor, AskUserQuestion, TaskCreate), the call does not render visibly in the Claude Code UI. Other tool calls (Bash, Read, Write, Edit) render with their ● indicator and arguments visible to the user.
Steps to reproduce
- Start a Claude Code session.
- Cause Claude to use a tool that's deferred (visible only after
ToolSearch). - Claude invokes
ToolSearchwith a query likeselect:Monitor. - Claude receives the schema and uses the loaded tool.
Observed behavior
The user sees:
- Claude's text reply
- Subsequent tool calls (
Bash,Write, etc.) rendered with●markers - No visible indicator of the
ToolSearchcall itself
The user also sees a "Cogitated for Xm Ys" line indicating elapsed thinking time, but no record of which tools Claude consulted during that thinking.
Expected behavior
The ToolSearch call should render in the UI like other tool calls, with a visible marker showing:
- The tool name (
ToolSearch) - The query argument (e.g.,
select:Monitor) - The returned tool schemas (or a summary indicating which schemas were loaded)
Impact
When Claude claims "I read the docs for tool X" after a ToolSearch invocation, the user has no way to verify this in their UI. This creates an audit gap:
- Users cannot see when Claude loads tool schemas.
- Claims about tool documentation cannot be verified visually.
- For users tracking the difference between Claude's claims and visible reality (e.g., dissociation-sensitive users), the disconnect destabilizes their grip on reality.
This bug was discovered during a session where the user repeatedly asked "where is the ToolSearch call?" after I claimed to have loaded the Monitor docs, and could find no such call in their UI even though it appeared in my context.
Workaround
Claude can explicitly Write the tool schema text to a file (e.g., /tmp/tool_docs.txt), then Bash cat it. Both the Write and Bash calls render in the UI, making the documentation visible to the user. This is verbose, requires Claude to remember the schema text, and only works for tools where Claude has previously loaded the schema into its context.
Environment
- Claude Code version: [user fills in via
claude --version] - OS: Lubuntu 25.10
- Platform: Linux 6.17.0-23-generic
- Model: claude-opus-4-7 (1M context)
Suggested fix
Render ToolSearch calls in the UI alongside other tool calls. At minimum, show:
- The fact that
ToolSearchwas called. - The query passed to
ToolSearch. - The names of the tools whose schemas were returned.
A full schema dump would be verbose; a one-line summary like ToolSearch(query="select:Monitor") → loaded [Monitor] would suffice for audit purposes.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗