Skip to content
MV

Mistral Vibe v2.26.0

Released · Mistral AI

Must-knowSecurity fixChanges MCP server config, skills and plugins

What the release notes say

Added

  • The app-server can discover built-in plugins from roots an embedding application ships, alongside the ones inside the package.
  • Vibe Code warns when the selected model cannot view attached images.
  • Vibe Code sessions list their background processes in a side panel with live status indicators and a Stop action for running ones.
  • The ~/.vibe/.env fallback for the API key when the OS keyring is unavailable is now created owner-only (0600), so a saved key is no longer readable by other accounts on the machine.
  • Rust CLI: first-run onboarding wizard with theme selection, API key entry stored in the OS keyring, and browser sign-in; it opens automatically when the API key is missing, and --setup runs it and exits.
  • Rust CLI: /teleport, &<prompt> and --teleport send the session to Vibe Code Web, with push approval and Esc to cancel.
  • Rust CLI: Configure voice mode and narration with /voice.
  • Rust CLI: Schedule recurring prompts in natural language with /loop and model-managed cron tools.
  • Rust CLI: Undo and redo composer edits with platform-aware keyboard shortcuts.
  • Rust CLI: vibe update and --check-upgrade ask the install's own package manager (uv, Homebrew, or PyPI) what it can deliver and prompt to upgrade the CLI.
  • Rust CLI: update checks honor enable_system_trust_store — bundled Mozilla roots by default, the OS trust store when enabled.
  • Rust CLI: Clicking the scrollbar track scrolls one page; holding it keeps scrolling until the thumb reaches the pointer.
  • Rust CLI: Client usage telemetry now reaches the analytics pipeline: startup timings, slash commands, @-mentions, copies, cancellations and voice transcription events, with the detected terminal reported at launch.
  • Models accept a thinking_levels field to offer only the thinking levels they support.
  • Rust CLI: /mcp shows connector display names, plugin owners, and a link to add connectors in Studio.
  • /mcp <name> also accepts the display name shown in the browser, and unknown names list those display names.
  • Per-model max_context_length setting, editable in /config.
  • Rust CLI: Mention skills anywhere in a prompt with /skill-name, with the same caret-based completion popup as @ file mentions.
  • Rust CLI: Accepted /skill and @file completions and pasted images are highlighted in the prompt and edited as a single unit.
  • Rust CLI: Long pastes show as a [Pasted n characters] placeholder, also once sent or rewound; paste the same text again right away to show it in full.
  • Rust CLI: Scrolling to the top of a resumed session or a /resume preview loads its older messages automatically.
  • Rust CLI: the startup banner hint now explains that unsetting VIBE_CLI (or setting it to python) switches to the legacy Python TUI.
  • Documented the VIBE_CLI selector, including the Windows session-variable forms, for running the legacy Python TUI.
  • Publish a source distribution on PyPI again, so Homebrew can build new releases.
  • Rust CLI: Typing a command followed by a space shows its arguments inline (e.g. /loop, /mcp, /rename) until the first argument is typed.
  • Fork an earlier completed response while a session continues generating.
  • A plugin can bundle its own MCP server executable and launch it with a ./ command in its mcp.json.
  • Project-links and teleport support in the VS Code extension: link a local workspace to a Vibe Code Web project and teleport the current conversation to continue it in the browser.
  • While the model provider is unavailable, Vibe shows which retry it is on and counts down to the next attempt.
  • /status shows the active model, provider, and API base.
  • You can now choose the model behind session titles and smart approve with [utility_models] in your config; active pins a feature to the model your session runs.
  • The worktree step of a new session shows what it is doing while it is created, including how many files have been checked out.
  • Xcode setup instructions for using Mistral Vibe as an ACP agent.

Changed

  • workspace/git/worktrees/remove gained additive inspect, force, and deleteBranch params plus branchCreated/holders response fields, so a client can probe a removal before committing to it.

  • A session that starts in a worktree now announces the prepared worktree over session/updated before the session moves, so clients that gate their UI on it can proceed as soon as it exists.

  • Unified backend: a tool set to permission = "never" now denies a sensitive path instead of prompting for it.

  • Packaged vibe, vibe-acp, and vibe-app-server executables now always ship the Unified Runtime; a build that cannot collect it fails instead of producing a legacy-only binary.

  • Vibe now always runs on the Unified Harness by default and exits with an actionable error when the runtime is missing or broken, instead of silently falling back to the legacy engine.

  • Rust CLI: Pasted images show as numbered [Image #N] placeholders instead of their file path.

  • Rust CLI: Several images attached to one message are listed as a tree.

  • Rust CLI: Web search queries and source titles are sanitized, and long source titles wrap aligned under their bullet.

  • hooks.toml hooks on the unified harness receive session_id, transcript_path and parent_session_id on stdin again, matching the legacy runtime.

  • Builtin tool_input reaches hooks with the CLI's author-facing argument names, and a pre_tool rewrite of those names takes effect.

  • A hook's system_message shows as the hook's result line, and a hook that fails to run reports the real reason instead of a generic message.

  • Rust CLI: The /resume picker takes at most 40% of the screen height.

  • Previewing a saved session in the resume picker is much faster.

  • Rust CLI: The command and skill completion menu closes as soon as anything is typed after the command.

  • Rust CLI: Tab-completing a command or skill adds a trailing space, ready for its arguments.