# MentorActionOutcome enum

> The decisions of the tool gate. A closed list: a new value comes only in a minor version, and the CHANGELOG says so.

- URL: https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome
- Verified with: MentorAgent 1.2.0
- Last updated: 2026-10-27
- Packages: Novior.MentorAgent.Abstractions

A call goes through them in one of these orders, in Blocking and in Native mode alike: [`MentorActionOutcome.Allowed`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome) then [`MentorActionOutcome.Executed`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome), [`MentorActionOutcome.Failed`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome) or [`MentorActionOutcome.Stopped`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome); or [`MentorActionOutcome.Allowed`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome), [`MentorActionOutcome.ConfirmationRequested`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome), then [`MentorActionOutcome.Rejected`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome), [`MentorActionOutcome.Stopped`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome), or [`MentorActionOutcome.Confirmed`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome) followed by the outcome of the run (or [`MentorActionOutcome.Denied`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome), for a role or a permission taken away while the confirmation waited); or [`MentorActionOutcome.Denied`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome), [`MentorActionOutcome.Blocked`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome) or [`MentorActionOutcome.PolicyFailed`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome) alone. [`MentorActionOutcome.Allowed`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionoutcome) comes once the roles and every `IMentorActionPolicy` have let the call through.

## Definition

Namespace: `Novior.MentorAgent.Abstractions.Models`. Package: `Novior.MentorAgent.Abstractions`.

`public enum MentorActionOutcome`

```shell
dotnet add package Novior.MentorAgent.Abstractions
```

## Values

| Value | Number | Description |
|---|---|---|
| `Allowed` | 0 | The roles and every `IMentorActionPolicy` allow the call. The confirmation, when the action or a policy asks for one, comes next. |
| `Denied` | 1 | Refused: a role is missing, nobody is signed in, a policy does not allow the user this action, nobody can confirm, or the MCP server does not serve it. |
| `ConfirmationRequested` | 2 | The user is asked to confirm. |
| `Confirmed` | 3 | The user confirmed. |
| `Rejected` | 4 | The user said no, or nobody answered within `ConfirmationTimeout`. |
| `Stopped` | 5 | Stopped before it finished: Stop, the end of the session, or the end of the turn. A Stop that comes after the confirmation and before the action starts stops it too. |
| `Blocked` | 6 | Stopped by an `IMentorActionPolicy` before it ran: its reason is in [`MentorActionDecision.Detail`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractiondecision#detail). |
| `PolicyFailed` | 7 | Not run: an `IMentorActionPolicy` threw, or did not answer within `ActionPolicyTimeout`. The exception's type is in [`MentorActionDecision.ExceptionType`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractiondecision#exceptiontype). |
| `Executed` | 8 | The action ran. |
| `Failed` | 9 | The action threw. |

---

- Previous: [MentorActionInfo record](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractioninfo.md)
- Next: [MentorActionReasons class](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/mentoractionreasons.md)
