Overview
Poolside agents include two built-in web tools:web_search: Searches the web and returns ranked results with short excerpts.web_fetch: Fetches a single page and saves its full content for the agent to explore.
web_fetch works by default with no configuration. web_search activates after you configure a search provider with an API key.
Configure a search provider
Without a provider,web_fetch retrieves pages with a plain HTTP fetch. Configuring a provider turns on web_search and gives web_fetch cleaner content extraction and excerpts focused on the agent’s objective.
Prerequisites
You need an API key for one of the supported providers.
Steps
-
Add a
web_searchblock to a personal settings file:Web search example for ~/.config/poolside/settings.yaml -
Start a new
poolsession. The agent can now callweb_search.
web_search block supports:
| Key | Type | Description |
|---|---|---|
provider | string | Search provider. Supported values are parallel and exa. |
api_key | string | Provider API key. Without it, web_search stays off. |
base_url | string | Optional override for the provider API endpoint. |
summarize_results | boolean | Add a summary of results focused on the agent’s stated objective, generated by the session model. Defaults to false. |
Disable web tools
How the agent uses the tools
For a search, the agent states an objective and optional keyword queries. It can restrict or exclude domains and filter results by publish date. The top results appear inline with excerpts, and the agent saves the full result set to a temporary file so it can page through more results without repeating the search. To read a specific page, the agent callsweb_fetch with a URL and an objective. A short excerpt appears inline, and the agent saves the full page content to a temporary file that it explores with its file tools instead of fetching the page again.
For URLs the external provider cannot reach, such as localhost, private IP ranges, and single-label intranet hostnames, Poolside fetches the page directly from the agent’s environment instead of sending it to the provider.
When summarize_results is true, tool results also include a summary focused on the stated objective. The model that runs your session generates the summary. If summarization fails, the tools return the raw excerpts.