This week's release brings rainbow brackets 🌈 (addressing a feature-request with 1080 👍s), support for OpenAI's GPT 5.1 model for BYOK users, and further performance improvements to project search.
Features
AI
- Added support for OpenAI's GPT 5.1 model to BYOK. (#43492)
- Agent: Added the ability to set a model as the default for a given built-in external agent (Claude Code, Codex CLI, or Gemini CLI). (#43122)
- Agent: Added support for specifying settings for ACP extensions (
default_mode,default_model). (#43177) - Agent: Improved the "reject"/"keep" behavior when regenerating older prompts by auto-keeping pending edits that don't originate from the prompt to-be-regenerated. (#43347)
- Agent: Made the thread markdown editable. (#43377)
Git
- ⭐Improved readability of files in the git changes panel. (#41857; thanks alphathekiwi)
- ⭐Compressed large diffs for commit message generation. (#42835; thanks 11happy)
- ⭐Fixed git not preserving file mode when committing. Executable files now retain their permissions when committed with Zed. (#41900; thanks 11happy)
- ⭐Fixed highlighting for addition and deletion for diff language. (#38384; thanks tidefield)
- Fixed displaying auto-commit suggestions for single staged entries. (#43470)
Debugger
- Added
$ZED_PICK_PIDvariable for debug configurations, allowing users to select which process to attach the debugger to at runtime. (#42913)
Languages
- Python: Added support for detecting uv workspaces as toolchains. (#43496)
- C++: Added support for treating
.h++files as C++. (#42802; thanks bnjmnjrk) - Markdown: Added LaTeX highlighting for inline and display equations. (#41110; thanks lnay)
- Added support for identifying
.clangdand.clang-formatfiles as YAML by default. (#43557, #43469; thanks notpeter) - Improved the sorting of semver completions in
package.jsonso the latest versions appear at the top. (#43473)
Terminal
- Added
terminal.path_hyperlink_regexesandterminal.path_hyperlink_timeout_mssettings to customize path hyperlink detection in the terminal. (#40305; thanks davewa) - Improved terminal hyperlink performance, especially for terminals with a lot of content visible. (#40305; thanks davewa)
Collaboration
- Improved rendering of avatars that failed to load by rendering a fallback icon. (#43183)
Other
- Added bracket colorization (rainbow brackets) support. Use
colorize_bracketslanguage setting to enable. (#43172) - Onboarding: Added ability to zoom in/out on onboarding pages with the same keybindings you'd use to zoom in/out a regular buffer. (#43244)
- Added the possibility to open a non-existing path using
zedCLI. (#43250; thanks BuonOmo) - Added various missing keybindings and fixed several incorrectly mapped keybindings for the JetBrains keymap. (#43042; thanks carstonhernke)
- Added
project_panel::CollapseAllEntrieskeybinding (cmd-lefton macOS,ctrl-lefton Linux/Windows) to collapse all entries in the project panel. (#43112) - Improved language server updates for slow connections. Zed now launches the existing server if the update is taking too long. (#43164)
- Improved project search performance with "Also search files ignored by configuration" combined with file inclusion/exclusion queries. (#42968)
- Enabled environment passthrough for npm subcommands. (#43102; thanks yjoer)
- Ensured Zed reuses
GITHUB_TOKENenv variable when querying GitHub. (#42623; thanks Binlogo)
Bug Fixes
- macOS: Fixed a bug where Zed would fail to start on some Apple Silicon machines when Metal device enumeration returned no devices. Zed now falls back to the system default device in this case. (#38164; thanks cacaosteve)
- Windows: Fixed askpass execution sometimes failing. (#43542)
- Windows: Fixed Zed only finding pwsh, but not powershell. (#43526)
- Windows: Fixed bash detection when Git is installed via package managers like Scoop. (#43455; thanks qystishere)
- Windows: Fixed console windows sometimes appearing when opening Python files. (#43496)
- Windows: Fixed maximized window size when DPI scale changes. (#40053; thanks cppcoffee)
- Linux: Fixed window control buttons not showing in GNOME Wayland when SSD requested. (#39313; thanks Be-ing)
- Linux: Fixed ./script/install-Linux for installing a development version of Zed on Linux. (#43205)
- Agent: Fixed an issue where ACP agents would start MCP servers that were disabled in Zed. (#43467)
- Agent: Fixed AI assistant edits being scrambled when file was modified while it was open. (#43103)
- Terminal: Fixed a bug where search match highlights wouldn't update their position when resizing the terminal. (#43507)
- Terminal: Fixed terminal path hyperlinks for paths containing unicode punctuation and emoji, e.g. mojo.🔥. (#40305; thanks davewa)
- Terminal: Fixed path hyperlinks for Windows verbatim paths, for example,
\\?\C:\Over\here.rs. (#40305; thanks davewa) - Vim: Fixed bug where pressing
d . .would freeze the editor. (#42145; thanks AidanV) - Vim: Fixed the cursor shape reset in vim mode deactivation, ensuring that the user's
cursor_shapesetting is used. (#42834; thanks lennartkloock) - Vim: Fixed paste not working correctly in vim visual modes. (#43031; thanks adriandlam)
- Helix: Fixed bug where
Vim::NextWordEndinHelixSelectwould not select whole word. (#43234; thanks AidanV) - Helix: Fixed a bug where
<g-l>in Helix mode would not move the cursor to the last character of the line. (#41575; thanks HuaGu-Dragon) - Debugger: Fixed input elements within the launch tab in the new session modal to be keyboard navigable. (#43344)
- Extensions UI: Improved the feedback message for when extensions are not being displayed due to a fetch error caused by lack of connection. (#43197)
- Fixed settings UI being forced larger than small screens. (#43556)
- Fixed an issue in the settings UI where changing the terminal shell would set the default shell to
shon Windows. (#43276) - Fixed a small issue where a scrollbar would sometimes show in the editor although the content fit exactly on screen. (#43548)
- Fixed an unnecessary error being logged on startup when
SWEEP_AI_TOKENenvironment variable is not set. (#43504; thanks oscarvarto) - Fixed an issue where accepting a completion for a semver version in
package.jsonwould append the suggestion to the existing text instead of replacing it. (#43473) - Fixed displaying auto-commit suggestions for single staged entries. (#43470)
- Fixed a bug where expanding excerpts would fail when the cursor was at the excerpt start. (#42324; thanks olejorgenb)
- Fixed the following three editor actions not working in remote environments. (#43362; thanks errmayank)
editor: copy file nameeditor: copy file locationeditor: copy file name without extension
- Fixed a bug where language server info was not available in remote projects. (#42831; thanks errmayank)
- Fixed shell env sourcing not working with powershell on unix systems. (#43390)
- Fixed editor tab tooltips not showing file path for remote files. (#43359; thanks errmayank)
- Fixed a bug where invalid values in settings files would prevent the rest of the file from being parsed. (#42938)
- Fixed a bug where a sent agent message would be lost after successful authentication. (#43245)
- Fixed
connect.hostsetting being ignored by debugpy. (#43190) - Fixed a bug where multi-stroke keybindings (like
cmd-k cmd-s, org din vim mode) would time out waiting for input. Previously, Zed would wait at most 1s for the second keystroke before timing out. In cases where the start of the multi-stroke binding is itself a valid key action (or input text), the 1s timeout still applies. (#42659; thanks xipeng-jin) - Fixed issue with popups and menus not being dismissed while using
auto_signature_helpin Helix Mode. (#43169) - Fixed a panic when using vim increment on a multibyte character. (#43101)
- Fixed an issue where the padding on info popovers would overlay text when the content was scrollable. (#43107)
- Fixed LSP status list containing zombie entries for LSPs in other windows. (#42733)
- Fixed encoding error in terms & conditions displayed when installing. (#42906)
- Fixed ligatures forming between different text kinds. (#43080)
Breaking Changes and Notices
- Linux: Added
window_decorationssetting to control whether Zed or the compositor draws window decorations. This replaces the undocumentedZED_WINDOW_DECORATIONSenvironment variable, which still works but is deprecated. Set to"server"for system titlebars or"client"(default) for Zed's custom titlebar. Requires restart. (#39250; thanks Be-ing) - Removed the default
cmd-opt-.binding for toggling hidden files in the Project Panel so it's harder to hide them by accident. (#43091)