An agent that only knows what's in its prompt and your apps runs out of answers the moment a question is about the world: a competitor's pricing page, a library's changelog, this morning's news. Agents can now look things up themselves, with two new tools: web search and web fetch.
Both are on by default for every agent, including ones published before the tools existed. You can turn them off under Settings → Web, or by asking Definable to do it.
Two tools
Web search
web_search takes a query and returns ten ranked results: each one's title, site, link and a snippet. It can also read the top one to three pages in the same call, so a question that needs a page's actual text takes one step instead of two.
web_search(query="SOC 2 Type II renewal checklist", read=2)
→ 10 results, plus the text of the top 2 pagesWeb fetch
web_fetch reads up to ten pages at once, in parallel, and returns each one as clean markdown. When a page fails, it says why: not found, blocked, behind a login or timed out. The other pages still come back, so one bad link never costs the agent the rest.
A page web_fetch reads comes back whole. Pages read with a search are cut at 10,000 characters, so three fit in one result without crowding the rest of the conversation out of the model's context.
Sources on every answer
An answer is only as useful as your ability to check it. Every source an agent reads gets a number that holds for the whole chat, and a page keeps its number however many times it comes up.
- In the Definable chat, answers cite their sources as chips like
[1]and[2]. Each chip previews its page, and a Sources strip under the answer lists them all. - On Slack, WhatsApp, the client app and the Chrome extension, the agent names the site in words instead, because numbered chips don't render there.
While the agent works, the chat shows what it's doing: Searching the web, then Reading 3 pages, with the sites' icons as it goes.
Pages don't give orders
A web page can say anything, including "ignore your instructions and…". Every result reaches the model framed as what its site says, never as instructions for the agent. The agent reads pages the way you would: as material to weigh, not commands to follow.
Try it
Ask any agent something it can only answer from the web, like "What changed in the latest release of the library we use?" Then open the run's trace to see each search and fetch, the pages it read and how long each one took.