UPDATED IN SEPTEMBER 2026

Agent in IDE, autonomy set by a written rule

How to run an IDE agent whose autonomy is set by a written, version-controlled permission ruleset rather than a per-prompt click, so multi-file work runs without constant confirmation interrupts.

L2 · DELEGATEDWhat this level takes
MUSTNot met, not at this level
  • Agents operate in multi-step agentic mode (edits without per-step approval)
  • At least one agentic IDE (Cursor, Windsurf, or Claude Code) is used by 50%+ of the team
  • CLAUDE.md, .cursorrules, or equivalent agent instruction file exists in 100% of active repositories
SHOULDExpected in practice, not required
  • Developers use two or more AI tools in parallel (e.g., Copilot + Claude Code)
  • Agent instruction files are reviewed and updated at least quarterly
  • Agent autonomy is bounded by a written permission ruleset (deny/ask) committed to the repo, not by per-prompt clicking
EVIDENCEHow you would check
  • Agent instruction files committed in repository root
  • IDE telemetry or license dashboard showing agentic mode usage
  • PR descriptions referencing agent-assisted development

What It Is

An agent working inside your IDE is qualitatively different from chat or autocomplete. Instead of suggesting code for you to accept, the agent acts: it reads files, makes edits across multiple files, runs commands, reads the output, and iterates. For two years the question was whether you clicked the setting that removed the confirmation step between actions - "YOLO mode", auto-approve in Claude Code, auto-run in Cursor's Composer. As of August 2026 that framing is gone. What removes the confirmation step is no longer a toggle you flip per prompt; it is a permission policy you write down. Claude Code's auto mode became the default for Pro, Max and Team accounts on August 14 (announced August 7), with a classifier judging individual actions and a circuit breaker that halts the session after 3 consecutive or 20 total blocks. This is not a return to YOLO. Two declarative rule layers run before the classifier is ever consulted: permissions.deny blocks outright, and neither the classifier nor your stated intent can override it; permissions.ask forces a prompt, and an explicit ask rule is treated as your stated intent, so the classifier cannot auto-approve past it. Auto mode remains opt-in on Claude Enterprise, the Claude API, Bedrock, Google Cloud and Microsoft Foundry, existing user-set defaults move only through a one-time prompt, and org-managed defaults do not move at all.

Claude Code, Cursor, GitHub Copilot Workspace, Windsurf, and Aider all support agentic operation. Cursor 3 (launched April 2, 2026) represents the most radical expression of this idea: an agent-first IDE redesign where the primary workflow is directing fleets of agents rather than editing code with agent assistance. Windsurf now supports 5 parallel agents (since February 2026), enabling concurrent agentic work streams within a single IDE session. The difference between a policy-governed agent and an agent that stops at every action is significant: without per-action confirmation prompts, the agent completes a feature implementation or refactoring task in a single run rather than requiring dozens of keystrokes to approve each individual step.

At L2 (Delegated), this is the team's first experience with AI acting rather than merely suggesting. The agent can implement a complete feature, refactor a module, or fix a class of bugs across an entire codebase - tasks that previously required hours of focused developer time. This is the point where the maturity matrix starts to deliver real throughput gains rather than just convenience.

The "Delegated" level distinction from L1 (Assisted) is that at L2 the autonomy has a stated shape: a CLAUDE.md or .cursorrules file that tells the agent what conventions to follow, a permissions.deny and permissions.ask ruleset that says where the agent may not go, and a development environment where mistakes can be easily reverted (version control, clean branches). Running an agent loose with no project context and no committed ruleset is L1 behaviour dressed up as L2. The L2 signal is not whether the agent runs unattended - it is whether the boundary it runs inside is written down, reviewed, and in version control.

Why It Matters

A written autonomy boundary is the unlock that turns AI from a typing assistant into a productivity multiplier:

  • Eliminates approval friction - a task that would require 50 confirmation clicks runs to completion with one prompt
  • Enables larger task scope - agents can tackle "implement this entire feature" rather than just "write this function"
  • Demonstrates AI's true capability - developers who've only used autocomplete are often shocked by what an agent can accomplish in a single run
  • Creates the feedback loop for better context - when the agent makes wrong decisions, it reveals exactly what context was missing, driving improvement of CLAUDE.md and of the ruleset itself
  • Sets the foundation for L4 governed agents - the pattern of "state the limits, agent runs, review the result" is the same at L2 and L4; the difference is sandboxing, evidence, and scale
  • The human click was never the control - developers approve 97% of permission prompts. In Anthropic's 1,053-person study humans caught 13.6% of dangerous commands where the classifier caught 89%. A rule you reviewed once beats a click you make fifty times a day
  • Agent-first IDEs made the toggle obsolete - Cursor 3's redesign proves the industry is converging: the entire IDE is built around agent orchestration, not code editing with agent assistance. When a developer is directing several agents at once there is nobody left to watch each action, so the governance moves from the toggle to the ruleset - which is why the L2 question is now whether your deny and ask rules are written down and reviewed, not whether a human is clicking

