Table of Contents

Class WebSearchOptions

Namespace
Emissary
Assembly
Emissary.dll

Enables Claude's server-side web search for a run. Unlike [ClaudeTool] tools, web search executes on Anthropic's servers within a single turn — Emissary does not dispatch it.

public sealed class WebSearchOptions
Inheritance
WebSearchOptions
Inherited Members

Remarks

Because web search runs server-side, its results do not pass through Emissary's client tool loop and are therefore not covered by taint tracking. Treat model output that used web search as potentially influenced by untrusted web content.

Known limitation. Emissary assembles a turn's text, thinking and tool_use blocks; the server-side blocks a search produces — server_tool_use, web_search_tool_result, and the citations attached to text — are not yet modeled, so they do not survive into the recorded conversation. Consequences: the model does not see its own search results on a later turn (it may search again), citations are unavailable, and a turn consisting only of server-side blocks ends the run (see Paused). Single-turn search answers are unaffected. Round-tripping these blocks needs verification against the live API, so it is deliberately not built on inference.

Properties

AllowedDomains

If non-empty, only these domains may be searched.

public IList<string> AllowedDomains { get; }

Property Value

IList<string>

BlockedDomains

Domains that must never be searched.

public IList<string> BlockedDomains { get; }

Property Value

IList<string>

MaxUses

Maximum number of searches Claude may run in one turn; null for the model default.

public int? MaxUses { get; set; }

Property Value

int?