Custom Tools

Tool Visibility

As you build more tools, you don't want all of them loaded into every conversation. Tool visibility controls which tools appear in your AI's tool manifest and which stay callable but hidden.


Two Visibility Modes

ModeIn tools/list?Callable by name?Best for
exposedYesYesDaily drivers — tools you use frequently
unlistedNoYesUtility tools, one-off scripts, seasonal tools

Default: New tools are exposed.


Why It Matters

Every tool in tools/list consumes tokens in your AI's context window. With 5 tools, this is negligible. With 30+, it adds up. Unlisting tools you don't use daily keeps your AI fast and focused without losing access to anything.

Unlisted tools are still:

  • Callable by name if you or your AI know the name
  • Discoverable via system(action="search", query="...")
  • Usable in scheduled runs and email triggers
  • Visible in tool(action="list")

Set Visibility on Create

tool(action="create",
  name="quarterly_report",
  description="Generate quarterly financial report",
  tool_type="code",
  visibility="unlisted",
  ...)

Change Visibility Later

tool(action="update", tool_id="tool_abc123", visibility="unlisted")
tool(action="update", tool_id="tool_abc123", visibility="exposed")

Check Current Visibility

tool(action="list")

Each tool in the list shows its visibility field.


Recommendations

  • Expose tools you use daily: your main API proxies, dashboards, frequently-called utilities
  • Unlist tools that are seasonal, experimental, or only triggered by schedules/email
  • Unlist one-off migration tools or debugging helpers after you're done with them
  • Use system(action="search") to find unlisted tools when you need them
Previous
Workflow Chains