Added
- 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:
/leanstalland/unleanstallinstall and uninstall the Lean agent. - With
experimental_enable_model_catalogon, 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,
/mcpblocks connectors that need your login and tells you to runvibe --setup. - Rust CLI:
/branchforks the current conversation into a new resumable session. - 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.
/statusshows the credential source in use and the shadowed sources- Admin-enforceable
enable_mcpflag to block all user-facing MCP server operations (add, remove, toggle, login, logout, tool registration), including plugin-provided MCP servers, via managed config.
Changed
read_fileshows a file's line endings as they are on disk, like shell commands dowrite_filewrites new files with the line endings it is given, also on Windows- The app server now shows up as
vibe-app-serverinstead ofpython3in Activity Monitor,ps, andtop. - Rust CLI: dragging a scrollbar moves smoothly in fine steps on terminals that report the mouse in pixels, such as Ghostty, kitty and WezTerm.
- displayed_workdir, context_warnings and raise_on_compaction_failure are deprecated: they remain accepted in existing configs but have no effect on Unified execution.
- Rust CLI: The welcome banner starts at the top left, with the conversation and what's new flowing below it while queued messages stay at the bottom.
- Rust CLI: One click picks an option whose only action is choosing it (tool approvals, questions, /theme, /plugins, subagents, config choices, the remote project picker, MCP or connector sign-in); options with several actions (/model, /thinking, /resume, /mcp, /config) highlight on the first click and confirm on the second.
- Rust CLI: The highlighted free-text answer spans the full row, and clicking its number unticks it in multi-select questions.
- Rust CLI: Colored text on a highlighted row takes the row's text color.
- Rust CLI: headless mode (
-p) now follows the Python CLI's run contract, with turn, token, price and time limits, graceful stops, and a JSON run export whose exit code reports the outcome. - Pressing Esc twice to clear the input or open rewind now accepts a slower second press.
- Rust CLI: The welcome banner is more compact: the cat sits beside the version, model and plan, and the model, connector, MCP server, skill and hook counts are gone.
- The Vibe VS Code extension (ACP surface) now gets the same background session titles as CLI and Desktop; the sessions list shows the summarized title instead of the message preview
- The agent's subagent tools are renamed from
subagent.*toagents.*, and sessions saved with the old names still resume. - Plugins can no longer use the
agents,agentorcollaborationtool namespaces, which are reserved for built-in agent tools. - A programmatic tool call now stops after 60 seconds in total, and a single sleep inside it is capped at 30 seconds.
- Faster session startup when no MCP server is used.
- Vibe now requires Python 3.14 or newer (previously 3.12)
- Outbound HTTPS connections now validate certificate chains with stricter RFC 5280 rules; a private CA missing SKID/AKID or KeyUsage extensions may be rejected — set
enable_system_trust_storeor use a compliant CA - Vibe Code: the retry notice keeps counting the seconds past the planned retry instead of freezing until the provider answers, and screen readers get paced progress announcements
vibe -pJSON and streaming output mark each completed assistant message and reasoning with anoutcome: committed, or discarded with its cause.- The Rust TUI detects terminal activity reporting support to avoid duplicate title indicators and notification bells.
- Faster session startup, most noticeably on Windows and in repositories with many branches or tags.
Fixed
-
Desktop local Code holds queued messages while editing without a timeout; Save and Cancel let the queue continue unless paused.
-
Disconnecting during an unfinished queued edit keeps the original message and pauses the queue until Resume.
-
In Vibe Desktop, the sidebar session list now only reorders when a new conversation turn starts, instead of jumping around on queued messages, steers, and permission answers.
-
On Windows, the shell tools no longer auto-approve commands that use a mid-word
#, an escaped quote, or PowerShell quoting to hide part of the command from the approval check. -
Multi-line edits to CRLF files no longer fail, and edited lines keep the file's line endings
-
The Unified Harness no longer converts a CRLF file to LF when it overwrites it
-
Sessions containing a large image no longer fail with a compaction error when the context is nowhere near full.
-
Listing saved sessions (
/resumeand the Desktop session sidebar) is several times faster when you have thousands of sessions. -
Rust CLI: scrolling with the wheel or a scrollbar no longer stutters or trails the pointer when the view is slow to redraw.
-
Rust CLI: the smart approve mode now shows its warning-colored input border and cycles with Shift+Tab, matching the Python CLI.