Added
/release-notes(alias/whatsnew) browses the release notes of every Vibe version in a searchable, full-screen view.- Provider option
preserve_api_base = truekeeps a customapi_basethat/whoamiwould otherwise overwrite (split-horizon / proxied deployments) VIBE_TERMINAL_KEYnames the terminal--continueuses; an empty value makes it ignore the terminal- Setup warns when an API key set in your shell overrides the key it saves.
/whoamishows which credential source (shell,.env, or keyring) is in use.vibe -p --system-prompt-file PATHreplaces Vibe's own instructions in the system prompt with the file's text.agent_max_output_tokensandcompaction_max_output_tokenscap 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 ALIASruns with that model without changing your default.- New
/forkalias for the/branchcommand, which forks the current conversation into a new resumable session. - Experimental
experimental_worktree_copy_on_writesetting 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
Changed
- 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.
/mcpalways opens its panel, showing empty sections when nothing is configured or connectors fail to load.- Slash commands no longer echo in the transcript, and pickers no longer print open or close messages.
- Command outcomes and errors show as
✓,⚠or✕status rows, and content commands such as/helpand/statusrender like an assistant reply under their own heading. - Hooks imported from other agents' plugins are reported as not supported yet instead of being silently ignored.
- Markdown in assistant messages is easier to read on every theme: headings rank by style, links and inline code stand out, quotes are muted, and table, rule and quote lines share one subtle color.
- Code blocks show their language in the top border, and highlighted code is easier to read: function names are no longer underlined, plain identifiers keep the body color, and token colors stay readable on light themes.
- Links and plain code text outside markdown (diffs, file bodies, approvals, bottom bar) use the new link and body text colors.
vibe-acp --setupnow runs the same onboarding wizard asvibe --setup.- Image descriptions, worktree names, teleport summaries, turn narration and the fast-model check now need a provider that reports token usage and a finish reason, like agent turns.
- Without such a provider, utility features stay on the active model.
- The subagent list now hides waiting subagents once their work ends, behind a
N subagents waitingrow; pressaon the focused list to show all subagents. - Vibe no longer loads custom Python tools from
~/.vibe/tools/or.vibe/tools/: each file now shows a warning at startup. Ask Vibe to migrate it to a skill. - Settings under a built-in tool's name, such as
[tools.web_fetch] proxy_host, are now checked even when a custom tool of that name used them. - A user skill named vibe or skill-creator is no longer silently skipped
- Opening a stored session reads only its latest history, so long sessions open faster
- An unknown thinking_levels value is kept instead of ignored: any word is a level. A value that is not a word, such as a blank, is still ignored with a warning
- A thinking level that is neither a standard level nor in the model's thinking_levels is now sent as written with a config warning, instead of being dropped
- Levels the Mistral model catalog lists are kept as written, including ones Vibe has no name for
- On providers that use the Chat Completions or Responses API, a model whose thinking_levels lists minimal sends minimal instead of low
Fixed
- Teleport and worktrees work in repositories that use Git's reftable ref format
- Messages the model writes before calling a tool now show in the transcript instead of staying hidden.
- On Windows, choosing "Update now" prints the upgrade command to run after closing Vibe instead of upgrading in place, which could leave the install broken
- A follow-up prompt queued while busy no longer reappears below newer messages.
vibe --continuereopens the last session of the current terminal in the current folder again, instead of the folder's most recent session from any terminalvibe -c -pcontinues a session of the current folder instead of the most recent session anywhere on the machine- A SOCKS proxy in the shell environment no longer breaks session creation.
- Hooks shipped in a native Vibe plugin's
ai.mistral.vibe/hooks.tomlnow run, from the session's copy of the plugin withPLUGIN_ROOTandPLUGIN_DATAset, like the plugin's MCP servers. - Inline code is readable on light themes, and ANSI themes pick link, code and function colors that suit a light or dark terminal.
- Diffs highlight edited lines inside multi-line strings and comments correctly.
- On ANSI themes, selecting a tool group or thought header now uses the same background color as the rest of the selection.
- Text after a nested blockquote stays inside its outer quote.
--setupwith a non-Mistral model (litellm, local) now offers Mistral browser sign-in alongside the provider's API key.- A shell
default_timeoutset withoutmax_timeout_secondsloads again when it is at most 300 seconds, and runs under Vibe's 300-second maximum. - Rust CLI on Windows: moving the mouse no longer types escape sequences into the prompt in terminals such as IntelliJ's.
- Model requests send a
Mistral-Vibe/<version>User-Agent again instead of the HTTP library default, unlessextra_headerssets one. - An idle Vibe no longer burns CPU, and session locks left by killed Vibe processes are cleaned up
- Answering a subagent's question now reaches the subagent instead of leaving it stuck.
- Questions asked by several subagents at once are shown one after another instead of the latest replacing the others.
- A question answer the server rejects now shows a warning and reopens the question instead of failing silently.
- Answered questions from the agent now stay in the transcript when you reopen a session.
- Image descriptions and compaction on Mistral Large 4 no longer fail with a 400 when its config lists no thinking levels.
- The built-in
vibe:skills are now available in the standalonevibe-acpbinaries.
Removed
- The
api_connect_timeout,api_write_timeoutandapi_pool_timeoutsettings no longer have any effect: connecting to the provider is now bounded byapi_timeout. - The
tool_pathssetting: Vibe removes it fromconfig.tomlat startup and leaves the folders it listed on disk.