DocsConfigure

Smart tools & web search

Let a cheaper model read whole files and pages, and hand your main model only the parts that matter.

Smart tools are for the model, not for you. They are the tools the agent itself calls to read files, search code and read web pages. When they are on, the work of reading is done by a separate model, the selector, and only the relevant parts go back to the model running your task, the executing model.

That has two effects:

  • Richer, more focused context. The selector reads the whole file or page and picks out what answers the agent's question, so the executing model works from curated context instead of bulk.
  • Lower cost. Reading a large amount of text is billed at the selector's price. If you pick a cheaper model with a long context window, you avoid paying your most expensive model to ingest text it mostly does not need.

All of the settings live under Settings → Intelligence.

How they work

  1. The executing model calls an ordinary tool such as read_file, and describes precisely what it needs in a request.
  2. Rusty gives the selector model the material: the whole file, the whole page, or the search request.
  3. The selector picks out what is relevant.
  4. Only that comes back to the executing model. If it is not enough, the agent asks again with a more specific request.

The agent sees these as normal tools with descriptions that tell it to be specific about what it needs, so there is nothing for you to invoke.

The three smart tools

Tool What the selector does What the executing model receives
Smart file reading (read_file) Reads the whole file and chooses the line ranges that answer the request. Those exact lines as excerpts, not the complete file.
Smart code search (search_codebase) Turns the described need into search patterns, which Rusty runs over the workspace. A ranked, size-limited list of matching lines as file paths and line numbers, for follow-up reads.
Smart web extraction (web_extract) Reads the fetched page and chooses the line ranges that answer the request. Verbatim excerpts with the source URL and section headings. The full-page web_fetch tool stays available.

The result is always the real text, ranked or excerpted. It is not a rewritten summary.

Smart tools work in Agent chats and in Canvas tasks.

Turn one on

Each tool is off until you enable it.

  1. Open Settings → Intelligence and find the tool's card: Smart file reading, Smart code search or Smart web extraction.
  2. Choose a Selector provider and a Selector model.
  3. Switch the tool on.

If no provider or model is available yet, the card asks you to choose one first.

Note

The selector configuration is captured when a run starts and holds until that run finishes. Changing it in Settings affects the next run, not the one in progress.

Choosing the selector model

The selector is separate from the executing model, so you can make different trade-offs for each:

  • Cheaper than your executing model. That is where the saving comes from.
  • A large context window. The selector is shown the whole file or page, so more room means fewer cut-offs.
  • Reliable structured output. The selector is asked to reply with a small JSON answer (line ranges, or search patterns). A model that follows that format consistently works best, and a reply that is not valid JSON makes the tool call fail.

Any model from any connected provider works. See Model providers.

Limits

Smart tools keep results bounded so the executing model's context stays small.

Tool Limit
read_file The selector is shown up to about 180,000 characters of the file, and content beyond that is not visible to it. Up to 16 excerpts and 400 lines in total come back.
web_extract The selector is shown up to about 180,000 characters of the page. Up to 12 excerpts, 300 lines and about 16,000 characters come back.
search_codebase Up to 6 search patterns, and at most 5 matches per file. Output is capped at about 12,000 characters.

The limits may change between releases.

Cost and observability

Every smart-tool call is recorded in Tool Execution Observability as run by the selector model, along with its provider and a purpose: Smart Read selector, Smart Search selector or Web Extract selector. The tokens the selector spends are tracked separately from the executing model's own, so you can see exactly what the curation cost. See Observability & metrics.

Web search providers

The agent's web_search tool needs a search provider. This is a separate setting from smart tools. Under Settings → Intelligence → Web search providers, add an API key for one or more:

Provider Notes
OpenAI Uses the Responses API's built-in web_search tool.
Brave Search
Tavily
Exa Works with no key through Exa's public MCP endpoint.
Parallel
Perplexity
Gemini

Each row has a Get a key link to that provider's key page. The first provider in the list with a configured key is used, in the order shown. Exa needs no key at all, so web search can work without any setup.

Keys are stored encrypted, the same way as your model provider keys. See Data, storage & privacy.

Esc

Type to search the docs.