Skip to main content

Changelog

Mistral Vibe

Mistral AI's coding agent for the terminal

Recently checked

Last checked against an official source:

Open official changelog source

Collection from official sources is limited. Earlier releases may be missing. This page does not claim a complete version history.

Latest Version:v3.1.0
Loaded Releases:60
Source:GitHub Releases
RSS

Latest Releases (60)

v3.1.0New

v3.1.0

November 4, 2026

  • •New enable_file_autocomplete setting (and VIBE_ENABLE_FILE_AUTOCOMPLETE) turns off @ file completion and its background file index.
  • •A Jump to bottom button appears over a scrolled-up conversation and returns to the latest message.
  • •Ctrl+C closes the PR/MR list, and Home, End, PageUp and PageDown move its highlight.
  • •New /context command (also opened by clicking the footer's token counter) shows what fills the context window: system prompt, tool definitions, skills, conversation, free space and the auto-compaction buffer, with per-category token estimates.
  • •A copy icon after the footer's working directory copies the whole path.
  • •The footer shows how much of your monthly Vibe Code usage is spent, turning yellow then red as it runs out, or marked PAYG when pay-as-you-go covers usage past it.
  • •The Nix flake exposes packages.mistral-vibe, an overlay and nix flake check checks
  • •The agent can open an image file with read_file and see it, on a model that reads images.
Show more (7)
  • •Ctrl+R searches your prompt history and loads the selected prompt into the input.
  • •Experimental: the Mistral MCP built-in connector, behind the experimental_enable_mistral_mcp_connector setting
  • •New mistral-dark and mistral-light themes built from the Mistral brand palette.
  • •On macOS, new worktrees of a trusted repository are now cloned from a template checkout by default; set worktree_copy_on_write = false to turn this off
  • •experimental_worktree_copy_on_write is renamed to worktree_copy_on_write, and existing configs are updated on startup
  • •Connector tools meant only for their MCP App are no longer offered to the model
  • •Errors, warnings and startup config issues now appear as lines in the conversation instead of pop-ups
v3.0.4

v3.0.4

October 30, 2026

  • •/release-notes (alias /whatsnew) browses the release notes of every Vibe version in a searchable, full-screen view.
  • •Provider option preserve_api_base = true keeps a custom api_base that /whoami would otherwise overwrite (split-horizon / proxied deployments)
  • •VIBE_TERMINAL_KEY names the terminal --continue uses; an empty value makes it ignore the terminal
  • •Setup warns when an API key set in your shell overrides the key it saves.
  • •/whoami shows which credential source (shell, .env, or keyring) is in use.
  • •vibe -p --system-prompt-file PATH replaces Vibe's own instructions in the system prompt with the file's text.
  • •agent_max_output_tokens and compaction_max_output_tokens cap the output of every agent and compaction request on any provider, held to what the model and its context window leave room for; at 0, the default, a cap is still sent only where the provider requires one.
  • •vibe -p --model ALIAS runs with that model without changing your default.
Show more (7)
  • •New /fork alias for the /branch command, which forks the current conversation into a new resumable session.
  • •Experimental experimental_worktree_copy_on_write setting on macOS: new worktrees of a trusted repository are cloned from a template checkout, so they use less disk and are created faster
  • •A model's thinking_levels can list levels of its own, such as ["low", "turbo"]: each one is offered in /thinking and sent to the provider as written. On a Mistral provider, a config warning flags a level the Mistral SDK does not support, which the SDK leaves out of the request
  • •Sessions open faster: Vibe reuses the loaded config until a config file, trust decision or environment variable changes.
  • •After an upgrade, a new session lists what is new in every release since your last visit, not only the latest one; resumed sessions no longer show it below the conversation.
  • •Opening or resuming a session no longer waits for your organization's settings when a copy is cached; Vibe checks for changes every 10 minutes in the background and retries a failed check after a delay.
  • •A change to your organization's settings now reaches open sessions at their next turn, taking away tools, connectors, MCP servers or a mode it disables.
v3.0.3

v3.0.3

October 26, 2026

  • •Skills added or edited on disk are picked up by running sessions without /reload
  • •The footer shows the active model and its thinking level next to the token counter, and updates after /model, /thinking or a resume.
  • •Clicking the model in the footer opens /model while no turn is running, keeping the prompt being typed.
  • •The / menu starts each skill's description with its scope (project, user or vibe), setting skills apart from built-in commands.
  • •post_agent hooks accept match to run only after a given agent, or after the main agent with match = "main".
  • •The post_agent hook payload includes agent_name, the configuration name of the agent that finished its turn.
  • •outside_workdir = "deny" (global or per tool) refuses file and shell access outside the working directory with a tool error instead of a prompt, so the agent keeps working.
  • •Vibe now shows a warning when the model refuses a request as too long or a compaction has to shorten its inputs or summary
Show more (7)
  • •Vibe now warns at startup about settings in your config that it does not use, such as misspelt keys, and suggests the right name
  • •Set strict_config = true (or VIBE_STRICT_CONFIG=1) to make Vibe refuse to start when your config has settings it does not use. A VIBE_STRICT_CONFIG value that is not on or off, such as 2, is refused too
  • •vibe config schema prints a JSON schema of every setting, including each built-in tool's settings
  • •Administrators can set VIBE_CUSTOM_CONSOLE_URL to pin the console URL: VS Code and Vibe CLI sign-in is prefilled with that console, redirected into its normal login flow, and the domain can no longer be changed. The value may be a full URL or a bare domain; scheme-less values are upgraded to https:// (an explicit http:// is kept) and trailing slashes are stripped. A split-horizon API base configured for the pinned console is preserved.
  • •New artifacts/markViewed app-server RPC: marks a session's artifacts (PRs/MRs) as viewed, persists viewed_at into the session logs, and announces each newly marked artifact with an artifacts/updated notification (Phase 3, Desktop artifact panel)
  • •Session artifacts (experimental): open pull requests and merge requests linked to the session's current branch (gh pr list --head / glab mr list --source-branch) are now discovered at session load and recorded in the session logs, behind the experimental_enable_pr_monitoring feature flag (shared with PR/MR creation detection)
  • •The bottom bar shows the session's pull requests and merge requests: a single one as a centered, clickable link (PR #123 / MR !7) that opens it in your browser, or a PRs (n) count link that opens a modal listing every artifact with its link
v3.0.2

v3.0.2

October 22, 2026

  • •enable_mouse_capture setting (or VIBE_ENABLE_MOUSE_CAPTURE=false) to leave text selection and copy to your terminal; depending on the terminal, some other mouse interactions such as clicks are disabled too.
  • •Added max_subagents and max_concurrent_subagents settings to control how many subagents can be alive and running at once
  • •In VS Code, connectors that need no login, such as DeepWiki, show as Not connected and connect in one click, instead of asking an admin to set them up.
  • •An image sent to a model that does not support image input no longer fails the turn. The model gets the text "[image]" in place of the image, and the session continues.
  • •Shortened the copy hint so it fits in narrow terminals.
  • •The model's reasoning now shows by default, as a collapsible "Thought" row.
  • •The starting mode your organization sets now applies even when Vibe would otherwise have started you in smart-approve.
  • •Using --agent to pick a mode your organization disabled now opens your default starting mode (your organization's, if it sets one) and shows a notice.
Show more (7)
  • •Raised the default subagent limits to 32 alive and 32 running concurrently (previously 8 and 4)
  • •Copying on Linux now falls back to xclip or xsel when wl-copy fails, and suggests Shift+select or installing xclip when no clipboard tool works.
  • •Hooks from hooks.toml now run for tool calls made inside subagents, including post_agent hooks, as they do for the main agent.
  • •A custom subagent's [tools.*] permission, allowlist and denylist now apply to its tool calls, on top of the main agent's rules, instead of being ignored.
  • •A custom subagent's enabled_skills and disabled_skills now limit which skills it can load, instead of being ignored.
  • •Long context compactions no longer fail behind proxies or VPNs that close idle connections.
  • •Sessions that could not be resumed after a turn was stopped during a tool approval open again.
v3.0.1

v3.0.1

October 20, 2026

  • •New enable_auto_approve setting: when the admin-managed config sets it to false, the auto-approve (YOLO) mode is forbidden — the auto-approve agent (and any custom agent with safety = "yolo") is hidden and --auto-approve/--yolo plus bypass_tool_permissions are ignored. Per-tool permissions still apply.
  • •compaction_max_output_tokens (80000), compaction_thinking (unset), compaction_reasoning_limit_tokens (32000), output_limit_retries (6) and output_token_reserve (4096) settings tune compaction requests and recovery from answers cut off at the output limit.
  • •The app server has experimental session/subagents/wait, session/subagents/interrupt and session/subagents/read methods: a client can wait for the subagents a turn left running, interrupt them, and read each one's status, store, model, usage, cost and steps
  • •vibe -p waits for the subagents its turn left running before it exits; --time-limit and other stops interrupt them, and the --output-dir export lists each subagent with its status, model, usage, cost and steps, and copies its journal
  • •Each subagent's cost is priced at its own model's rates; when its model is unknown, the root's rates price it and the row says so (pricingModel, pricingFallback)
  • •An --agent-socket server's tools/call names its caller, so the server can tell a subagent's call from the root's
  • •A custom tool that fails to load now shows a warning naming the file and the error, instead of disappearing silently.
  • •Experimental vibe run-server command: runs many vibe -p --agent-socket sessions from one process, on shared app-servers (--runs-per-app-server, default 16) that exit once idle, each run with its own config, credentials, limits and export
Show more (7)
  • •Vibe Desktop sessions support scheduled loops: the assistant can schedule a recurring prompt, fired prompts show as loop cards in the conversation, and active loops are listed (and can be deleted) in the session info.
  • •/model and the /config model list now group models by where they come from: your organization, experiments, the model catalog, then your own config.
  • •Resuming or continuing a session keeps the agent it last ran on, even if your default agent changes; switch agents in the session to change it.
  • •ACP usage updates now report the session's prompt-cache hits as cached read tokens.
  • •A tool output past about 16,000 characters is saved to a file, and the model sees its start and end instead of only its start.
  • •A bash command that times out returns what it printed, and the default timeout is now 120 seconds, up to 300 when asked.
  • •tools.bash.default_timeout and max_timeout_seconds are unset unless set in config.toml; the native shell tools still default to 300 seconds, at most 600 or the default when that is longer.
v3.0.0

v3.0.0

October 19, 2026

  • •The app-server reports each model's compaction threshold, so a client can show how full a session's context is before it compacts.
  • •Desktop can import projects and sessions from another coding agent during onboarding.
  • •Rust CLI: /leanstall and /unleanstall install and uninstall the Lean agent.
  • •With experimental_enable_model_catalog on, the model list includes Mistral's curated models, and your config can still override their settings.
  • •Rust CLI: Tool approval options, /thinking levels, /resume sessions and /log-level rows and badges can be clicked.
  • •Rust CLI: Option lists show a faint hover background under the mouse.
  • •With a "shared only" API key, /mcp blocks connectors that need your login and tells you to run vibe --setup.
  • •Rust CLI: /branch forks the current conversation into a new resumable session.
Show more (7)
  • •The agent can now wait for your next message or for background work to finish, instead of repeatedly checking.
  • •Rust CLI: Debug console for live session logs, opened with /debug or Ctrl+\.
  • •Rust CLI: Report activity, approvals, questions, completion, and failure with session titles and error messages through the OSC 7501 Program Status Protocol.
  • •/status shows the credential source in use and the shadowed sources
  • •Admin-enforceable enable_mcp flag to block all user-facing MCP server operations (add, remove, toggle, login, logout, tool registration), including plugin-provided MCP servers, via managed config.
  • •read_file shows a file's line endings as they are on disk, like shell commands do
  • •write_file writes new files with the line endings it is given, also on Windows
v2.26.1

v2.26.1

October 9, 2026

  • •The app-server reports which process holds a stored session, and pushes a change when that process lets go of it, so a client can show a session open elsewhere as read-only
  • •Rust CLI: Configure proxy and SSL certificate settings with /proxy-setup.
  • •Rust CLI: The narrator reads each turn's summary aloud and shows a speaking status row that Esc or Ctrl+C stops.
  • •Rust CLI: /plugins browses the session's plugins, and /reload-plugins re-pins them and reports what changed.
  • •Rust CLI: Free-text answers to agent questions accept multiple lines, multi-line pastes, and click-to-place caret.
  • •Rust CLI: In the /model and /thinking pickers, s applies the selection for the current session only, while Enter still saves it to your config.
  • •Rust CLI: Picking a model immediately opens the thinking level picker for that model, and both are applied together (Esc cancels both); after a session-only model pick, the thinking level is session-only too.
  • •nix run .#rustCli to launch the Rust terminal instead of the Python one
Show more (7)
  • •Rust CLI: /whoami shows the start of your API key, its scope, and its access scope.
  • •Space toggles the focused checkbox in multi-select questions.
  • •enable_background_processes = false stops the agent from starting background processes
  • •enable_subagents = false takes subagents away from the agent on the default runtime.
  • •Disable main input cursor blinking with cursor_blink = false or /config, keeping a steady caret in both Python and Rust terminals.
  • •Document Library connector: search, list, open, and fetch documents from your Mistral document libraries directly in Vibe.
  • •export.json records steps, the number of model calls the agent made
v2.26.0

v2.26.0

October 6, 2026

  • •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.
Show more (7)
  • •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.
v2.25.8

v2.25.8

September 23, 2026

  • •Rust CLI: support for configuring Vibe Code remote projects
  • •Clean up managed worktrees after archiving local sessions
  • •Archive local sessions so they can be hidden from active session lists
  • •Vibe Desktop now shows unseen indicators for local Code sessions that need attention or finish a turn
  • •Rust CLI: the live todo plan pins above the input, and Cmd+\ opens the full plan in a right sidebar.
  • •MCP servers declared by a plugin now start, so the tools they carry are callable in the session
  • •Rust CLI: Support sessionless MCP server add and remove commands from the shell.
  • •Rust CLI: File completions respect the caret, preserve surrounding text, and allow directory descent.
Show more (7)
  • •Rust CLI: Filter MCP servers and connectors with / in the MCP browser.
  • •Text selection, copying, and scrolling in trusted-folder prompts.
  • •Rust CLI no longer renders raw ANSI escape codes from tool output as garbled text.
  • •Rust CLI: Pasting into an interactive question now lands in the free-text answer box instead of the composer.
  • •Rust CLI: Selecting transcript text while an interactive question is open now highlights and copies it.
  • •Rust CLI: The question text, its options and the waiting row are now selectable with the mouse while a question is open; the option prefix (cursor, numbering, checkbox) is never selected or copied.
  • •Rust CLI: Releasing a selection while a question is open now flashes the Copied inline notice, and only when autocopy is enabled.
v2.25.7

v2.25.7

September 22, 2026

  • •Allow /teleport with Vibe and workspace API keys, including free accounts, without an internal feature gate.
  • •Explain which API keys to use when teleport rejects a Codestral key.
  • •Warn when managed configuration contains removed Vibe Code settings.
  • •On Windows, opening a session that is already open in another process reports 'Session is already open' instead of a raw permission error.
  • •On Windows, idle-session cleanup no longer mistakes a session held by another process for an idle one.
  • •Automatic project context no longer runs repository-configured Git clean or process filters.
v2.25.5

v2.25.5

September 18, 2026

  • •Subagent conversation history is readable through the owning parent session
  • •Configurable live subagent status and read-only transcript switching from the interactive prompt
  • •--experimental-harness sessions can track todos, shown as a pinned line under the input and in full on /todo, and keep a per-session scratchpad whose notes are re-stated to the agent after the conversation is summarised.
  • •Turn an installed skill on or off from the /skills browser without removing it.
  • •Skill authors can mark skills as explicit-only, keeping slash invocation available while preventing model-initiated loading.
  • •vibe mcp add --allow-insecure-http and /mcp add --allow-insecure-http opt into plaintext http:// MCP servers on non-localhost hosts, such as a server on the LAN.
  • •Tool telemetry events now carry approval_source (config/smart/user/bypass/never) to distinguish how a tool call was authorized.
  • •Press r in the MCP servers & connectors panel to refresh the list on demand.
Show more (7)
  • •Connectors view now links to Studio to add more connectors, pre-scoped to your org and workspace.
  • •Local app-server sessions now persist and expose their latest accepted user interaction timestamp for downstream session resources.
  • •Unified Harness app-server sessions can now be pinned, and remember it across restarts.
  • •Scheduled loops (/loop) are now available in the Vibe VS Code extension with a panel UI for creating, listing, editing, and canceling recurring prompts.
  • •Vulnerability disclosure guidance and private reporting instructions in SECURITY.md.
  • •/teleport now works under --experimental-harness
  • •The Unified Harness is no longer labeled "experimental"; --legacy-harness is the documented escape hatch back to the legacy Python harness.
v2.25.4

v2.25.4

September 12, 2026

  • •Connector discovery excludes raw HTTP connectors that do not support MCP tools.
  • •A single invalid connector no longer prevents the rest of your connectors from loading; an individual tool with an oversized schema is dropped on its own, and accounts over the connector cap keep a bounded catalog instead of loading none.
  • •Automatic session titles use the active model on custom Mistral endpoints.
  • •Smart-approve now appears in the Vibe Desktop mode picker when enabled via its rollout, and a background refresh no longer drops it.
  • •ACP clients (Zed/JetBrains) always list the active mode, so a session can never get stuck on a mode missing from its own list.
  • •Smart-approve now escalates to a confirmation prompt when a risky action is requested again, instead of only blocking it, and shows the reason it is asking.
  • •Auto-approved calls no longer read as warnings: the reason smart-approve let a call run is shown as a note rather than a warning.
  • •@ file mentions now resolve against every workspace root, including --add-dir ones.
Show more (3)
  • •A @ mention outside the workspace no longer rejects the whole message; it stays plain text and the read tool can still ask for it.
  • •--add-dir no longer drops the working directory from the file tools' workspace roots.
  • •Shell permission checks now require approval for risky syntax and command options that could bypass workspace and denylist controls (CVE-2026-87984, CVE-2026-87985, CVE-2026-87986, CVE-2026-87987, and residual CVE-2026-87988 variants).
v2.25.3

v2.25.3

September 11, 2026

  • •New /branch command forks the current conversation into a new resumable session, leaving the current session unchanged. Resume the copy in another terminal with vibe --resume <id>.
  • •Bump the local harness runtime to v0.4.5.
  • •Make @ file mentions use Git-aware discovery and accept standalone pasted files and folders.
  • •Retained chats remain readable and restore their worktrees when work resumes.
  • •New session logs are no longer readable by other users on POSIX systems.
  • •AGENTS.md instructions now load into the system prompt under the experimental unified harness.
v2.25.2

v2.25.2

September 10, 2026

  • •VS Code extension: debug submenu with log level picker, open log file, and a togglable session status panel showing agent statistics (steps, tokens, tokens/sec, context, cost)
  • •Open the session picker faster by building the merged session listing once per cursor walk instead of on every page.
  • •Renamed SessionBackendKind literals from "python"/"rust" to "legacy"/"unified" to match backend identity naming.
  • •An "always" permission grant that fails to reach ~/.vibe now warns instead of passing silently: ConfigOrchestrator.set_field returns its errors rather than raising, so an ignored failure looked exactly like a successful write and the next session asked again with nothing to explain why.
  • •Steered prompts now preserve their host-provided display content in app-server session history.
  • •Preserve the selected permission mode when a session starts in a worktree.
  • •Managed worktree creation, attachment, and retention cleanup are serialized across processes, and stale reservations are recovered safely.
  • •Stop dropping a session from the picker when it is touched while paging through the list.
v2.25.1

v2.25.1

September 9, 2026

Added

  • Desktop keeps 15 recent managed Code worktrees by default, configurable in Local Coding settings; cleanup skips active, dirty, untracked, or unpushed worktrees.
  • Background process tools (process.start, process.stop, process.output, process.list, process.write) now show the command or process ID in the call header and a typed result widget instead of raw JSON.
Show more
  • Tool call groups now fold into a single compact summary line by default. Click to expand the full list. Ctrl+O toggles all groups and result bodies. The summary shows present-tense labels while running (e.g. "Running commands") and past-tense when done (e.g. "Ran commands"). File edits and writes are included in the fold.
  • Show a loading spinner in the conversation while /reload is in progress
  • A risky call is returned to the model to self-correct rather than interrupting the human, escalating to an approval prompt only after a streak; no failure path auto-approves
  • Experimental experimental_enable_tab_status config option: shows >> (running) and ? (waiting) indicators in the terminal tab title.
  • New built-in worktree plugin with a skill for creating, reusing, and cleaning up git worktrees under $VIBE_HOME/worktrees.

Changed

  • The invalid API key error now names where the key came from (env var MISTRAL_API_KEY, the keyring), so a shell-exported key shadowing the one saved at setup is visible.
  • Optimized resource usage when running the full test suite.
  • The vibe and skill-creator skills now reach a session as skills of the shipped vibe plugin, so they are offered once, as /vibe:vibe and /vibe:skill-creator.
  • Bump harness to v0.4.3
  • Vibe Desktop can create local projects from any existing folder.
  • Background LLM session titles are now off by default. Set session_logging.generate_titles = true to re-enable them.
  • Vibe CLI shows the output of a ! command directly in the timeline: it is neither folded behind its own toggle nor gathered into the summary line that folds the agent's tool calls. Shell calls the model makes still fold, as every other tool result does.
  • The /plugins detail view now leads with Author and Version, then the description, then Location (renamed from "Installed from"), Scope, Format, and Pinned.
  • The /resume session picker now shows an animated loading indicator while saved sessions are discovered and waits briefly before loading a highlighted session preview, keeping rapid keyboard navigation responsive.
  • A session that asks for a worktree now starts in the repository and moves into the worktree once git worktree add lands, so the session exists from the moment the prompt is sent instead of after the checkout. Only its first turn waits.

Fixed

  • Worktree sessions retain access to attached images and files.
  • Pinning or removing a shared skill now republishes this repository's claims, so another repository's cleanup no longer deletes a skill you just added.
  • Removed unauthenticated debugpy listener on localhost:5678 that was activated by DEBUG_MODE=true under vibe-acp
  • A rejected API key no longer offers /retry, which could only fail again with the same key.
  • Path autocomplete now prioritizes matches beneath an explicitly typed directory prefix in large repositories
  • GrowthBook rollouts set only via a feature's default value now take effect (previously ignored)
  • GrowthBook boolean feature flags now take effect, not just string on/off values
  • Cached experiment variants are no longer dropped to defaults on cold start or resume
  • Stop the CLI from dumping a traceback on exit when the app-server connection drops during shutdown (a failed reconnect/resume no longer crashes the event listener).
  • Built-in plugins are no longer listed under "Not loaded" in /plugins with "Plugin namespace 'vibe' is reserved". Only a built-in may claim the reserved vibe namespace, but the re-resolve a session's plugin bind performs was re-reading every checkout at project scope, so the shipped vibe plugin was dropped from every session.
  • Tool call group icon now reflects the status of the last call in the group instead of the worst (any failure no longer overrides a later success)
  • Individual failed tool call indicators stay grey (muted) when a later call in the same group succeeds, instead of escalating to red
  • Tool group and individual tool call indicators now show a blinking square while running, then a colored dropdown triangle when settled
  • App-server validation errors now name the offending field and reason instead of only "Invalid request parameters".
  • The auto-generated session title now waits for the first turn to complete and ignores the assistant's process preamble, so it names the actual task (e.g. the real subject of a linked issue) rather than an opening line like "I'll explore the codebase"
  • Session titles now generate and refresh while a turn is still running — including long, tool-heavy turns that emit few assistant messages — instead of only when the turn ends or is interrupted
  • A ! command that exits non-zero (or is interrupted) now shows what it printed. Only the exit status was reported before, which hid the stderr explaining it.
  • User-scope plugins (~/.vibe/plugins/) were shown as project scope in /plugins because the bind-time resolve collapsed all staged checkouts to project scope. Scope is now preserved from the original discovery.
  • Smart approve now runs its classifier on the fast Mistral model regardless of the session's active model, including when you switch into the mode mid-turn; a session on another model (e.g. a non-Mistral provider) sent the classify call to the wrong endpoint, so every gated tool call came back unverifiable and prompted instead of auto-approving
  • The smart-approve pre-check no longer fast-approves content-dumping git commands (git diff/show/blame, git log -p, git status -v); they defer to the classifier so a secret shown in a diff is not auto-read
  • The smart-approve pre-check no longer fast-approves a secret path hidden behind a cd prefix (e.g. cd ~/.ssh && ls); the secret scan now reads the whole command, not the part after the cd
  • The classifier now runs the fast model with deterministic decoding (temperature 0, thinking off) regardless of the session, so a thinking session no longer sends a thinking request to the small model and escalates every gated call
  • A subagent's classification event under smart approve is now forwarded to telemetry like a top-level one, instead of being applied as a subagent state update — which had dropped the subagent's events from the main-agent stream
  • Smart approve no longer classifies ui.ask_user_question; asking the user a clarifying question is the escalation channel itself, so it always runs instead of paying a classifier round-trip, being deny-and-continued, or escalating to an approval dialog to ask
  • Starting with --smart-approve now keeps the mode in the Shift+Tab cycle for the whole session; it was selected at launch but dropped out of the cycle after switching to another mode, so you could not switch back to it
  • Switching agent mode mid-turn now re-gates MCP/connector tools too: leaving smart approve stopped asking for built-in tools but kept classifying every connector call because the mid-turn config graft dropped provided_tool_mode
  • "Approve for session" on an MCP/connector tool under smart approve now covers the whole tool instead of the exact arguments, so calling the same tool with different arguments no longer re-prompts (built-in tools keep their per-call resolver scope)
  • Resuming a session created by a newer version of Vibe now shows a clear message to restart with --check-upgrade and update, instead of an internal store-format validation error.
  • Hook commands run without a shell to prevent injection via hooks.toml
v2.25.0

v2.25.0

September 4, 2026

  • •Devstral Small (devstral-small-latest) from the default models list; stale sparse config overrides migrated automatically
v2.24.5

v2.24.5

August 27, 2026

  • •Retried Mistral responses are released back into the connection pool
v2.24.4

v2.24.4

August 26, 2026

  • •Chat-completion connections are closed to avoid pool timeouts
v2.24.3

v2.24.3

August 20, 2026

  • •Connector bootstrap failures are surfaced instead of reporting no connectors
v2.24.2

v2.24.2

August 18, 2026

  • •OpenTelemetry traces are sent to the correct endpoint
v2.24.1

v2.24.1

August 11, 2026

  • •/clear resume hint gated on session persistability
v2.24.0

v2.24.0

August 5, 2026

  • •/resume listing speed no longer scales with total session count (persistent index)
v2.23.3

v2.23.3

August 3, 2026

  • •Unreachable chat mode
v2.23.2

v2.23.2

July 30, 2026

  • •WhoAmI result again tolerates extra fields
v2.23.1

v2.23.1

July 28, 2026

  • •Crash when @-mentioning a file, which aborted the turn
v2.23.0

v2.23.0

July 28, 2026

  • •Data-retention link accessible to non-admins
v2.22.0

v2.22.0

July 21, 2026

  • •Teleport context summary flag
v2.21.0

v2.21.0

July 17, 2026

  • •enable_experimental_hooks config flag (and VIBE_ENABLE_EXPERIMENTAL_HOOKS env var); hooks now load unconditionally when declared
v2.20.0

v2.20.0

July 15, 2026

Added

  • Warning when the Narrator is enabled without working audio output

Changed

  • Windows command prompt is now shell-aware
  • Hardened bash tool permissions and cross-platform shell handling
  • Rewind now triggers on a double Esc when the input is empty, with improved keybindings
  • Teleports now include summarized context
  • Renamed user plan labels (Teams → Team, Education → Student)
  • ask_user_question selection now works via mouse and supports free-text entry

Fixed

  • More robust SSE streaming in the generic backend
  • NoneType crash when stopping voice recording during a drain-timeout race
  • Windows ProactorEventLoop teardown tracebacks on /exit
  • MCP OAuth tokens are no longer dropped on transient refresh errors
v2.19.1

v2.19.1

July 9, 2026

  • •Corrected the truncated indicator position and removed a duplicate fetch link
Showing 30 of 60