The key risk of a fast-moving agent is that mistakes happen faster. An agent that misunderstands a requirement can make dozens of incorrect edits before you notice. This is why L2 autonomy is combined with: working on a clean branch, having tests to catch errors, and reviewing the diff before merging. The goal isn't blind trust - it's informed delegation, bounded by a rule you wrote, with a review gate at the end.

TIP

Before handing an agent a significant task, write a clear task description with acceptance criteria. "Implement X" produces worse results than "Implement X such that tests Y and Z pass, following the pattern in module A, without modifying files B and C." The time spent on a precise task description pays back in fewer wasted agent runs.

Getting Started

  1. Start on a clean branch - Always run agents on a separate git branch. This makes reviewing the diff easy and reverting trivial if the agent goes wrong.
  2. Write a CLAUDE.md first - Before turning autonomy up, ensure the agent has project context. An agent without context will make confident, wrong decisions. Even a basic 50-line CLAUDE.md dramatically improves agent behavior.
  3. Write the permission rules before you turn autonomy up - Autonomy is a config file now, not a keystroke. In Claude Code, put your non-negotiables in permissions.deny (secrets, deploy scripts, force-push, anything that reaches production) and your judgement calls in permissions.ask. Both layers run ahead of the classifier and cannot be argued past, so this file is the actual control surface: commit it and review it like any other production config. In Cursor: configure auto-run in Composer settings (Run Mode stays classifier-gated). In Aider: use the --yes flag. For code you did not write, Claude Code 2.1.248 (August 27) added --restricted / CLAUDE_CODE_RESTRICTED=1, which removes command and code execution and WebFetch, keeps file tools inside the working directory, refuses bypassPermissions and ignores settings files entirely.
  4. Start with low-risk tasks - Point the agent first at tasks like "write tests for this function," "update all import statements to use the new module path," or "add type annotations to this file." These are bounded, reversible, and easy to verify.
  5. Review the diff, not the code - After an agent run, don't try to read every line. Use git diff to review what changed. Look for: did it change files it shouldn't have? Did it follow the patterns in your rules file? Do the tests pass?
  6. Iterate on failures - When the agent makes a wrong decision, that failure is information. Add what it got wrong to your CLAUDE.md, or add a deny rule if it went somewhere it should never go, and run again. Three or four iterations usually converge on correct, consistent agent behavior.
TIP

Anything the agent must never modify (secrets, generated files, deploy config) belongs in permissions.deny, not only in prose. Some agents respect explicit "do not touch" instructions in CLAUDE.md; a deny rule is enforced rather than interpreted.

Common Pitfalls

Running agents without version control hygiene. An agent making dozens of changes without checkpoints means a single misunderstood requirement can corrupt significant code. Always work on a clean branch with a recent commit as your fallback. git stash and git reset --hard are your escape hatches.

Treating the classifier as the control. Auto mode ships with a risk classifier, and the classifier is genuinely good at the job the human click was doing badly. But it is the last line, not the policy. The control is the deny and ask ruleset that runs ahead of it, and that ruleset is worth exactly what its review process is worth. Check it into the repository, diff it in code review, and re-read it after every incident. A team that switched auto mode on and never wrote a deny rule has not adopted a policy - it has adopted a vendor default.

Not reading the full diff before merging. The whole point of delegated autonomy is that the agent runs to completion without your supervision. This shifts your review responsibility from "review each step" to "review the final result." Skipping the diff review eliminates the safety net entirely. At L2, 100% review of agent-produced diffs is non-negotiable.

Giving underspecified tasks. "Refactor the auth module" will produce a confident, comprehensive refactoring that may completely change patterns you intended to keep. An agent running to completion amplifies both good and bad task specifications. The more specific your task description and acceptance criteria, the better the result.

Conflating agent output with production-ready code. Agent-generated code can pass all your tests and still have subtle issues: security vulnerabilities, performance problems, or logic errors that tests don't catch. The agent produces a first draft that requires human review - it's not a replacement for code review.

How Different Roles See It

BobHEAD OF ENGINEERING

Bob's team has been using autocomplete and chat for three months. A few developers have started using Cursor Composer, and Bob is hearing reports of "I implemented an entire API endpoint in 20 minutes." He's excited but also nervous - what if the agent makes changes nobody reviews properly?

What Bob should do: Bob should institutionalize the review gate before celebrating the speed, and he should treat the permission ruleset as a team artefact rather than a personal preference. His team policy for L2 should be: one reviewed permissions.deny and permissions.ask set committed to the repo, always on a branch, always a PR with diff review before merge, always run the test suite after agent changes. These rules preserve quality while unlocking speed. Bob should also establish agent office hours - a weekly 30-minute session where developers share what worked, what went wrong, and what they added to CLAUDE.md or to the deny rules as a result. This turns individual experiences into collective learning, which is exactly what moves the team toward L3.

SarahPRODUCTIVITY LEAD

Sarah is starting to see real velocity numbers. Developers running agents on whole tasks are completing features faster, and she wants to measure this rigorously. But she's worried about quality - are they shipping more bugs along with the faster features?

