ToolSearch tool calls invisible in Claude Code UI

Open 💬 1 comment Opened May 28, 2026 by yuxi-liu-wired

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

  1. Start a Claude Code session.
  2. Cause Claude to use a tool that's deferred (visible only after ToolSearch).
  3. Claude invokes ToolSearch with a query like select:Monitor.
  4. 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 ToolSearch call 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:

  1. The fact that ToolSearch was called.
  2. The query passed to ToolSearch.
  3. 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.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