This week's release includes bookmarks support, a new git: view commit command palette action, and GIF animation support in the Markdown preview.
Shipped by the Zed Guild 🛡️
- Added bookmarks: Toggle bookmarks on lines with
editor: toggle bookmark, navigate witheditor: go to next bookmark/editor: go to previous bookmark, view all bookmarks witheditor: view bookmarks, and clear withworkspace: clear bookmarks. Bookmarks are shown in the gutter and persisted across sessions. (#51404; thanks austincummings) - Fuzzy Nucleo: Improved the performance of path matching. (#54112; thanks feitreim)
- Improved fuzzy matching in the command palette, branch picker, tab switcher, and recent projects picker to support multi-word queries. (#54123; thanks feitreim)
- Vim: Fixed screen flickering during motions. (#52270; thanks feitreim)
- Fixed a bug where Copilot wouldn't use the thinking level the user had set. (#53313; thanks TwistingTwists)
- Fixed an issue where the
csVim operator incorrectly identified symmetric quotes in certain contexts. (#52321; thanks lingyaochu) - Fixed debugger not saving files before running a build task when
"save": "all"is set in the task definition. (#53353; thanks OmChillure) - Fixed file watching of symlinks that point outside of the project/watched directory. Zed should now properly respond to changes in files in symlinked directories. (#50746; thanks prayanshchh)
- Fixed nested object methods not appearing in the Outline panel for JavaScript and TypeScript files. (#50754; thanks emamulandalib)
- Fixed the Inline Assist button showing in the Project Diagnostics toolbar when the agent is disabled. (#52706; thanks OmChillure)
- Fixed true-color rendering in the terminal. (#52162; thanks nihalxkumar)
- Fixed unsaved scratch buffers being lost across restarts and an occasional error when opening a recent project. (#54224; thanks transitoryangel)
- Fixed Windows path handling in extension manifests to ensure extensions upload correctly to remote environments like WSL. (#50653; thanks th0jensen)
Learn about the Zed Guild.
Features
AI
- (Preview only) Agent: Added an action to the command palette that imports threads from other Zed release channels into the current one. (#54002)
- (Preview only) Agent: Agent favorite models now remember and restore per-model thinking, effort level, and fast mode preferences. (#54318)
- (Preview only) Agent: Agent sidebar now shows worktree and branch names only for linked worktrees. (#54067)
- Agent: Automatically select a default model based on environment when there's no selected model. (#54125)
- (Preview only) Agent: Improved the scrollbar overlap with the thread item icon buttons in the threads sidebar. (#54469)
- Added configure provider menu item to Copilot and Codestral. (#53691; thanks npv12)
- (Preview only) Renamed the threads Archive view to Thread History and updated its icon to a clock. (#54075)
- Added
interleaved_reasoningoption to OpenAI-compatible models. (#54016; thanks guiopen)
Git
- Added a
git: view commitcommand palette action that opens a commit in the commit view by git ref (e.g.HEAD, a SHA, a branch, or a tag). (#39009; thanks schpet) - Added loading the commit message template from the file set in
git config commit.templatewhen starting a commit in the git panel. (#42827; thanks jackjen) - Added git panel support for select all and deselect all check boxes. (#41565; thanks cppcoffee)
Languages
Terminal
- Added "New Center Terminal" button to the window context menu. (#53702; thanks svdragster)
Remote Development
- Changed Zed to reuse existing SSH ControlMaster sessions instead of prompting for credentials again. (#51604; thanks nicosalm)
- Improved dev container remote script execution to more closely align with the reference implementation. (#54020; thanks KyleBarton)
- Improved the Dev Container suggestion notification to include the project name, with the full path shown as a tooltip. (#54297)
- Changed all
PortAttributesfields to be optional according to the Dev Container spec. (#53799)
Other
- Added GIF animation support for Markdown Preview. (#53459; thanks davidalecrim1)
- Added "Copy Link" to the right-click context menu when clicking on a link in Markdown views (agent panel and Markdown preview). (#53758; thanks saberoueslati)
- Improved the
editor: format selectionsaction so that it is only shown in the command palette when the active formatter supports range formatting (e.g. Prettier, or LSPs likeclangdthat advertise the capability). (#53178; thanks prertik) - Added support for PNM image previews (
.pbm,.ppm,.pgm). (#54256; thanks viniciusdutra314) - Added support for auto-completing action names in the
command_aliasessetting. (#54496) - Added action to copy installed extensions to clipboard. (#48664; thanks mchisolm0)
- Enabled diagnostic underlining in the split editor views. (#54295)
- Improved tab tooltip for multi buffers. (#54060)
Bug Fixes
- ACP: Fixed some replay events getting dropped when loading a previous session. (#54431)
- Agent: Fixed worktree and branch labels not showing up in the thread switcher. (#54126)
- Agent: Fixed the thread switcher not selecting on hover. (#54126)
- Fixed dev container builds failing on Docker installations without the buildx plugin. (#53910; thanks krisswee)
- Dev Container: Fixed environment variables without an equals sign being treated as fatal parsing errors. (#53864; thanks pigletfly)
- Fixed dev container startup failing for docker-compose configs whose service Dockerfile uses build-arg substitution in the FROM line (for example,
FROM ${BASE_IMAGE}). (#54270; thanks fechu) - Fixed gap where
runArgswere not respected when specified indevcontainer.json. (#53931; thanks KyleBarton) - Fixed an image aliasing bug; respect build context and build args in dev containers. (#54210; thanks KyleBarton)
- Fixed docker-compose
dockerfilepath being resolved relative to the compose file instead of the buildcontextdirectory. (#53860; thanks antont) - Fixed issues with Windows pathing when calculating target workspace directory for dev containers. (#53829; thanks KyleBarton)
- Fixed substitution of
${localEnv:VARNAME}and${containerEnv:VARNAME}indevcontainer.jsonwhen the variable is not defined. (#53728; thanks im-0) - Fixed Helix
vglto correctly select to end of line without including the newline character in the selection. (#54238; thanks cavebatsofware) - Fixed
zed --wait --diff <left> <right>blocking until the entire window was closed instead of just until the diff was closed. (#54367; thanks timvermeulen) - Git Graph: Fixed misalignment issues between the graph canvas and the graph table. (#54429)
- Fixed blank git diff view on Windows when working in a subfolder. (#52234; thanks HiteshRohira)
- Agent: Fixed a bug where
cmd-clicking on the project header wouldn't actually take you to the last active workspace. (#54128) - Fixed
ctrl-n/cmd-n(New File) not working on the Welcome tab. (#52463; thanks Dnreikronos) - Fixed a bug in the branch picker where the buttons wouldn't properly get activated. (#54117)
- Fixed a panic when using the split diff view. (#54352)
- Fixed a visual glitch where the git blame popover could briefly appear empty while its markdown content was being parsed. (#52231; thanks timvermeulen)
- Fixed ACP agent and other breakage when
terminal.shellwas set to a non-shell program liketmux. (#51741; thanks oliverbarnes) - Fixed Agent menu shortcut context handling so Alt-Shift-L consistently resolves to Rules (and displays correctly) when the Toggle Agent Menu is open, while preserving existing global/context-specific shortcuts such as Language Servers and onboarding bindings outside Agent menu context. (#54420; thanks galuis116)
- Fixed Alt modifier key stuck after Alt-Tab on Windows. Modifier state is now synchronized when the window regains focus, ensuring correct key interpretation after window switching. (#52220; thanks HuaGu-Dragon)
- Fixed an issue where committing agent-written code would sometimes not mark edits as accepted. (#53884)
- Fixed an issue where holding the modifiers used in
editor::AcceptEditPredictionwould cause the code action menu to disappear. (#54194) - Fixed an issue where incorrect project paths would be displayed on the welcome tab. (#54056)
- Fixed an issue where token estimation would be incorrect in cases where the thread contained downscaled images. (#54357; thanks dastrobu)
- Fixed an outline panel issue where the pin/unpin tooltip could show stale text after toggling. (#54310; thanks galuis116)
- Fixed archiving an agent thread deleting linked git worktrees the user created outside of Zed's managed worktrees directory. (#53991)
- Fixed auto indent leaving trailing whitespace on blank indented lines when creating new lines. (#52628; thanks GoncaloAleixo4)
- Fixed
cmd-eon macOS to work whenseed_search_query_from_cursorhas been changed. (#54451) - Fixed completion ordering when two items are otherwise tied and only differ by case, so typing
anow prefersabcoverABC(and typingAprefersABCoverabc). (#54072; thanks foretoo) - Fixed creating a new file from the project panel context menu in empty local projects. (#53947; thanks DevDonzo)
- Fixed Ctrl+Right and related word movement shortcuts failing to skip over folded ranges and
@mentionchips. (#53979) - Fixed
ctrl-deletekeybinding in the terminal. (#51726; thanks injust) - Fixed extension language servers not starting when Zed launches with files already open from a restored session. (#51308; thanks Dnreikronos)
- Fixed heading sizes in the markdown preview to correctly reflect the H1–H6 size hierarchy, matching standard markdown renderers. (#54374; thanks saberoueslati)
- Fixed hover popovers sometimes briefly appearing after the hover already ended. (#53168; thanks timvermeulen)
- Fixed inconsistent keybinding hint casing in the outline panel ("Toggle Panel With …") by using standard keybinding rendering. (#54307; thanks galuis116)
- Fixed inlay hints navigating to the wrong position. (#54048; thanks van-sprundel)
- Fixed issue on Linux X11 where you couldn't input the space key in some cases. (#53903)
- Fixed issue where Mistral models errored out with "Tool call id has to be defined" when using tools. (#54058)
- Fixed JSON schema downloads ignoring Zed's proxy setting. (#53954; thanks DevDonzo)
- Fixed kernel discovery in the Python notebook editor. (#50978; thanks raideno)
- Fixed Node.js language servers failing with
--user-data-diron Windows. (#50767) - Fixed onboarding UI scrollbar placement so the vertical scrollbar now appears at the right edge of the onboarding pane, while keeping onboarding content centered. (#54392; thanks galuis116)
- Fixed One Dark
link_textnot being italic. (#53220; thanks 0x5ea000000) - Fixed outline panel becoming empty when switching focus to a Markdown Preview pane. (#54301)
- Fixed play button appearing in gutter for unsaved buffers where clicking it was a no-op. (#53195; thanks Dnreikronos)
- Fixed Python LSP servers (Pyright, Ruff, etc.) using the wrong workspace folder in uv/Poetry/PDM workspaces with multiple subprojects. (#53781; thanks space192)
- Fixed remote terminals incorrectly trying to change to a local home directory. (#53071; thanks pepyakin)
- Fixed save dialog defaulting to dependency directories (e.g.
.venv/,node_modules/) after using Go to Definition, when those directories are configured asread_only_files. (#53100; thanks pdrgds) - Fixed shortcut label alignment in the Recent Projects quick-switch footer by rendering action rows with a consistent two-column layout (label left, keybinding right) for "Add Local Folders" and "Add Remote Folder". (#54325; thanks galuis116)
- Fixed sticky headers sometimes obscuring the current row. (#53165; thanks timvermeulen)
- Fixed system clipboard being overwritten when pasting over a visual selection with Cmd-V/Ctrl-V in vim mode. (#52948; thanks Dnreikronos)
- Fixed terminal bar and underline cursors set via escape sequences not visually distinguishing between focused and unfocused states. (#53713; thanks Dnreikronos)
- Fixed terminal child processes surviving after closing Zed by sending SIGTERM synchronously on terminal drop. (#53107; thanks Dnreikronos)
- Fixed terminal path detection for paths inside parentheses without preceding space (e.g.
Update(path)orWrite(path)patterns from CLI tool output). (#52222; thanks butvinm) - Fixed the inline Git blame popover sometimes appearing after opening a modal. (#52525; thanks timvermeulen)
- Fixed
tsgoLSP. (#54201; thanks neo773) - Fixed various instances of hint-level diagnostics using the color designated for info. (#54046; thanks vonEdfa)
- Fixed vim search (
/) stealing focus from the Agent panel when a file is open in the editor. (#54012) - Fixed YAML language server settings (like
customTags) being ignored, causing valid tags to show as errors. (#54148) - Fixed Git graph commit detail header to now use "1 Changed File" when exactly one file changed, and "N Changed Files" otherwise, instead of always saying "Changed Files". (#54284; thanks galuis116)
- Fixed editor rendering behind sticky scroll headers while using a transparent theme. (#54465)
- Fixed
menu::SecondaryConfirmdoing nothing when executing a command generated by the terminal inline assistant. (#48764) - Fixed edit predictions polluting the completions menu with unrelated snippets (e.g. Unicode symbols) when
show_in_completions_menuis disabled. (#50403; thanks Dnreikronos) - Fixed rules files (
AGENTS.md,CLAUDE.md,.rules, etc.) sometimes not being applied in agent threads. (#53659; thanks AJenbo) - Fixed GitHub Copilot re-prompting for authentication after filesystem rescan events. (#53659; thanks AJenbo)
- Fixed git commits editor not respecting soft wrap boundaries. (#54051)
- Fixed a crash in certain scenarios when opening Markdown Preview with GIFs. (#53459; thanks davidalecrim1)
Breaking Changes and Notices
- Settings: Removed
"soft_wrap": "preferred_line_length"in favor of"soft_wrap": "bounded". Soft wrap now always respects editor width when it's enabled. (#54051)