Definition
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.
Last updated · Markdown version
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.
Source: Permissions and safety (Muse Code docs)
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.
Keep reading
- ApprovalsEvery approval Muse Code raises shows up in Helicon as it arrives. onRequest, promptUnmatched and denyUnmatched map one to one, and allow all is opt in.
- an ADEAn 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 didRead a finished Muse Code run: inline diffs where each edit landed, tool calls with output, the approval record, and touched files beside the thread.
- a git worktreeA git worktree is a second working directory for the same repository. It is the cheapest way to stop two coding agents from editing the same files.
- a subagentA subagent is a separate agent a main agent spawns to do part of the work in parallel. Why it saves wall clock time and why it is unreadable in a terminal.
- reasoning effortReasoning effort controls how much thinking a model does before answering. What it changes, what it costs, and when to turn it up.
Same Muse Code. Same subscription. Better interface.
Free and MIT licensed. Windows installer, Apple Silicon, Intel and universal macOS DMGs, and a web build against a daemon you run.