Cline auto-approve settings: what each toggle allows, and who decides what is safe

Cline's auto-approve is a set of per-category toggles, plus YOLO mode. The toggle that surprises people is Execute safe commands: Cline has no fixed list, so the model itself decides what counts as safe.

The short answer

Cline’s auto-approve is a list of toggles, one per kind of action: reading files, editing files, running commands, using the browser and using MCP servers, each with a workspace-only and an everywhere version.1 The safest useful setup is the one Cline’s docs suggest: turn on Read project files and leave edits, commands, browser and MCP off until you have a reason.1 The toggle to understand before you turn it on is Execute safe commands. Cline doesn’t use a fixed allowlist; the model marks each command with a requires_approval flag, so “safe” means the model thought it was safe.1 YOLO mode approves everything.1

Every MCP tool call goes through your rules first. Here a delete that doesn’t say which rows is stopped before it reaches the database. These are the rules deedglass init starts with; the call is made up.

The toggles

Cline checks auto-approve per tool call, against the category of the call.1

Toggle What it allows without asking
Read project files Read, list and search files in your workspace
Read all files Read files outside the workspace (needs the base toggle)
Edit project files Create and edit files in your workspace
Edit all files Edit files outside the workspace (needs the base toggle)
Execute safe commands Commands the model marked as not needing approval
Execute all commands Commands marked as needing approval too (needs the base toggle)
Use the browser Browser tool for fetching and searching
Use MCP servers MCP tools and resources
Enable notifications Desktop alerts for prompts and long-running commands

Source: Cline’s Auto Approve docs.1

Two details from the docs matter in practice. The “all files” and “all commands” options only extend their base toggle, so they do nothing on their own. And notifications fire when an auto-approved command has been running for 30 seconds, which is a useful nudge to look at a command you didn’t approve by hand.1

Notice what the MCP toggle is: one switch for every tool on every server you’ve connected. Turning it on approves a read-only search tool and a tool that drops tables in the same click. If you connect a database MCP server, that one toggle decides whether its write tools need you. Our post on requiring approval for MCP tool calls covers how to split tools by risk at the server instead.

Safe commands are the model’s call

This is the part people miss. Other agents decide what runs unattended from a list you wrote:

Agent What decides an auto-run command
Cursor CLI Your allow and deny rules, matched on the command’s first word7
Windsurf Cascade (Allowlist Only) Your allow list, exact or by prefix6
Cline (Execute safe commands) The model’s requires_approval flag on each command1

Cline’s docs give examples of what is commonly treated as safe (npm run build, npm test, git status, ls -la) and what commonly needs approval (npm install, rm -rf, mv, sed -i), and they say plainly these are examples, not promises.1

The flag is reasonable for honest mistakes. A model that knows rm -rf is dangerous will usually flag it. The weakness shows up when the model’s judgment is the thing under attack. A README, an issue comment or a web page the agent reads can carry instructions; if they persuade the model a command is routine, the same model sets the flag. The lethal trifecta post explains why private data, untrusted content and a way to act are a bad combination. Execute safe commands puts the “way to act” under the same judgment that read the untrusted content.

There is also a subtler gap: a command that looks harmless can call something that isn’t. npm test runs whatever the test script says. make runs the Makefile. If the agent edited that script earlier in the session, with Edit project files on, “safe” covers the new contents.

None of this makes the toggle useless. It means: turn it on in projects where the worst command is a lost build, not where a database client and production credentials are in reach.

YOLO mode

YOLO mode is one checkbox in Cline Settings, under Features. With it on, Cline auto-approves file operations anywhere on your system, every terminal command including destructive ones, browser actions, MCP tools, and the switch from Plan mode to Act mode.1 Cline’s own docs call it dangerous and list what could go wrong: deleting important files, changing system settings, installing packages, pushing to version control.1

The mode switch deserves a sentence. Plan mode is where Cline proposes and you review. In YOLO mode the transition to Act is approved too, so the review step you might be counting on is gone.1

For teams, Cline Enterprise can turn YOLO off for everyone. Setting "yoloModeAllowed": false in remote configuration disables the toggle, and members can’t enable it in local settings.2 Cline recommends most organisations disable it by default.2 If you run Cline Enterprise, this is the first policy to set.

Checkpoints cover files only