What Sarah should do: Track two metrics in parallel: PR throughput (up, because delegated agents accelerate implementation) and post-merge bug rate (should be stable or improving, because agents are also writing more tests). If bug rate increases alongside throughput, that's a sign the review gate is being skipped. Sarah should make the post-merge bug rate a standing metric in team reviews - not as a punitive measure, but as the quality signal that validates the throughput improvement. The goal is to show that delegated agent work improves speed without degrading quality, which is the business case for scaling it to more teams.

VictorSTAFF ENGINEER - AI CHAMPION

Victor has been running agents on whole tasks since day one and is already pushing it to its limits. He runs agents on significant refactoring tasks, architecture cleanups, and test suite expansions. His CLAUDE.md has grown to 400 lines of conventions and constraints. His productivity is measurably higher than anyone else on the team.

What Victor should do: Victor's 400-line CLAUDE.md is a goldmine - it represents months of learned agent behavior encoded as rules. He should split it into a root-level CLAUDE.md (project-wide conventions) and per-directory CLAUDE.md files (module-specific patterns), and separate the parts that are advice to the agent from the parts that are boundaries, which belong in permissions.deny and permissions.ask where they are enforced rather than read. That separation is the artefact the rest of the team can adopt. Victor should also start experimenting with running agents on two tasks in parallel using separate git worktrees - that's the preview of L4 multi-agent workflows. His next leverage point is showing Bob the throughput numbers to build the case for team-wide L3 adoption.

How This Guide Changed

What each edition changed in this guide, newest first.

  1. V1.6September 2026LATEST

    August reversed July's headline, and read carelessly it looks like a retreat: Claude Code's auto mode became the default for Pro, Max and Team accounts on August 14, six weeks after the switch to Manual. The substance is the opposite of a retreat. The human click turned out to be the weakest control in the chain - developers approve 97% of prompts, and humans caught 13.6% of dangerous commands where a classifier caught 89% - so it was replaced not by the classifier alone but by a declarative ruleset that outranks it, with permissions.deny unoverridable by classifier or stated intent, and auto mode still opt-in on Enterprise and the API. This guide now frames the L2 question as whether your autonomy policy is written down, committed and reviewed rather than whether a human is watching, and adds the --restricted mode that shipped on August 27 for workspaces you do not trust.

  2. V1.5August 2026

    The era of unattended-by-default is over. Claude Code v2.1.200 (July 3, 2026) flipped the default permission mode from Auto to Manual across the CLI, VS Code, and JetBrains: every tool call now pauses for an explicit Allow, and auto mode is an explicit opt-in rather than the starting state. v2.1.201 went further, requiring approval before privileged actions even in permissive configurations. Cursor's Run Mode remains classifier-gated rather than fully open. The practical reading for L2: YOLO/auto modes are now a governed opt-in you deliberately enable per project or per session, not something you inherit from the vendor's defaults - which makes the guardrails in this guide (clean branch, CLAUDE.md context, diff review) the entry ticket for turning auto mode back on, not optional hygiene.

  3. V1.3June 2026

    Moved the default model and added a middle ground between full auto and full confirmation. Claude Code began defaulting to Opus 4.8 (May 28) with self-verification and an /effort xhigh tier, roughly 4x less likely than Opus 4.7 to let its own code flaws pass, while Cursor 3.6 (May 29) shipped Auto-review Run Mode, where a classifier subagent decides which actions proceed without a prompt and Shell, MCP and Fetch calls run sandboxed.

  4. V1.2May 2026

    Claude Code now defaults to Claude Opus 4.8 (May 28, 2026) with self-verification and an /effort xhigh tier; Opus 4.8 is about 4x less likely than Opus 4.7 to let its own code flaws pass. Cursor 3.6 (May 29) shipped Auto-review Run Mode: a classifier subagent decides which agent actions proceed without a prompt, with sandboxed execution of Shell, MCP, and Fetch calls.

    The harder lesson from April: the harness, not the model, drove weeks of regression. Anthropic's April 23 postmortem traced quality drops to a default-effort change (high → medium for latency), a thinking-history-clearing bug, and a verbosity-reducing system prompt - all silently rolled out. Treat your YOLO mode like a production system: pin effort levels, log session telemetry (thinking length, files read before edit), and have a rollback path when the vendor changes the harness underneath you.

  5. V1.1April 2026

    Recorded agent-first IDEs mainstreaming YOLO thinking. Cursor 3 (April 2) rebuilt the entire IDE around directing fleets of agents rather than editing code with agent assistance, and Windsurf added support for 5 parallel agents. At the time the read was that auto-approve was ceasing to be an advanced toggle and becoming the default interaction paradigm, a judgement July 2026 would partly reverse.

  6. V1.0March 2026

    The founding claim was that an agent which acts is a different tool from one that suggests, and that the confirmation prompt is the whole of the difference. The first edition described YOLO mode as the L2 moment when a team first watches AI complete a task rather than finish a line, and paired it from day one with the conditions that make that survivable: a clean branch, a project file the agent has actually read, and a diff somebody looks at.

Where does your team actually sit on this?

This guide describes one level of one area. Run the assessment to place your team across all 16 areas, see which gates you have passed, and get a report you can take to your stakeholders.

Start the assessment