# Rule outcomes

> Understand when an action continues, needs approval, or must be changed.

Source: https://docs.synkro.sh/concepts/decisions

Each Rule has a `mode` that determines what happens when it matches.

| Mode | What happens |
| --- | --- |
| `allow` | The action can continue unless another check refuses it. |
| `flag` | The action continues and the match is recorded. |
| `ask` | The action is refused until you approve that exact attempt. |
| `fix` | The action is refused with instructions for a corrected attempt. |
| `block` | The action is refused. Consent cannot override it. |

A `fix` does not edit code. The agent must change its action and try again.

## When several Rules match

A refusal takes precedence over `allow` or `flag`. Approval cannot override a matching `fix` or `block`.

The recorded decision lists the matching Rules and explains the outcome.

## Approval is handled by Synkro

For `ask`, Synkro refuses the action and shows how to approve it. Your agent's own permission settings do not count as Synkro approval.

You approve the pending request using the steps in [Consent](/guides/consent), then the agent retries the same action once.

## Check the result

```sh
synkro events --type verdict --limit 5 --details
```

Match the decision to your agent's action using its time and session. See [Verify a decision](/onboarding/verify-events).
