> For the complete documentation index, see [llms.txt](https://docs.fastn.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fastn.ai/build/agent/approval-mode.md).

# Approval mode

How far the agent goes without checking in: Auto versus Manual.

The chip under the message box decides how far the agent goes without checking in.

| Mode     | Behaviour                                                              |
| -------- | ---------------------------------------------------------------------- |
| **Auto** | The default. Does not ask. Fastest for exploration.                    |
| Manual   | Asks before any create, update or delete. Use when touching live data. |

You can change it mid-session. Switching to **Auto** after a few approvals is a common pattern: watch what the agent reaches for while it is unfamiliar, then let it run.

### The approval gate

In **Manual** mode the agent stops and posts a card for each pending call. Nothing happens until you answer it.

<figure><img src="https://1255842839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3iSr2Tx8FvvuoLPncziH%2Fuploads%2Fgit-blob-8d02a06514f5b3adf67eedba1786cb1896fe132f%2Fagent-approval-gate.jpg?alt=media" alt="Two stacked approval cards, each headed Create connect link with the tool name create_connect_link, a JSON payload containing a connectorId, a VIEW RAW INPUT toggle, a note-to-agent textarea, and Accept, Always allow and Reject buttons"><figcaption><p>One card per pending call. Each shows the exact tool name and the exact arguments.</p></figcaption></figure>

Every card carries the same parts:

| Part                         | What it shows                                                               |
| ---------------------------- | --------------------------------------------------------------------------- |
| Title                        | The action in plain language, e.g. **Create connect link**                  |
| Tool badge                   | The literal tool being invoked, e.g. `create_connect_link`                  |
| Payload                      | The exact JSON arguments, such as the `connectorId` it will act on          |
| **VIEW RAW INPUT**           | Expands the full, untruncated payload                                       |
| **NOTE TO AGENT (OPTIONAL)** | Free text: *"On reject, this note is sent to the agent so it can re-plan…"* |

### The three responses

* **Accept**: runs this one call, and only this one. The next call gates again.
* **Always allow**: stops asking for *that tool* for the remainder of the session. Useful once you have seen a read-only call a few times; think harder before using it on a tool that writes.
* **Reject**: refuses the call. Whatever you typed in the note goes back to the agent, which re-plans around it.

{% hint style="info" %}
The note is what makes rejection useful. *"Use the sandbox sheet, not the production one"* produces a corrected plan. A bare **Reject** with no explanation usually produces the same call again.
{% endhint %}

{% hint style="warning" %}
**Always allow** is scoped to the session, not to the tool forever, but within a long session it can cover a lot of ground. If the agent is about to touch production data, leave the gate in place.
{% endhint %}

See [the worked example](/build/agent/worked-example.md) for a gate in the middle of a real build.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.fastn.ai/build/agent/approval-mode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
