Skip to content
Agent

Autonomous mode

Hands-off runs: what A⁺ changes and when to use it.


Autonomous mode lets Mel's agent edit files and run commands without stopping for your approval; turn it on with the A⁺ chip in the conversation.

By default the agent stops and asks before every file write and every command that could change something (commands that only read, like ls, git status or cat README.md, run without a card unless you turn on Ask before read-only commands too in Settings ▸ Agent mode) — that's the right posture for surgical changes in code you care about. Autonomous mode removes the stops for runs where you'd rather come back to a finished result.

The A⁺ toggle

The A⁺ chip sits on the left side of the agent input footer. Click it to toggle autonomous mode for the conversation:

  • Off (default) — writes, edits, and every command that is not provably read-only raise an approval card and the run blocks until you answer.
  • On — approvals resolve automatically and the run proceeds hands-off. Even hands-off, Mel stops for your approval before a command it recognises as impossible to undo, reading a file that holds credentials (or running a command that names one, like cat .env or an upload of it), writing outside the project, or acting in a connected app. A denylist you have edited still asks in hands-off. Everything else is unchanged: diff cards still record every change, tool cards still show every command and its output, and the usage summary still totals what happened.

For one turn only, press ▶▶ in the footer while the turn runs (Ctrl+Shift+I, ⌘⇧I on a Mac); an approval card points to it after a few cards: the rest of this turn runs hands-off, and the next turn asks again.

Autonomy is per conversation, and it's about *permission*, not visibility — you can scroll the transcript at any point and see exactly what the agent did, or stop the run with the stop button.

Setting a default

To make a conversation start with fewer cards, choose Always allow for edits or commands in Settings → Agent mode, and keep a denylist of commands that should still ask. See Tools & approvals.

Three ways to set it up

Pick the setup that matches how much you want to watch. Each row uses only the switches above and Settings → Agent mode (details).

SetupSettings → Agent modeA⁺What you see
Careful (the default)Apply code diffs and Execute commands on Always askOffA card for every edit and every command that isn't read-only
BalancedApply code diffs on Agent decides; Execute commands on Always ask, with your test and build commands on the Command allowlistOffEdits inside the project go through; new commands still ask
Hands-offEitherOn (or ▶▶ for one turn)No cards, except the steps that always ask and a denylist you have edited

Whichever you pick, a command Mel recognises as impossible to undo, a credential file (read, or named in a command), a write outside the project and a connector call still stop for you, and a denylist you have edited still asks, even with A⁺ on or ▶▶ pressed (with nobody at the computer, the command is refused by name). The default denylist applies when you are approving commands yourself, for example with Always allow; in hands-off it does not, so a long run is not stopped by curl or rm.

Keyboard shortcuts

ActionWindows and LinuxMac
Run the rest of this turn hands-off (▶▶)Ctrl+Shift+I⌘⇧I
Stop the turnthe stop buttonthe stop button
Make the conversation ask again after "Always allow"type /always-asktype /always-ask

When to use it

Autonomous mode shines when the interruption cost outweighs the review value:

  • Long builds — "scaffold this app, install dependencies, and make the build pass" can take dozens of write/command cycles; approving each one defeats the point.
  • Well-scoped mechanical work — bulk renames, formatting sweeps, applying a pattern across many files.
  • Throwaway or sandboxed directories — scratch repos, generated projects, experiment branches.

Keep it off when the agent is touching production configs, anything destructive, or code you haven't committed. A useful middle ground: leave A⁺ off and use the Always allow checkbox on approval cards — it auto-approves one kind of action (edits, or commands) for the conversation while still gating the other.

Orchestration turns it on

Orchestration runs default to autonomous. A lead agent coordinating multiple workers needs to scaffold, spawn, assign, and poll without a human clicking Allow at every step — and its worker CLI agents are likewise launched in non-interactive, auto-approved modes so nested permission prompts can't stall the fleet. While A⁺ is on, the lead starts workers without a confirmation card. With A⁺ off, whether the lead may start worker agents is its own setting, Settings → Agent mode → Run orchestrated agents: Never, Always allow, or Always ask (a confirmation card each time).

Good hygiene for hands-off runs

  • Start from a clean git state, so git diff afterwards shows exactly what the run did — and code review gives you a proper pass over it.
  • Give acceptance criteria in the prompt ("build passes", "tests green") — the agent verifies its own work and keeps going until the criteria hold.
  • Watch the ☰ n/m task chip in the footer for a glanceable sense of progress; Mel's notification bell will flag the conversation when it completes or blocks while you're in another tab.

FAQ

How do I let the AI agent run commands without asking? Click A⁺ in the conversation's footer for hands-off mode, or set Execute commands to Always allow in Settings → Agent mode to make it your default.

Is hands-off mode safe? It removes the ordinary cards, not every check. Commands Mel recognises as impossible to undo, credential files (including a command that names one), writes outside the project and connector calls still wait for you, and so does a command on a denylist you have edited. Every change stays in the transcript and in git diff.

Does A⁺ carry over to my next conversation? No. It is per conversation. Your defaults in Settings → Agent mode apply to every new one.