Any engine fix: The agent never asks before it edits or runs anything

The approval prompt never appears

Three engines, one set of mode names, and three different things happening underneath. Whether you get asked depends on the mode you picked and on how much of it the engine enforces itself.

Grok refuses these outright rather than asking.
Printed by Termdeck.

Diagnosis

What it actually is

The default mode is not the asking one

Claude Code defaults to its automatic mode, which is reviewed by the engine rather than by you. It is doing what it says on the label: most tool calls run without a prompt, and only what it flags comes back to you.

No engine offers all five modes

The names in the picker are a shared vocabulary and each engine supports four of them. A mode an engine lacks is not offered rather than quietly translated into something near it, which is why the same menu is a different length per engine.

One engine enforces nothing on its own

Grok asks the client about every non-read tool call whatever mode it was told to use, so the client is the only thing deciding. Its read-only mode refuses outright rather than asking, and that refusal is the client speaking, not the engine.

A policy layer runs before the mode

Hard denies and pre-approved rules are evaluated ahead of any mode-driven prompt, for every engine. A call that never asked may have been settled before the mode was consulted at all.

Check

Confirm it before you fix it

Run thisWhat a good answer looks like
grep -n defaultMode ~/.claude/settings.jsonClaude Code has its own default permission mode, separate from anything a client sets per chat. A value here explains a machine that behaves unlike your usual one.
claude --help | grep permission-modeThe mode is a real CLI flag, so a wrapper, an alias or a script can be setting one before any picker is involved.

Every command here has been run on a real machine. Termdeck answers the same questions for every machine you have connected, without opening a terminal on any of them.

Fix

Cheapest thing first

1. Pick the supervised mode when you want to be asked

It is the one that stops on every non-read action. The automatic modes exist precisely not to do that.

2. Read the mode the chat is on, not the one you prefer

The mode travels with the turn, so a resumed chat keeps whatever it was last set to rather than your default for new ones.

3. Do not lean on an engine to enforce what a client is enforcing

Where the client is the one deciding, the guarantee is worth exactly as much as that client. The note under each mode says which case you are in.

Not this

What will not help

Assuming a quiet mode is a broken mode

The commonest cause by far is the mode working as described. Confirm what it does before treating silence as a defect.

FAQ

The agent never asks before it edits or runs anything, answered

Why does the mode menu differ between engines?

Each engine supports four of the five names, and one it does not support is hidden rather than mapped onto something close.

Is plan mode the same on every engine?

No. Two of them have a native plan concept. The third does not, and there it behaves as read-only.

Can the mode be changed in the middle of a turn?

The permission mode can, and it takes effect at once. Model and effort cannot, and changing those starts a new turn instead.