Today's release includes Vim mode support in the agent panel, as well as many other agent additions, automatic Python virtual environment configuration, better project panel dragging, a Cursor keymap, more Vim commands, and many bug fixes from Quality Week.
Enhancements
- Added highlighting to entries being dragged in the Project Panel, indicating which items are being moved. (#32044)
- Added copy-drag cursor when pressing
alt
orshift
to copy the file in Project Panel. (#32040) - Added option to create new file in project search panel. (#31567; thanks xyzqm)
- Added
close_on_file_delete
setting (off by default) to allow closing open files after they have been deleted on disk. (#31920) - Added subword navigation and selection to Sublime keymap. (#30268; thanks fernandocarletti)
- Added MacOS titlebar double-click action. (#30468; thanks chungweileong94)
- Added
View Release Notes
toHelp
menu. (#31704; thanks simonpham) - Added Cursor compatibility keymap. (#31702)
- Added
ZED_RELATIVE_DIR
(path to current file's directory relative to worktree root) task variable. (#31657; thanks d5ng4i) - Added version information, in a tooltip, when hovering on the activity indicator for both the download and install status. (#31568)
- Added initial support for ssh remotes running FreeBSD x86_64. (#29561)
- Snippet insertions now preserve leading whitespace instead of using language-specific auto-indentation. (#31933)
- Improved project panel to show a highlight on the containing folder which would be the target of the drop operation. (#31976)
- Improved Zed inheriting environment variables from user shells. (#31799; thanks haruleekim)
- Improved Zed prompts for file path selection. (#32014)
- Improved displaying of project search matches or diagnostics when the excerpts are adjacent. (#31708; thanks Rogue-striker)
- Improved the keyboard navigability of the file finder filtering options. (#31777)
- Improved persistence when selecting themes and icon themes. (#29560; thanks hoodie)
- Ensured that cut project panel entries are cut-pasted only on the first use, and copy-pasted on all subsequent pastes. (#31931; thanks MrSubidubi)
- Allowed opening 1 more item if
n
tabs are pinned, wheren
equals themax_tabs
count. (#31871) - Preserve pinned tab state when dragging to position 0 in new pane with no pinned tabs. (#32213)
- Disabled the
Close Clean
tab context menu action when all items are "dirty." (#31859) - Changed the highlighting of the current file to represent the current saved state, when the tab bar is turned off. (#30507; thanks ViveK-PothinA)
AI
- Agent: Added vim-mode support in the agent panel's editor. (#31915)
- Agent: Added ability to reject and accept all changes from the agent panel. (#31971)
- Agent: Added support for
AGENT.md
andAGENTS.md
as rules file names. (#31998) - Agent: Added display of full terminal output. (#31922)
- Agent: Added ability to collapse terminal output. (#31922)
- Agent: Added support for OpenRouter as a language model provider. (#29496; thanks imumesh18)
- Agent: Added support for getting notified (via toast and/or sound) when reaching the consecutive tool call limit. (#31894)
- Agent: Added
thinking
mode for custom Google models with configurable token budget. (#31251; thanks 90aca) - Agent: Added image support for Ollama vision models. (#31883; thanks imumesh18)
- Agent: Added thinking support when using Ollama models. (#31665; thanks imumesh18)
- Agent: Added a keybinding to toggle Burn Mode on and off. (#31630)
- Agent: Improved sound notification behavior by making it play only if Zed is in the background. (#31975)
- Agent: Improved previous message editing UX by returning focus to the main panel's text area after dismissing it. (#31611, #31614)
- Agent: Migrated thread storage to SQLite with compression. (#31741)
- Ollama: Changed models to be sorted by name. (#31620; thanks little-dude)
- Ollama: Updated default model context to 4096 (matching upstream). (#31682; thanks tidely)
- AWS Bedrock: Added ability to pick between Thinking and Non-Thinking models. (#31600; thanks 5herlocked)
- AWS Bedrock: Added support for Meta Llama 4 Scout and Maverick models. (#30659; thanks 5herlocked)
- AWS Bedrock: Updated all models available through Cross Region inference. (#30659; thanks 5herlocked)
- Edit Prediction: Handled
~
in paths indisabled_globs
setting. (#31235; thanks clauses3)
Git
- Extended the support for configuring custom git hosting providers to cover project settings in addition to global settings. (#31929)
Languages
- Added support for filtering language server completions instead of re-querying. (#31872)
- Python toolchain selector now uses path to the closest pyproject.toml as a basis for picking a toolchain. All files under the same pyproject.toml (in filesystem hierarchy) will share a single virtual environment. It is possible to have multiple Python virtual environments selected for disjoint parts of the same project. (#31893)
- Added more docstring highlights for Python. (#31628; thanks MrSubidubi)
- Improved Python development experience with automatic virtual environment configuration. (#31934; thanks pachecoio)
- Improved TypeScript shebang detection. (#31437; thanks imumesh18)
- Ruby: Added
sorbet
andsteep
to the list of available language servers. (#32008) - LaTeX: Added default
latexindent
formatter settings without relying ontexlab
, as well as allowingprettier
to be chosen for formatting. (#28727; thanks lnay)
Vim
- Added text selection for
vim::PushFindForward
andvim::PushFindBackward
keybinds in helix mode. (#31547; thanks thebasilisk) - Added
ArgumentRequired
action for vim commands that require arguments. (#31140; thanks AidanV) - Added
:e[dit] {file}
command to open files within the current project. (#31227; thanks AidanV) - Implemented
:delm[arks] {marks}
specified here. (#31140; thanks AidanV)
Bug Fixes
- Agent: Fixed incorrect file edits when edit locations are ambiguous. (#32056)
- Agent: Fixed inability to use Claude 4 Thinking models with Bedrock. (#31599; thanks 5herlocked)
- Agent: Fixed a panic that could sometimes occur when the agent panel was too narrow and contained context included via
@
. (#31960) - Agent: Fixed a panic when re-editing old messages. (#32017)
- Agent: Fixed bug with double-counting tokens in Gemini. (#31885)
- Agent: Fixed an issue where copying and pasting an assistant response in text threads would result in duplicate text. (#31882)
- Agent: Fixed GitHub Copilot chat provider error when sending follow-up messages in threads containing images. (#31760; thanks spmurrayzzz)
- Agent: Fixed a bug where the panel navigation menu wouldn't open with the keybinding on text threads. (#31709)
- Agent: Fixed a bug where the "go back" button wouldn't go back to the Text Thread after visiting another view from it. (#31706)
- Agent: Fixed an issue where rejecting agent changes could result in data loss in agent-created files. (#31617)
- AWS Bedrock: Fixed cross-region inference for all regions. (#30659; thanks 5herlocked)
- Vim: Fixed duplicate prefixes when repeating completions via
.
(#31818; thanks zeux) - Vim: Fixed pasting in vim's visual line mode when cursor is on a newline character. (#30791; thanks dinocosta)
- Git: Fixed an issue that prevented
git::Restore
keybindings from working in editors for buffers that had previously been modified by the agent. (#31930) - Fixed certain external worktrees' files sometimes not registered with language servers. (#32057)
- Fixed completions menu closing on typing after being requested while
show_completions_on_input: false
. (#32015) - Fixed Python virtual environment detection when no
pyrightconfig.json
is present. (#31934; thanks pachecoio) - Pyright now correctly resolves imports from packages installed in virtual environments (
.venv
,venv
, etc.). (#31934; thanks pachecoio) - Python projects with virtual environments no longer show false
reportMissingImports
errors. (#31934; thanks pachecoio) - Fixed Python tasks always running with a toolchain selected for the root of a workspace. (#31150; thanks pachecoio)
- Fixed channel notes not re-connecting when a connection to Zed servers is restored. (#31950)
- Fixed wrong line number being shown in the status bar when in multi-buffer. (#31947)
- Fixed terminal pinned tab state not persisting across restarts. (#31921)
- Fixed unnecessary delay when typing a multi-stroke binding that doesn't match any non-null bindings. (#30260; thanks joe-p)
- Fixed an edge case where indent guides would be rendered incorrectly if lines consisted of entirely whitespace. (#31916)
- Fixed the issue where keybinding wouldn't work in a pane after focusing it from dock using the
ActivatePaneInDirection
action in certain cases. (#31905) - Fixed terminal inline assistant clipping when cursor is at bottom of terminal. (#31807; thanks alisinabh)
- Fixed the issue where the columnar selection (
opt+shift
) incorrectly used the cursor to start the selection instead of the mouse position. (#31888) - Fixed an issue where autocompleting optional chaining methods in TypeScript, such as
x.tostr
, would result inx?.toString()tostr
instead ofx?.toString()
. (#31878) - Fixed a bug where pinned tabs were closed when running
Close Others
from the tab context menu. (#31783) - Fixed a bug where pinned tabs would eventually be closed out when exceeding the
max_tabs
count. (#31871) - Fixed a bug where pinning a tab, when already at the
max_tabs
limit, could cause other tabs to be incorrectly closed. (#31871) - Fixed a bug where inactive tabs would be activated when pinning or unpinning. (#32026)
- Fixed a bug where if the last tab was a pinned tab and it was dragged to the right, resulting in a no-op, it would become unpinned. (#32228)
- Fixed a bug where a pinned tab dragged just to the right of the end of the pinned tab region would become unpinned. (#32228)
- Fixed a bug where dragging a pinned tab from one pane to another pane's pinned region could result in an existing pinned tab becoming unpinned when
max_tabs
was reached. (#32228) - Fixed a bug where moving an unpinned tab to the left, just to the end of the pinned region, would cause the pinned tabs to become unpinned. (#32228)
- Fixed a bug where dragging a pinned tab into a new split would lose its pinned tab state. (#32184)
- Fixed a bug where pinned tabs in one pane could be lost when moving one of the pinned tabs to another pane. (#32184)
- Fixed a bug where ERB files were not parsed correctly when the languages were initially loaded. (#32278)
- Fixed a bug where buffers render on every mouse move. (#32412)
- Fixed regression in startup performance by not deserializing and instantiating recently opened agent threads. (#32351)
- Fixed incorrect offsets during outline panel navigation in singleton buffers. (#32321)
- Fixed sluggish cursor motions in Terminal when Vi Mode is enabled. (#31824; thanks hron)
- Fixed issue where some applications won't receive the clipboard contents from Zed. (#30251; thanks aldofunes)
- Fixed in-app release notes having an incorrect title. (#31703; thanks simonpham)
- Fixed an issue where migration banner wouldn't go away after clicking "Backup and Migrate". (#31723)
- Fixed issue where task history wasn't being cleared after task file updates. (#31720)
- Fixed issue navigating SSH config servers in Remote Projects with keyboard. (#31650)
- Fixed issue preventing remote projects modal from regaining focus after a successful SSH server connection. (#31651)
- Fixed the issue where the terminal focused when the mouse hovered over it after selecting text in the editor. (#31639)
- Fixed a crash that could occur when editing YAML files. (#32090)
- Fixed a crash that could occur when editing bash files. (#32091)
- Fixed a crash when editing large bash scripts. (#32091)
- Fixed a crash when editing YAML files. (#32090)
- Fixed a few rare panics that could happen when a multibuffer excerpt started with expanded deleted content. (#32189)
- Fixed a panic that could occur when editing files containing merge conflicts. (#32123)
- Fixed a panic that could sometimes occur when the agent performed edits. (#32245)
- Explicitly disallowed running Zed with root privileges. (#31331; thanks valsoray-dev)
Breaking Changes and Notices
- Deprecated support for
active_pane_modifiers
.magnification
setting as it caused many visual defects. (#31981)