Releases

Keep up with the weekly Zed releases.


June

0.191.0

06/11/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

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 and cmd-down on macOS or ctrl-up and ctrl-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 to true in the project_panel config. (#25289; thanks Angelk90)
  • Added support for drag and drop text selection. It can be disabled by setting drag_and_drop_selection to false. (#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 ] and Ctrl-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 and AddSelectionBelow to extend multiple cursors/selections. (#32204)
  • Improved the behavior of editor::Rewrap to not join paragraphs together. (#32046)
  • Improved alt-left and alt-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, pressing j will immediately show a j. (#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 of Number.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 and editor::ExpandMacroRecursively not working with text selections. (#32272)
  • Fixed assistant::QuoteSelection default shortcuts (cmd-> and ctrl->) 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 using prettier-plugin-sql by default. Please see the Zed SQL Language Docs for settings to use sql-formatter directly instead.