Cline’s checkpoints are a good safety net for edits. After each tool use, including commands, Cline commits your project files to a shadow Git repository separate from your own history, and it captures files Git doesn’t track.5 You can restore files, the conversation, or both.

What a checkpoint holds is a snapshot of files in your project. It doesn’t hold the rows a command deleted from a database, a message an MCP tool sent, a package published to a registry, or a file outside the workspace. Our post on Cursor’s checkpoints walks through the same limit for Cursor; it applies to every file-based undo. If an auto-approved command reached a database, the checkpoint can’t bring the data back. A backup, point-in-time recovery or a record of the exact rows changed can.

If you build on the Cline SDK

Cline also ships an SDK for building agents on its harness, and its defaults are worth checking. Tool names you don’t list in toolPolicies default to enabled and auto-approved.3 So an SDK agent that adds a new tool approves it unless you set a policy.

Code Program code, for developers. The text around it says what it does.

const toolPolicies = {
  read_files: { autoApprove: true },
  search_codebase: { autoApprove: true },
  editor: { autoApprove: false },
  run_commands: { autoApprove: false },
};

Plugins can add a beforeTool hook that returns skip with a reason to block a call, or { policy: { autoApprove: false } } to require approval.4 Each hook call has a 3-second timeout, and under the default hookErrorMode of "ignore", a hook that throws or times out is recorded and the run continues as if the hook said nothing.4 If your hook is a safety check, set hookErrorMode to "throw" so a broken check stops the run instead of waving calls through.

A setup we would start from

  1. Read project files: on.
  2. Edit project files: on only with checkpoints and a clean Git tree.
  3. Execute safe commands: off in any project with database clients, cloud CLIs or production credentials in the environment. On in throwaway projects.
  4. Execute all commands: off.
  5. Use MCP servers: off unless every tool on every connected server is read-only.
  6. Browser: off unless the task needs it.
  7. YOLO: off; on Enterprise, set "yoloModeAllowed": false.2
  8. Notifications: on, so long-running auto-approved commands get your attention.1
  9. Database access: give the agent a role that can’t drop or bulk-delete, so a wrongly “safe” command is a limited one.

Approvals work only if you read them. If the toggles leave you clicking approve forty times an hour, you’ll stop reading; our alert fatigue post looks at what the research says about that. Fewer, better prompts beat more prompts.

To try approvals and a read-back on a real database without installing anything, open the playground. To grade what agents on your machine can reach, including the MCP servers Cline is connected to, run npx deedglass scan (the grade, explained).

Questions people ask

Does Cline have a command allowlist?

Not for its auto-approve toggles. The docs say Cline doesn’t use a fixed allowlist; the model marks each command with requires_approval.1

Can I auto-approve some MCP tools but not others?

The toggle covers MCP tools and resources as one category.1 To split them, limit the tools a server exposes, or run write tools behind a gate that asks.

Do checkpoints undo terminal commands?

They snapshot project files after each tool use, commands included.5 Effects outside those files, such as database rows or remote systems, aren’t in the snapshot.

Written with AI assistance and checked against our claims register.

The takeaway

Cline has no command allowlist: the model flags each command's requires_approval, so Execute safe commands trusts the model; keep it off near production data.

Read nextWindsurf Cascade auto-execution: Turbo mode, allow lists, deny lists and hooks Try it: install in 7 s

Related on this site

More posts

Sources

  1. 1Cline docs: Auto Approve and YOLO Mode · docs.cline.bot · checked 27 October 2026
  2. 2Cline docs: YOLO Mode enterprise controls · docs.cline.bot · checked 27 October 2026
  3. 3Cline SDK docs: Permission handling · docs.cline.bot · checked 27 October 2026
  4. 4Cline SDK docs: Plugins and hooks · docs.cline.bot · checked 27 October 2026
  5. 5Cline docs: Checkpoints · docs.cline.bot · checked 27 October 2026
  6. 6Devin Desktop (Windsurf) docs: Terminal · docs.devin.ai · checked 27 October 2026
  7. 7Cursor docs: CLI permissions · cursor.com · checked 27 October 2026

Published 27 October 2026, sources last checked 27 October 2026. If something here is out of date, write to hello@deedglass.com.

Try it on your own setup

npx deedglass scan

Grades only your own setup. Nothing is uploaded.

Pricing