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

# Assistant

> Ask questions of your lab's history, and review the changes it proposes.

The Assistant answers questions against everything Probe holds: runs, metrics, notes, papers, captured sessions and connected sources. It is the same retrieval [search](/dashboard/search.md) uses, with a model on top that can follow a chain of reads.

## Asking

The blank route is a centred composer. Open conversations use an auto-growing thread composer that rests at one line, grows, then scrolls internally. Both send on **Enter** and preserve **Shift+Enter** and IME composition.

History lives in a **Chats** rail beside the conversation. Conversations are named by the server one turn in — names are read-only everywhere.

You can also ask from any page: switch the Search / Ask bar at the bottom to **Ask**, and **Open in Assistant** carries the chat here. See [Search and Ask](/dashboard/search.md).

## Reading a turn

Turns read chronologically. Progress prose stays in place with normal Markdown treatment; adjacent tool calls form a quiet, connected activity list between prose blocks.

Each tool row names its purpose **in human language**, keeps result detail secondary, and shows pending, complete or failed state with an icon and text. Entity links appear at the first activity that is relevant to them, rather than repeating through the turn.

> [!NOTE]
>
> "Thinking" and "composing" labels are transient progress states — **not a rendering of private model reasoning**. Tool copy may use only explicitly allowlisted, bounded argument fields; raw arguments, chain-of-thought and raw results never enter the timeline.
>
> A reloaded call whose live result is no longer in the durable transcript stays status-neutral rather than being reported as failed.

## What it can do

The Assistant reads through the same tools your agents use, and writes by running `probe` CLI commands as you — the whole CLI, less the commands that cannot work or must not run on the server: anything that needs your own computer, credentials and installs, the `/probe` switch, admin settings and reads of the open web.

It deletes only what a dashboard delete button can delete, and the same way:

* Projects, experiments and runs go to the trash, where they stay recoverable for 21 days.
* Files and metric views are hidden for good; sub-notes, paper links and code links are deleted at once.
* Deleting a workspace, removing a paper or reference, deleting metric series and deleting Shared files are refused.

A delete's card says what it does. For a project, experiment or run, it also shows what the delete takes with it and when its newest work last changed.

## Changes need your approval

Most writes wait for you. A deployment can let a few low-risk writes run unasked, such as saving a metric view, but **every delete is asked**, and so is every write after the Assistant has read the open web.

When a change is waiting:

* **A review card opens above the composer.** It names the change, describes it in plain words and shows the full command behind it.
* **The composer goes out of service** and says what it is waiting for. The turn is already finished while it waits, so accepting a message that would land after the decision would read as being ignored.
* **One change** has **Deny** and **Approve**. **Enter** approves and **Backspace** denies from anywhere that is not a text field or another control, and focus moves to **Approve** when the card appears.
* **Several changes** (up to twenty-five) get a tab each, with a counter of how many you have reviewed. Choose **Deny this** or **Approve this** on each, then **Apply** the approved ones — only those run. **Approve all** approves the whole batch at once.

> [!WARNING]
>
> Read the batch before approving it. A twenty-five-change batch is twenty-five decisions, and **Approve all** is one click.

When a write finishes, the dashboard refreshes the records it touched, so an updated description appears without reloading the page.

## What it can reach

The same sources as search, under your own permissions — the Assistant cannot see a workspace you cannot see, and cannot write where you cannot write.

> [!TIP]
>
> Questions with a literal identifier in them do best: a run slug, an issue number, a file path. "What did we conclude about the 3e-4 sweep in `folding`" beats "tell me about learning rates".

## What it will not do

* It does not cite passages it did not actually retrieve.
* It does not follow instructions found **inside** retrieved content. A note, a captured session or a web page is evidence about the world, not a directive.
* It does not silently widen a scope you gave it.

> **[Agent surface instead](/agents/overview.md)**
>
> If you want this inside your editor rather than the browser, that is the plugin.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.