This week's release includes a panel layout switcher (classic, agentic), LSP code lens support, Helix amp jump navigation (g w), DeepSeek V4-Pro/Flash and OpenCode Go provider support, a git graph view replacing file history, split diff in the agent and file diff panels, GFM alert callouts in markdown preview, and a new line_ending setting with .editorconfig end_of_line support.
Shipped by the Zed Guild 🛡️
- Made table-cell markdown checkboxes clickable in markdown preview, matching list-item checkbox behavior. (#54747; thanks iam-liam)
- Added vim mode navigation to git graph. (#53609; thanks nihalxkumar)
- Helix: Fixed some commands that you might want to use when you have no panes open, like project or symbol search. (#51434; thanks feitreim)
- Agent: Fixed the threads sidebar overlapping the window control buttons on Linux and Windows. (#54755; thanks OmChillure)
- Editor: Fixed incorrect inclusion of comments into folds. (#54102; thanks feitreim)
Learn about the Zed Guild.
Features
AI
- Agent: Added DeepSeek-V4-Pro and DeepSeek-V4-Flash models. (#54731; thanks cppcoffee)
- Agent: Improved edit tool performance for models that support streaming tool calls. (#55193)
- OpenCode: Added support for OpenCode Go. (#53651; thanks Vlaaaaaaad)
- Added a menu item in the user menu called "Panel Layout" which offers the ability to quickly swap between the two standard panel layouts: classic (project panel, git panel, etc., on the left) and agentic (agent panel on the left, everything else on the right). (#54771)
- Added
allow_data_collectionfor Zed's Edit Predictions, which can now be set explicitly insettings.jsonunderedit_predictions. Existing preferences stored in the internal database are preserved as a fallback. (#51389; thanks oliverbarnes) - Changed OpenAI models to always use the Responses API. (#54910)
- Copilot: Added edit prediction support in temporary files. (#45764; thanks tacshi)
- Added split diff view in agent review diff. (#54638)
- Added "Always allow" tool approval in the agent panel to propagate to other pending calls to the same tool. (#54679)
Git
- Replaced the file history view with the git graph view, bringing improved performance, lazy loading, search, resizable columns, and the commit information panel. (#50288)
- Added side by side diffs in the file diff view. (#50046; thanks NaritaHARUKI)
- Added a
git: copy branch nameaction. (#54702) - Added a button to stop commit message generation in the git panel. (#49540; thanks austincummings)
- Added
markdown_preview_font_familyandmarkdown_preview_themesettings to customize the markdown preview independently from the editor. (#54003; thanks robinojw) - Added a warning when git commit message title exceeds a configurable limit. (#54653)
- Added a dedicated empty state in the Git Panel for unsafe repositories, with a "Trust Directory" button that adds the repository to
safe.directory.
Languages
- Improved handling of indentation after C++ access modifiers. (#53709; thanks phdavis1027)
- Python: Changed user settings to take precedence over toolchain set in Zed for pyright/basedpyright. (#48262)
Terminal
- Added audible BEL to Terminal; can be enabled by setting
terminal.bellto"system". (#53752; thanks ian-h-chamberlain)
Vim / Helix
- Added in Helix mode the "amp jump" navigation (
g w) that displays two-character labels on words for quick cursor navigation. Labels alternate between forward and backward directions from the cursor, prioritizing closer targets with easier-to-type labels. The color of the labels can be controlled via a newhelix.jump_label_accentsetting. (#43733; thanks GoldStrikeArch)
Remote Development
- Added support for
credentials_url, falling back toserver_url, to be used as the key for storing information inside Keychain Access. (#50047; thanks parndt)
Linux
- Added polling filesystem watching support on Linux/WSL for filesystems that don't emit
inotifyevents (e.g./mnt/cin WSL, network filesystems, FUSE mounts). Polling is chosen automatically when needed, or can be forced viaZED_FILE_WATCHER_MODE=poll. (#54481)
Other
- Added LSP code lens support, disabled by default. Use
"code_lens": "on"in settings to enable, or the action to toggle them on. (#54100) - Added
line_endingsetting to control how line endings are handled for new files and normalized on save. (#54356; thanks melocene) - Added support for
.editorconfigend_of_lineproperty to enforce line endings. (#54356; thanks melocene) - Reworked go to definition to open its target in the center of the editor. Can be reconfigured with
go_to_definition_scroll_strategy. (#54778) - Changed project directories to keep the order they were added, rather than implicitly sorting them lexicographically. (#54716)
- Added support for GFM alert callouts (
> [!NOTE],> [!TIP],> [!IMPORTANT],> [!WARNING],> [!CAUTION]) in markdown preview, rendering each type with a colored left border, icon, and bold label. (#54661; thanks shiw-yang) - Improved Zed's default memory usage. (#54645)
- Added "Add to .gitignore" option to the project panel context menu for files in git repositories. (#47377; thanks korbindeman)
- Set the represented filename property of windows on macOS. (#48029; thanks MrMage)
- Improved Zed's log output on errors. (#54660)
Bug Fixes
- Fixed Agent Panel font size incrementing by 2px instead of 1px. (#53685)
- Fixed agent panel auto-scroll not re-engaging after interacting with the scrollbar. (#54570; thanks timvermeulen)
- Fixed an issue where the first tool call would always be accepted when parallel tool calls were made, rather than the one that was actually clicked. (#54683)
- Fixed copied agent prompts replacing selection mentions with the literal word
selection. (#54031; thanks DevDonzo) - Fixed the agent thread archive view getting stuck on an empty "Archived Only" list after the last archived thread was removed. (#54763; thanks lixiaoyan)
- Fixed "Add to Agent Thread" missing from terminal context menu on first right-click when no prior selection existed. (#50860; thanks Dnreikronos)
- Fixed agent panel not handling filesystem errors gracefully. (#52333)
- Fixed inability to select and copy text from tool call commands in the agent panel. (#50545)
- Fixed thinking summaries not showing for Claude Opus 4.7. (#54217)
- Fixed custom OpenAI models ignoring the
capabilities.imagessetting inlanguage_models.openai.available_models. (#54223; thanks mvanhorn) - Fixed a bug where replacing a preview tab would sometimes break navigation. (#52871; thanks timvermeulen)
- Fixed a bug where the
Open Filebutton would not jump to the excerpt containing the active cursor. (#54652) - Fixed a bug where the worktree and branch buttons in the title bar were still being displayed despite
disable_gitbeing turned on. (#54667) - Fixed a bug with the merge conflict "resolve with agent" button where it would be displayed even though all conflicts have already been resolved. (#54791)
- Fixed a panic when a GIF was replaced with one that had fewer frames in Markdown Preview. (#54701)
- Fixed a TypeScript issue that could show incorrect diagnostics caused by edit prediction context lookups. (#54666)
- Fixed Alt+F4 on Windows so Zed closes even when the integrated terminal is focused. (#53091; thanks SAKETH11111)
- Fixed an issue where the scrollbar could cause a layout shift in the terminal. (#46648)
- Fixed an issue where the Zed process wouldn't exit after closing all windows. (#55065)
- Fixed formatting not being applied when a new file is first created. (#52692; thanks Bruna-MF)
- Fixed bug where eslint didn't start on Windows. (#54945; thanks tristanphease)
- Fixed bug where the sixth character of a devcontainer name is non-alphanumeric. (#54578; thanks KyleBarton)
- Fixed dev container Docker Compose project name to match the full
getProjectNameprecedence from the reference devcontainer CLI (COMPOSE_PROJECT_NAMEin the environment, then in the workspace.env, then an explicit top-levelname:on the merged compose config, then the basename of the first compose file's directory — with the_devcontainersuffix only when that directory is<workspace>/.devcontainer). This prevents duplicate containers when the same folder is opened with both Zed and the devcontainer CLI / VS Code. (#54302; thanks antont) - Fixed code actions toolbar button flickering on cursor movement. (#53571; thanks Dnreikronos)
- Fixed terminal flicker on resize. (#47195; thanks pigletfly)
- Fixed Command Palette behavior where footer actions could still route to a fallback hidden command when search returned no matches. (#54519; thanks galuis116)
- Fixed
ctrl+ssaving while toggling checkbox in preview mode. (#53236; thanks Priyansh4444) - Fixed DAP TCP transport rejecting IPv6 addresses when connecting to remote debug adapters. (#52244; thanks moktamd)
- Fixed default.json profile and OS settings not applying on startup. (#54635)
- Fixed deserialization of rust-analyzer shell runnables. (#54011; thanks sunshowers)
- Fixed extension
download_filewithGzipTarsilently dropping archive entries by buffering the full HTTP response before extraction, matching the approach already used for extension installation. (#54696; thanks tartarughina) - Fixed handling of
git pushwhen there is no remote available to push to. (#54522) - Fixed hang in replace all when the query contained non-ASCII text and regex-special characters. (#54422)
- Fixed Helix surround operations falling back to closest match if cursor not surrounded. (#47163; thanks leonqadirie)
- Fixed highlighting for nested JSX member expression tags in JavaScript and TSX files. (#53750; thanks SAKETH11111)
- Fixed hyperlinks in the terminal on UNIX. (#54322)
- Fixed incomplete search results when the project scan is incomplete. (#54534)
- Fixed incorrect spacer blocks sometimes appearing in the split diff view when editing the file. (#53098; thanks timvermeulen)
- Fixed line comment rewrapping in Go and C/C++. (#54931; thanks zerowidth)
- Fixed offline lookup of clangd on Windows. (#54781)
- Fixed potentially blurry appearance of UI elements when using fractional display scaling. (#54728)
- Fixed readonly editor having certain mutation actions enabled. (#54758)
- Fixed search highlighting changing anytime the cursor moves. (#54514)
- Fixed selection and search highlights in rendered markdown not always being displayed accurately. (#54744; thanks timvermeulen)
- Fixed settings behavior where switching Icon Theme from "Dynamic" (System mode) to "Static" now selects the icon theme that matches the current OS appearance (light or dark), instead of always defaulting to the dark variant. (#54647; thanks galuis116)
- Fixed sticky scroll headers showing attribute/decorator lines instead of the declaration line in PHP and other languages where annotations are child nodes of the declaration. (#53288; thanks Vastargazing)
- Fixed terminal rendering of combining marks in complex scripts (Thai, Arabic, Hebrew, Devanagari, Myanmar, Khmer, and others) where vowel signs and tone marks were incorrectly displaced to adjacent cells instead of rendering on their base characters. (#53176; thanks MX48Live)
- Fixed the
vtslscompleteFunctionCallssetting being ignored. (#53285) - Fixed the file extension recognition logic for images in the agent UI being case sensitive. It is now case insensitive. (#54786)
- Fixed theme selector keeping the previewed theme when clicking outside instead of reverting to the original. (#52773; thanks Dnreikronos)
- Fixed trailing
;being wrapped to a new line instead of staying attached to the preceding word. (#54546) - Fixed vim
o/Ocommands ignoring theauto_indent: "none"setting, causing new lines to inherit indentation instead of starting at column 0. (#53620; thanks davidalecrim1) - Fixed whitespace rendering in Zed. (#54798)
- Fixed Zed exiting on startup when cancelling a failed devcontainer connection. It now falls back to an empty workspace. (#54734; thanks maxmalkin)
- Fixed vim
%s/find/replace/gnot correctly escaping$in the replacement clause. (#53277; thanks phdavis1027) - Fixed local path resolution for remote terminals. (#50268)
- Fixed
auto_save: "on_focus_change"not triggering correctly when opening or dismissing modals. (#54455) - Fixed issue where launching Zed from Git Bash would leave the Ctrl modifier stuck in the terminal. (#52583; thanks Dnreikronos)
- Fixed Vim and Helix keybindings not applying when
base_keymapis set to"None". (#54899; thanks profojak) - Fixed stage and unstage checkboxes in the Git Panel not reverting when a
git addorgit resetcommand failed. (#43693) - Fixed showing unsupported window controls on Linux Wayland. (#50609; thanks Moulberry)
- Fixed a freeze when binary content was written to an open empty file. (#53074; thanks deadcode-walker)
- Fixed UI thread freeze caused by excessively long lines in the wrap map sync path. (#53074; thanks deadcode-walker)
- Fixed settings UI theme conversion not respecting system appearance. (#54609; thanks galuis116)
- Fixed a 1px gap appearing above the status bar when scaling in Wayland. (#46466; thanks pauldipietro)
- Fixed the search bar not closing when pressing
Escapein Helix mode. (#48847; thanks buildingvibes) - Fixed heredoc commands failing with "syntax error: unexpected end of file" in AI Agent shell execution. (#49106; thanks chenwuji2000-cyber)
- Fixed moving the cursor to a predicted position in Zeta 2. (#55192)
Breaking Changes and Notices
- Removed the
project_nameproject setting. It only ever affected the OS window title, and the expectation that it would show up in the project switcher and elsewhere is better served by a future UI-driven, per-workspace setting stored locally. (#54511)