0.191.0
06/11/2025
Today's release includes ability to reorder collaboration channels, per-thread agent profiles, image / thinking support for more models in the agent panel, improved debugger UX (private beta), drag and drop text selections, and a ton of bug fixes from last Quality Week.
Enhancements
- Added channel reordering for administrators (use
cmd-up
andcmd-down
on macOS orctrl-up
andctrl-down
on Linux to move channels up or down within their parent). (#31833) - Added support to configure the minimum line number width in gutter. (#31959; thanks maxmynter)
- Added a
pane: unpin all tabs
action. (#32423) - Added trailing whitespace rendering. (#32329; thanks JonasKaplan)
- Added support to hide the root entry of the Project Panel when there's only one folder in the project. This can be enabled by setting
hide_root
totrue
in theproject_panel
config. (#25289; thanks Angelk90) - Added support for drag and drop text selection. It can be disabled by setting
drag_and_drop_selection
tofalse
. (#30671; thanks CharlesChen0823) - Added dynamic tab titles for unsaved files based on buffer content. (#32353)
- Added the
multi_cursor_modifier
setting to be respected when making columnar selections using the mouse drag. (#32273) - Added new
resize_all_panels_in_dock
setting to optionally resize every panel in a dock together. (#30551; thanks Aaron-212) - Added support for
Ctrl-w ]
andCtrl-w Ctrl-]
to go to a definition in a new split. (#31990; thanks afgomez) - Allowed to reuse windows in open remote projects dialogue. (#32138)
- Allowed running certain Zed actions when headless. (#32095)
- Improved
AddSelectionAbove
andAddSelectionBelow
to extend multiple cursors/selections. (#32204) - Improved the behavior of
editor::Rewrap
to not join paragraphs together. (#32046) - Improved
alt-left
andalt-right
by skipping punctuation on macOS to respect the Mac default behaviour. (#31977; thanks remorses) - Whitespace added by inlay hints is no longer shown when
"show_whitespaces": "all"
is used. (#32088) - Preserve pinned tab state when dragging to position 0 in new pane with no pinned tabs. (#32213)
AI
- Agent: Improved the review experience in the agent panel. Now, when you commit changes (generated by the AI agent) using Git, Zed will automatically dismiss the agent's review UI for those changes. This means you won't have to manually "keep" or approve changes twice—just commit, and you're done. (#32093)
- Agent: Added image support to OpenRouter models. (#32012; thanks imumesh18)
- Agent: Added image support to Mistral models. (#32154; thanks imumesh18)
- Agent: Added thinking support to LM Studio provider. (#32337; thanks imumesh18)
- Agent: Added thinking support to DeepSeek provider. (#32338; thanks imumesh18)
- Agent: Improved handling of large terminal output. (#32416)
- Agent: Enabled cross-region inference for Claude 4 family models on Amazon Bedrock provider. (#32235; thanks unexge)
- Agent: Enabled Vim window commands (ctrl-w X) when agent panel is focused. (#31000; thanks pavles6)
- Agent: Allowed saving the profile per thread. (#31907)
- Agent: Added the latest versions of Gemini 2.5 Pro and Flash Preview. (#32183)
- Agent: Added support for attaching images as context from clipboard in the inline assistant. (#32087)
- Agent: Show warning on context pill when selected model doesn't support adding images as context. (#31848; thanks imumesh18)
- Agent: Prevent models from hallucinating tool parameters. (#32081)
- Linux (X11): Restored the ability to paste images as context in agent threads. (#32121)
- Added support for manually providing an OAuth token for GitHub Copilot Chat by assigning the GH_COPILOT_TOKEN environment variable. (#31392; thanks clauses3)
- Copilot Chat endpoint URLs can now be configured via
settings.json
or Configuration View. (#32248)
Debugger (beta)
Sign up for the debugger waitlist!
- Added a "Run" menu to contain tasks and debugger. (#32505)
- Added custom command launching from the
debug: start
modal. (#32484) - Added debuggable LSP tasks to the "Debug" tab of the new process modal. (#32097)
- Switched to running vitest tests serially when debugging. (#32543)
- Improved error message when starting a debugger session with an invalid configuration. (#32504)
- Made the debug panel UI more helpful when an invalid configuration is sent to the debug adapter. (#32489)
- Recenter current stack frame on click. (#32508)
- Use Delve to build Go debug executables, and pass arguments through. (#32221)
- Fixed debuggee processes not getting cleaned up when quitting Zed. (#32186)
- Fixed stopping on a panic. (#32512)
- Fixed detach to not terminate debuggee (and only be available when detaching makes sense). (#32506)
- Fixed an issue where the terminal pane of the debug panel would be empty when debugging JavaScript. (#32493)
- Fixed a bug with JavaScript debugging which led to stack trace list containing excessive amount of
await
entries. (#32469) - Fixed Ruby (was broken by #30833). (#32407)
- Fixed an issue that caused entries in the stack frame list to overlap in some situations. (#32413)
Git
- Added
git::PushTo
to select which remote to push. (#31482; thanks CharlesChen0823) - Added the
git::FetchFrom
action to fetch from a single remote. (#26897; thanks CharlesChen0823) - Improved the highlighting of merge conflict markers in editors. (#31012)
- Provided feedback on commit message generation error. (#29005; thanks imumesh18)
- Adjusted size of the icon inside the title bar's branch picker. (#32387; thanks Otterpocket)
Languages
- Added support for the LSP
textDocument/diagnostic
command. (#19230; thanks vitallium) - Added initial
package.json
scripts task autodetection. (#32497) - Improved detection of runnable TypeScript/JavaScript test cases when they contain identifier. (#32467; thanks lsndr)
- Allowed running dynamic TypeScript/JavaScript tests. (#31499; thanks lsndr)
- Added scope for JSDoc. (#29476; thanks chbk)
Vim
- Improved vim's search to respect the
search.case_sensitive
setting when searching. (#32276; thanks dinocosta) - Multi-key bindings in insert mode will now show the pending keystroke in the buffer. For example if you have
jk
mapped to escape, pressingj
will immediately show aj
. (#32007)
Bug Fixes
- Agent: Fixed previous completion not cancelling when editing a previous message. (#32533)
- Agent: Fixed agent panel model selector layout pushing send button off screen. (#32251; thanks imumesh18)
- Agent: Fixed the MCP configuration modal to show only in the active window. (#32450)
- Agent: Fixed an issue where some MCP tools would not work when using Gemini. (#32373)
- Agent: Fixed showing
max_tokens
in the assistant panel for LM Studio provider. (#25606; thanks NexVeridian) - Agent: Fixed MCP server handler subscription race condition causing tools to not load. (#32133; thanks xJonathanLEI)
- Agent: Fixed Mistral tool->user message sequence handling. (#31736; thanks imumesh18)
- Agent: Fixed an edge case where the request would fail when using Claude and multiple images were attached. (#32092)
- Edit Prediction: Fixed spurious warning for lack of edit prediction on multi-keystroke binding. (#31456; thanks sygi)
- Edit Prediction: Fixed default keybindings for
editor::AcceptPartialEditPrediction
to work with subtle mode. (#32193) - Git: Fixed Git Panel dock size not being remembered across Zed restarts. (#32111; thanks vipexv)
- Git: Fixed unintuitive wrapping behavior when editing Git commit messages. (#32114)
- Fixed incorrect offsets during outline panel navigation in singleton buffers. (#32321)
- Fixed issue where triggering multi-key binding like "shift", "control", etc. would write them to the buffer for a short time. (#32528)
- Fixed issue where code completion in TypeScript function arguments sometimes omitted the dot separator, for example resulting in
NumberparseInt
instead ofNumber.parseInt(string)
. (#32515) - Fixed issue where reconnecting to SSH Remote would result in broken code completions and diagnostics. (#32457)
- Fixed newline getting added on format to empty files. (#32320; thanks esimkowitz)
- Fixed right panel expanding backwards when dragged out of its intended bounds, by adding a bounds check to ensure its size never gets too high. (#32246; thanks SMASTER4)
- Fixed incorrect offsets during outline panel navigation in singleton buffers. (#32321)
- Fixed
editor::SwitchSourceHeader
andeditor::ExpandMacroRecursively
not working with text selections. (#32272) - Fixed
assistant::QuoteSelection
default shortcuts (cmd->
andctrl->
) so they work in Agent threads too (in addition to text threads and in the Editor pane). (#32270) - Fixed
script/build-linux
for non-musl builds. (#32029) - Fixed rendering of terminal colors for the XTerm 256-color indexed color palette. (#32200; thanks rolandcrosby)
- Fixed display of keybindings to skip bindings that are shadowed by a binding that uses the same keystrokes. (#32220)
- Fixed display of
editor::AcceptEditPrediction
bindings to use the normal precedence that prioritizes user bindings. (#32220) - Fixed caching of Node.js runtime paths and improved error messages. (#32198)
- Fixed ANSI black and ANSI white colors in built-in themes. (#32175)
- Fixed language servers not starting up when a buffer is saved. (#32156)
- Fixed a recently-introduced bug where unnecessary code was underlined with blue squiggles. (#32082)
- glsl: Fixed syntax highlighting conflicts. (#32022; thanks not-a-cowfr)
- PHP: Fixed an issue in PHP where PHP language settings would be occasionally overridden by HTML language settings. (#32145)
- Fixed a rare crash on macOS when putting the app in the background. (#32116)
Breaking Changes and Notices
- SQL: Disabled
format_on_save
usingprettier-plugin-sql
by default. Please see the Zed SQL Language Docs for settings to usesql-formatter
directly instead.