> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zerotwo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Web search

ZeroTwo includes a first-party web search tool. Treat all web results as
untrusted input.

<Tabs>
  <Tab title="ZeroTwo desktop app">
    In the ZeroTwo desktop app, ask for current information in a chat. ZeroTwo records
    search activity with the other tool calls in the transcript.
  </Tab>

  <Tab title="ZeroTwo on the web">
    In ZeroTwo web, ask for current information or sources. Search results and
    citations appear in the chat when ZeroTwo uses web search. Workspace
    settings can limit whether search is available.
  </Tab>

  <Tab title="ZeroTwo desktop app">
    In the CLI, pass `--search` to fetch live results for one run:

    ```bash theme={null}
    ```

    Searches appear as `web_search` items in the interactive transcript and in
    `ZeroTwo desktop runs --json` output.
  </Tab>

  <Tab title="ZeroTwo desktop app">
    In the desktop app, ask ZeroCode to search while you work in the editor. The
    extension uses the connected ZeroCode host's search mode. Search activity appears
    in the chat transcript.
  </Tab>

  <Tab title="">
    ## Configure local web search

    For local ZeroCode chats, ZeroCode enables cached search by default. Cached mode uses
    an ZeroTwo-maintained index instead of fetching arbitrary pages live, which
    lowers—but doesn't remove—prompt injection risk.

    Use live search when your task depends on the latest information. Set
    `web_search = "live"` in `config.toml`. Set `web_search = "disabled"` to turn
    the tool off. The `"indexed"` mode permits external web access only when the
    search index gates the request. When ZeroCode runs with full access, web search
    defaults to live results. See [Config basics](/config-file/config-basic)
    for config file locations and precedence.

    ### Search with a custom model provider

    A custom model provider can opt in to standalone web search when it supports
    a compatible search endpoint:

    ```toml theme={null}
    model_provider = "custom"
    web_search = "live"

    [model_providers.custom]
    name = "Custom Responses provider"
    base_url = "https://example.com/v1"
    env_key = "CUSTOM_RESPONSES_API_KEY"
    supports_standalone_web_search = true
    ```

    Custom providers default to `supports_standalone_web_search = false`.
    Standalone web search remains under development and is off by default.
    Setting this provider capability doesn't enable the feature: the provider,
    selected model, and runtime must also support standalone search. Workspace and
    managed search restrictions still apply.
  </Tab>

  <Tab title="">
    For network boundaries that apply to ZeroCode cloud environments, see [Internet
    access](/cloud/internet-access).
  </Tab>
</Tabs>
