Added
-
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,/thinkingor a resume. -
Clicking the model in the footer opens
/modelwhile 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_agenthooks acceptmatchto run only after a given agent, or after the main agent withmatch = "main". -
The
post_agenthook payload includesagent_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
-
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(orVIBE_STRICT_CONFIG=1) to make Vibe refuse to start when your config has settings it does not use. AVIBE_STRICT_CONFIGvalue that is not on or off, such as2, is refused too -
vibe config schemaprints a JSON schema of every setting, including each built-in tool's settings -
Administrators can set
VIBE_CUSTOM_CONSOLE_URLto 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 tohttps://(an explicithttp://is kept) and trailing slashes are stripped. A split-horizon API base configured for the pinned console is preserved. -
New
artifacts/markViewedapp-server RPC: marks a session's artifacts (PRs/MRs) as viewed, persistsviewed_atinto the session logs, and announces each newly marked artifact with anartifacts/updatednotification (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 theexperimental_enable_pr_monitoringfeature 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 aPRs (n)count link that opens a modal listing every artifact with its link -
Session artifacts (experimental): pull requests and merge requests created during a session (
gh pr create/glab mr create) are now detected and recorded in the session logs, behind theexperimental_enable_pr_monitoringfeature flag -
Session artifacts (experimental): PR/MR artifacts now sync from the provider — lifecycle state, title, branches, author, timestamps, merge commit, CI checks, and an aggregated actionability status — at session start, after each turn, and on a new
artifacts/syncRPC; the bottom bar and artifacts modal render the status and the per-check list
Changed
/theme,/log-level,/voice,/proxy-setupand/remote-projectnow work while the agent is busy or prompts are queued.- An agent file named
mainis no longer loaded: the name is reserved for hook matching. - Shell tools set to
permission = "always"now ask before reaching paths outside the working directory, like file tools. - Shell tools now treat a bare file name that is a symlink or a Windows junction, such as
cat link, as a path, so a link pointing outside the working directory asks or is denied like any outside path. - On platforms without a prebuilt audio library, such as OpenBSD, editor dictation and narration are no longer installed by default; install the
voiceextra to build them from source. - Sending a message no longer waits for connectors or MCP servers that have cached tools: it runs on those, and they refresh in the background. A message waits only for ones with nothing cached yet, and only a call to a server still loading waits for it.
- The app server started by the CLI and Desktop fetches the connector catalog as it starts, before any session opens.
- Sessions opened at the same time contact each MCP server once and share what it returns.
- New sessions start with the connectors from the last successful load instead of none.
- Vibe now shows a warning naming each connector or MCP server that could not load, including in
vibe -pruns and their export. A server without a connector service (self-hosted, Private Cloud) has no connectors rather than a failure to load them. - An MCP server found to need a login after the session starts is named with the
/mcp logincommand to run. - MCP server tools older than six hours are refreshed in the background, and the cached tools are kept if the refresh fails.
- [Breaking — config]
auto_compact_threshold = 0is now a config error; set a positive threshold or remove it to use the model's default auto_compact_thresholdmust fit the model's range; an old-1is removed when the config loads, so the model's default applies- [Breaking — models] A reply without token usage fails the turn; third-party model servers must support
stream_options.include_usage - Context window, maximum output, image input and thinking levels come from your config, then the provider's model list, then a built-in table; unknown models use a 262,144-token window and show a warning
- An unset
thinkinguses the model's lowest level;offis refused on models that always reason, such as gpt-6-astra and GLM 5.3 - With third-party models that can turn thinking off, thinking
offturns thinking off