<!-- https://zerolog.ch/docs/research · Docs / Chat -->
# Research mode

For questions that need sources rather than an opinion. Every claim in the answer must point to a page ZeroLog fetched, and the quote it relies on is checked against that page.

## Turn it on

- **`/research on`**: Switches the mode on in a chat. `/research off` switches it off. There is also a switch in the chat settings.
- **`/research <question>`**: Not this mode: it starts a deep research run as a background job. See Deep research.

Chats with a container can switch to this mode by themselves for code and document questions. A sourced reply arrives in one piece instead of streaming.

## Check the sources

The answer comes with claims, each naming a source and an exact sentence from it. ZeroLog looks for that sentence word for word in the stored copy of the page. The result is shown per claim in the chat's **Sources** panel as supported, unsupported or uncited. If a check fails, the model gets one more try; if it still fails, the answer is shown with a warning.

The claim

A sentence quoted from a source

is looked up in

The stored page

Found word for word: supported.

*A quote that does not appear in the page is marked unsupported.*

If a page cannot be read, its source entry shows an error instead of a citation. Open the original from the panel to read the context.

## What follows

- **Check it instead of trusting it.** The check shows that a quote exists in the page, not that the page is right. Read what the claim rests on.

## What it costs

Slower and dearer than a normal answer, because a sourced reply can take several model calls. Use it when the citation matters.

[When you want a whole report **Deep research**](https://zerolog.ch/docs/deepresearch)

## How research mode checks a claim

Mermaid source of the diagram on this page:

```mermaid
%% Research mode: how a claim is checked. Facts from server/research.js (verifyClaim, GROUNDING_RULES, MIN_QUOTE), server/grounding.js (runGroundedTurn, one regeneration), web/apps/web/lib/slash.ts, components/chat/quellen-panel.tsx.
flowchart TB
  on["/research on<br/>or chat settings switch"]
  fetch["Pages are fetched and<br/>a copy is stored"]
  ans["Model answers with claims,<br/>each with a source and<br/>an exact quote"]
  chk["Is the quote in the stored<br/>page, word for word?"]
  ok["Supported"]:::hot
  bad["Unsupported or uncited:<br/>one more try, then<br/>the answer carries a warning"]
  panel["Sources panel lists<br/>every claim and its verdict"]

  on --> fetch --> ans --> chk
  chk -->|yes| ok --> panel
  chk -->|no| bad --> panel

  linkStyle 3 stroke:#8f7ac9
  linkStyle 4 stroke:#8f7ac9
```
