Skip to main content
Lesson 1 of 14 · Mistral Vibe Advanced: Agents, Skills, and Local Mode

Mistral Vibe Built-in Agents

Lesson 1 of 14 Updated November 3, 2026 Advanced
On this page
  1. What Is an Agent in Vibe?
  2. Agents Provided with Vibe
  3. Choosing and Switching Agents
  4. What About “Plan” Mode?
  5. Subagents
  6. Project Instructions: AGENTS.md
  7. Key Takeaways

Lesson rewritten on November 2, 2026 based on Vibe Code documentation. The previous version listed four agents, including default and plan: default is now ask, the default agent is accept-edits, and smart-approve and lean have been added. There is no longer a built-in plan agent. Sources: Agents · Safety, approvals, and permissions. Update November 3: Verified on mistral-vibe 3.0.4. The lean agent only supports the labs-leanstral-1-5 model, which Mistral’s model table shows was retired on September 30, 2026. It can no longer respond.

What Is an Agent in Vibe?

In Vibe, an agent is a set of configurations layered on top of your global settings: a system prompt, a model, a tool selection, and approval rules. The question isn’t just “What am I asking Vibe to do?” but also “Which agent am I using, and therefore what permissions does it have?” Choosing the right agent means balancing your control against the tool’s speed. Sticking to manual approval all day wastes time on low-risk actions, but letting everything through on a critical repository is a recipe for disaster.

Agents Provided with Vibe

AgentApproval BehaviorUse Case
askAsks before every tool (formerly default)Exploring an unknown repository; verifying everything
accept-editsDefault agent. Auto-approves file edits in the working directory; asks for everything else, including shell commandsDaily work; scoped refactorings
smart-approveClassifies each tool call: executes those it deems safe, asks for risky onesDaily work with fewer interruptions
auto-approveApproves everything, including shell commandsTrusted, isolated environments only
leanSpecialized agent for the Lean 4 proof assistant, installed via /leanstall. In Vibe 3.0.4, it only accepts one model, Leanstral 1.5 (labs-leanstral-1-5), which Mistral’s model table lists as retired on September 30, 2026, with no replacementFormal proofs, if a Leanstral model becomes available again

ask: The Most Cautious

Every tool requires your validation: file reads, writes, and commands. This is the safe choice for picking up a repository written by someone else or working with sensitive code. You keep total control, at the cost of a slower pace.

accept-edits: The Default Setting

This is the active agent when you run vibe without options. It modifies files in the working directory without asking, but consults you before running a shell command or performing a sensitive action. Regardless of the agent (unless using full auto-approval), Vibe also asks before any tool reads, writes, or executes anything outside the working directory, and before reading or modifying .env or .envrc files.

smart-approve: Automatic Triage

Many approval requests involve actions you would have accepted anyway. smart-approve first applies your permission rules and reuses approvals already granted in the session. Then, it has a model classify each call: what it judges safe executes immediately; what it judges risky is submitted to you. The documentation is clear about its limitation: it is a classifier, not a sandbox. A call deemed safe executes with the same rights as your user account. For untrusted code or secrets, stick with ask or an isolated environment.

auto-approve: Full Autonomy

Everything executes without confirmation, including rm -rf on any path Vibe can reach. Reserve this for disposable environments: containers, virtual machines, or ephemeral branches in continuous integration. An administrator can disable it for the entire organization (enable_auto_approve = false).

Choosing and Switching Agents

vibe --agent ask            # at launch
vibe --agent smart-approve  # or vibe --smart-approve

In an interactive session, Shift+Tab cycles through agents without quitting Vibe. To change the default agent, add one line to config.toml:

default_agent = "ask"

This setting also applies to programmatic mode (vibe --prompt …). Be careful with this mode: no one is there to answer an approval request, so Vibe refuses any tool call that requires one. For unattended execution, pass --auto-approve (alias --yolo), and only in an isolated environment.

What About “Plan” Mode?

Vibe has no built-in plan agent. If your configuration contains default_agent = "plan" without a custom agent of that name, Vibe displays a warning and starts with ask. However, the “explore and plan, then execute” workflow remains excellent: the documentation shows how to create your own read-only plan agent, which the next lesson covers.

Subagents

An agent can also delegate part of the work to subagents, for example, to explore a large repository without filling its own context. Without a custom subagent, it can launch a generic subagent with the same instructions and tools as itself. You don’t select subagents with --agent: the agent launches them (Lesson 5).

Project Instructions: AGENTS.md

Regardless of the agent, Vibe loads AGENTS.md files: first from your Vibe directory (~/.vibe/AGENTS.md), then from the project, starting from the working directory up to the root of the trusted folder. In case of conflict, the file closest to the working directory wins. This is the place for conventions that apply to all agents: test commands, style guides, and files never to touch.

Key Takeaways

  • Built-in agents: ask, accept-edits (default), smart-approve, auto-approve, and lean (installable, but lacks a model since Leanstral 1.5 was retired on September 30, 2026)
  • smart-approve reduces interruptions but remains a classifier, not a sandbox
  • Use Shift+Tab to switch agents in a session; set default_agent for the default
  • In programmatic mode, any call requiring approval is refused, unless --auto-approve is used
  • There is no longer a built-in plan agent: create your own (Lesson 2)