# Permissions and approvals

> What an agent may do on its own: the four permissions, the Deny, Ask, Auto and Always approve modes, who can change them, and how to answer the card an agent leaves while it waits.

Source: https://orbitalaip.com/docs/agents/permissions-and-approvals

## The four permissions

Permissions belong to one agent in one project, under **Permissions** in **Agent settings**. Only workspace owners and admins can change them; everyone else sees the rows read-only. Instructions never override a permission.

| Permission | What it governs | Modes | Until someone sets it |
| --- | --- | --- | --- |
| Build and test strategies | Spending credits on a backtest, and cancelling one it started | Deny, Ask, Always approve | Asks you first |
| Make main | Making a version of a workflow or strategy main | Deny, Ask, Always approve | Refused |
| Make trading decisions | The trades an Agent strategy places once it is deployed in Trade | Deny, Ask, Auto, Always approve | Refused |
| Supervise deployments | Pausing, resuming, stopping or changing the limits of a deployment | Deny, Ask, Auto, Always approve | Refused |

A row appears where its app is active in the project: Backtesting for **Build and test strategies**, Trade for **Make trading decisions** and **Supervise deployments**. **Make main** is always offered.

## The modes

- **Deny**: never. The agent stops asking for the rest of the run.

- **Ask**: the agent leaves a card in its conversation, says what is waiting and ends its run. A held trade waits in Trade instead.

- **Auto**, on **Make trading decisions** and **Supervise deployments** only: it lets through what takes risk off and holds what adds it.

- **Always approve**: the agent acts on its own, within what the setting's sentence names; read it before you confirm.

### Build and test strategies

Under **Ask**, the card reads **Run a backtest of** and the strategy's name, with its estimate. Under **Always approve**, the sentence reads **Runs up to three backtests a run on its own, within its spend cap when one is set.** See [Running backtests](https://orbitalaip.com/docs/agents/strategy-work#running-backtests).

### Make main

[Main](https://orbitalaip.com/docs/glossary#main) is the [version](https://orbitalaip.com/docs/glossary#version) a person chose, so this is refused until a workspace owner or admin sets it. Under **Ask**, the card is titled **Make v2 main**, for the version the agent proposes. See [Versions](https://orbitalaip.com/docs/backtesting/versions).

### Make trading decisions

Once the agent's strategy is deployed, the stricter of this and the deployment's trading permission applies. See [The agent's own permissions](https://orbitalaip.com/docs/trade/approvals-and-permissions#the-agents-own-permissions).

If the agent does not meet the rules for making trading decisions, the panel refuses with **This agent cannot be given that setting yet.** and lists what to fix.

> [!WARNING] The agent keeps only its read tools
> Once **Make trading decisions** is set, in any mode, **Deny** included, the agent keeps only read tools such as prices, news and watchlists. It runs without **Web search**, **Code Interpreter** and the tools for tasks, strategies, workflows, deployments and other agents. It cannot take a task or schedule an agent, a task it is working on pauses, and **Supervise deployments** does nothing for it.

### Supervise deployments

The broker account's own setting, **Ask**, is the ceiling on this permission, and nothing in the app changes it. So under **Ask**, **Auto** and **Always approve** every act waits for you as a card, and **Deny** refuses them.

## Change a permission

1. **Open the agent's settings**
   
   In the **Agents** list, hover the agent, click ⋮ (**Actions for** its name) and choose **Settings**. Scroll to **Permissions**.

2. **Choose a mode**
   
   Click the mode on the row. The dialog that opens shows the exact sentence the setting will mean.

3. **Confirm**
   
   The button reads **Deny**, **Ask each time**, **Set to Auto** or **Always approve**.

To go back to unset, click **Revoke** beside a set row and confirm with **Revoke**. An agent whose setup card has not been applied cannot be given a permission: **Finish setting this agent up before giving it this permission.**

## Give a permission from Chat

Only **Build and test strategies** can be proposed from Chat. For the other three, Chat says it cannot and points to **Settings → Permissions**.

1. **Ask for it**
   
   The setup interview asks when the job builds or tests strategies: **Should it build and test on its own, or check with you first?** For an agent already set up, ask Chat in words.

2. **Read the card**
   
   Chat proposes a card and never applies it, even when you say "apply". Under **Permissions** it lists the permission, its mode and the exact sentence.

3. **Apply or discard**
   
   Click **Apply** to give it, or **Discard**. Anyone but a workspace owner or admin sees **Only a workspace owner or admin can apply this card, because it changes what the agent may do on its own.** In the setup interview, the answer that it should check with you first adds no permission, so you can apply that card yourself.

## Answer a held action

An approval request waits as a card under the reply that asked, in the agent's conversation. The card reads **Waiting for you** and shows **Answer by** and a date.

In the **Agents** list, the agent moves to **Needs you**. When nobody was in the conversation, such as on a schedule, the agent's creator gets a notification titled **Approval needed:** and the card's title. See [Notifications](https://orbitalaip.com/docs/alerts-and-notifications/notifications).

1. **Read what approving does**
   
   The title and the line under it are the whole request. A backtest's line gives its estimated credits, or **no credits charged today** while backtests are not billed.

2. **Approve or refuse**
   
   **Refuse** takes two clicks, turning to **Refuse?** first. A refusal is final.

3. **Read the line it collapses to**
   
   An approval says what happened and who said yes, such as **Ran the backtest** and **approved by** a name and a time. **View run**, **Open strategy** or **Open workflow** appear where there is something to open. A refusal reads **Refused by**, a card nobody answered **Expired**, and one overtaken by events **No longer applies**.

A request lapses after seven days, and nothing is done.

Approving a request raised in your own conversation, or in a task's turn, starts a new run that carries on, at most two in a row. After that, and anywhere else, such as on a schedule or in a workflow, approving does the act and no run starts.

The permission is read again when you approve. If someone set it to **Deny** while the card waited, **Approve** is refused: the permission **is now set to Deny for this agent, so this request cannot be approved.** An approval refused for another reason, such as lack of credits, leaves the card open.

Project editors and above can approve or refuse a card. Anyone else's click is refused with **Only project editors and above can answer this.** Only a workspace owner or admin can approve a deployment change, because Trade carries it out. Project editors and above can still **Refuse** it.
