---
title: "What are coding agent approvals?"
url: https://helicon.sh/glossary/agent-approvals
description: "An approval is the moment an agent asks before acting. The three Muse Code modes, what each one does, and why bypassing them is the wrong optimisation."
updated: 2026-09-19
site: Helicon
---

# What are coding agent approvals?

An approval is the moment a coding agent stops and asks before running a command or making a change. Muse Code has three modes: onRequest asks every time, promptUnmatched asks when the action is outside the allow list, and denyUnmatched refuses it outright. A client should surface all three unchanged.

## The three modes

| Mode | Behaviour |
| --- | --- |
| onRequest | Ask before every tool call |
| promptUnmatched | Ask only when the call is outside the allow list |
| denyUnmatched | Refuse anything outside the allow list, without asking |

## Why bypassing is the wrong optimisation

An agent with file system and shell access is only as safe as the moment you get to say no. Auto approving to make a demo flow removes exactly the property that makes delegation defensible. Allow all is a legitimate setting for a throwaway sandbox and a bad default for a laptop with SSH keys on it.

## What good handling looks like

- The request appears the moment it arrives, not batched at the end.
- The actual command or edit is shown, not a paraphrase.
- A waiting thread is visibly marked so you know which one needs you.
- The decision stays in the history, so the record survives.

## Frequently asked questions

### Can I turn approvals off?

Allow all exists in Helicon behind a deliberate opt in, labelled as dangerous. It is off by default.

### Who decides what is in the allow list?

Muse Code does. A client renders the modes and sends your answer back.

### Do approvals slow things down?

They add a decision point. Seeing which thread is blocked in a sidebar is usually faster than discovering it in a scrollback.

## Related

- [Approvals](https://helicon.sh/features/approvals): Every approval Muse Code raises appears in Helicon the moment it arrives. onRequest, promptUnmatched and denyUnmatched are mapped one to one, and allow all is an explicit opt in.
- [an ADE](https://helicon.sh/glossary/ade): An ADE is the workspace you supervise coding agents from, the way an IDE is the workspace you write code in. What belongs in one and what does not.
- [Review what the agent did](https://helicon.sh/guides/review-agent-changes): Read a finished Muse Code run: inline diffs at the point of the edit, tool calls with their output, the approval record, and the touched files in a viewer beside the thread.

---

Helicon is a free, MIT licensed, unofficial community client for Meta's Muse Code CLI. Not made, sponsored or endorsed by Meta. Source: https://helicon.sh/. Machine readable index: https://helicon.sh/llms.txt
