---
title: "Muse Code approvals, surfaced and never bypassed"
url: https://helicon.sh/features/approvals
description: "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."
updated: 2026-09-19
site: Helicon
---

# Approvals you can actually see

Helicon surfaces every approval request Muse Code raises, as it arrives, and never batches or bypasses one. The three protocol modes, onRequest, promptUnmatched and denyUnmatched, are mapped one to one, so the app behaves exactly as the CLI would. Allow all exists but sits behind a deliberate opt in.

## Why this is a design decision, not a feature

An agent with shell and file system access is only as safe as the moment you get to say no. A wrapper that auto approves to keep a demo smooth has quietly removed that moment. Helicon treats the approval as the most important event in the protocol.

## The three modes, unchanged

| Mode | What Muse Code does | What Helicon does |
| --- | --- | --- |
| onRequest | Asks before the tool call runs | Shows the request and waits for you |
| promptUnmatched | Asks when the call is outside the allow list | Same, with the reason shown |
| denyUnmatched | Refuses anything outside the allow list | Shows the refusal in the thread |

_Approval modes are mapped one to one with no reinterpretation._

## In practice

- A waiting thread is marked in the sidebar so you can tell at a glance which one needs you.
- The request shows the command or edit, not a summary of it.
- Decisions stay in the thread history, so you can see later what was allowed.
- Allow all is a dangerous opt in, labelled as such, and off by default.

> Helicon never stores credentials. Authentication is your own `muse login`, held by the CLI.

## Frequently asked questions

### Can Helicon approve things on my behalf?

Only if you turn on allow all, which is an explicit opt in presented as dangerous. By default every approval waits for you.

### Do I lose approvals if I close the window?

No. The request belongs to the session, so reopening the thread shows it still waiting.

### Does Helicon change what Muse Code considers safe?

No. The allow list and the modes are Muse Code's. Helicon renders them and sends your answer back.

## Related

- [Background work](https://helicon.sh/features/background-tasks): Send a running tool call to the background, stop one, or stop them all. Cancel a workflow run, or skip and retry its agents, without abandoning the thread.
- [Inline diffs](https://helicon.sh/features/inline-diffs): Every file the agent edits lands as a diff at the point in the conversation where it happened, with the touched file open in a viewer beside the thread.
- [The muse terminal](https://helicon.sh/compare/muse-code-terminal): How a Muse Code GUI differs from the muse CLI terminal interface: session history, inline diffs, approvals and cost, side by side with what the TUI already does well.

---

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
