This week's release includes BYOK support for the new 1M context window on Claude Opus and Sonnet, git panel improvements including a badge showing uncommitted change counts and file type icons, an action to align multiple cursors, and pinch-to-zoom in the image viewer.
Features
AI
- Agent: Updated BYOK integration to support the new 1M context window for Claude Opus and Sonnet. (#51625)
- Agent: Terminal tool permissions regexes can now match environment variables. Bare interpolations like
$FOOare disallowed when permissions regexes are active for security. (#51689) - Agent: Streaming text in threads now displays more fluidly. (#51499)
- Agent: Improved visibility of thinking blocks by making them auto-expanded while in progress. (#51525)
- Agent: Added support for usage tracking when streaming responses from OpenAI providers. (#45812; thanks Oft3r)
- Agent: API key input in the Add LLM provider modal is now masked. (#50379; thanks cppcoffee)
- Agent: Updated the display of tokens for xAI models to reflect the input/output limits. (#48719; thanks anilpai)
- Edit Prediction: Added an error indicator in the edit prediction menu when the free tier limit is exceeded. (#51447)
Git
- Added a numeric badge to the git panel sidebar icon showing the count of uncommitted changes. (#49624; thanks IVainqueur)
- Git panel now supports file type icons (like in the project panel) from icon theme extensions. Enable with
git_panel.file_icons(off by default). Folder icons are on by default and can be toggled withgit_panel.folder_icons. (#51000; thanks kickbelldev) - Project panel now colors folders containing deleted files. (#51553; thanks tidefield)
- Improved latency of stage/unstage operations. (#47806; thanks marcocondrache)
- Changed the git diff status to render
+and-using the font instead of icons. (#51411)
Languages
- C/C++: Added clangd
readonlytoken modifier to semantic token rules to highlight constant variables as constants. (#49065; thanks ozacod) - C++: Recognize module interface files as C++ files. (#45968; thanks hokein)
- TSX: Removed rainbow bracket colorization for angled brackets. (#51311; thanks jackkkonggg)
Vim / Helix
- Vim: Repeat (
.) now increments the recorded register when using numbered registers. (#50753; thanks feitreim)
Collaboration
- Improved recovery of audio latency after CPU-intensive periods. (#51647)
Remote Development
Windows
- Improved Python toolchain discovery under WSL environments. (#51749; thanks lingyaochu)
- Improved compatibility with mounted VHDs. (#50974; thanks foxmsft)
Linux
- Relaxed requirement for
libstdc++.soon Linux distributions. (#51433)
Other
- Added
editor::AlignSelectionsaction to align multiple cursors. (#44769; thanks tiagolobao) - Added
editor::GoToPreviousSymbolandeditor::GoToNextSymbolactions to navigate to previous and next outline symbols. Uses either the tree-sitter outline or the LSP-provided outline depending on configuration. (#50777; thanks nishanthkarthik) - Added hotkey and actions for toggling light and dark themes. Default:
cmd-k cmd-shift-ton macOS,ctrl-k ctrl-shift-ton Linux/Windows. (#49027; thanks tommyming) - Image Viewer: Pinch-to-zoom now works for zooming in and out on macOS and Linux. (#47351; thanks MostlyKIGuess)
- Added
"formatter": "none"setting to explicitly disable the formatter. (#48991; thanks lingyaochu) - Added
workspace::FocusCenterPaneaction to move focus to the most recent center pane from any dock. (#46059; thanks FloppyDisco) - Recent projects on external drives or network mounts are no longer removed from the project picker when temporarily disconnected. They're now preserved for 7 days. (#50829; thanks ojpro)
- Added
$ZED_LANGUAGEtask variable that exposes the current buffer's language name. (#51614; thanks mvanhorn) - Improved
editor::CopyFileLocationto include the full selected line range (e.g.,src/main.rs:12-18) when multiple lines are selected. (#51328; thanks shashank-suresh) - Added scroll-to-top and scroll-to-bottom keybindings for markdown preview (
gg/Gin Vim mode,cmd-up/cmd-downon macOS,ctrl-home/ctrl-endon Linux/Windows). (#50460; thanks dremnik) - Added
_and newline characters as subword boundaries. (#50552) - Improved hover behavior for multi-line diagnostics to persist when hovering over whitespace. (#47471; thanks daydalek)
- Added
project_panel.scrollbar.horizontal_scrollsetting to toggle horizontal scrolling in the project panel. (#51143; thanks k4yt3x) - Improved multibuffer runnables resolution performance. (#51299)
- Added the missing
ctrl-shift-gbinding foreditor::UndoSelectionin JetBrains macOS bindings. (#51130; thanks zfz7) - Keymap Editor: Removed redundant parentheses when displaying keymap context. (#50906; thanks dongdong867)
- Improved some Ayu Dark/Mirage theme terminal colors. (#51462; thanks tiwari91)
- Improved wording within file deletion prompts in the project panel. (#43801; thanks AdamJedl)
Bug Fixes
- Agent: Fixed cases where thread state wasn't saved before closing the thread. (#51744)
- Agent: Fixed inconsistent behavior for subagent views when focusing on previous messages. (#51654)
- Agent: Fixed an issue where external agents would return an error because an unsupported ACP method was called. (#51479)
- Agent: Fixed an issue in the agent panel where scrolling a selection out of view would cause the panel to close while zoomed. (#51806)
- Agent: Fixed broken (failing on first message) xAI models over the Zed provider on profiles using the spawn_agent tool, including the default Ask and Write profiles. (#51835)
- Agent: Fixed send failure for pasted file#line mention links. (#49786; thanks cppcoffee)
- Agent: Fixed model dropdown resetting to "Default (recommended)" when opening a previous conversation from history. (#51587; thanks OmChillure)
- Agent: Fixed echo cancellation not working on experimental audio pipeline. (#51673)
- Debugger: Fixed debug session restart only working once when the adapter supports DAP restart requests. (#51247; thanks nelsoncampos-cloudwalk)
- Debugger: Fixed debugger failing to start when offline if a debug adapter was previously downloaded. (#50928; thanks nihalxkumar)
- Git UI: Fixed selecting previous item selecting a non-visible item if it's inside a collapsed directory. (#49289; thanks RemcoSmitsDev)
- Git UI: Fixed a bug where deleting a remote branch from the branch picker would incorrectly remove the entire remote configuration. (#48338; thanks amtoaer)
- Git UI: Fixed a source of panics when staging diff hunks. (#51641)
- Git UI: Fixed commit message generation in untrusted repositories. (#51323)
- GPUI: Fixed list height re-computation when the list width changes. (#51414; thanks feitreim)
- gopls: Fixed semantic token support with gopls. (#51621; thanks feitreim)
- gopls: Fixed version display showing raw JSON instead of readable version number. (#49835; thanks amtoaer)
- LSP: Fixed restarting the LSP breaking semantic token highlighting. (#51452; thanks feitreim)
- Which-Key: Fixed filter list for some Vim commands. (#51543; thanks feitreim)
- Fixed "View Release Notes" in Preview/Stable opening the wrong release channel page due to build metadata in the URL. (#48570; thanks RubenFricke)
- Fixed
MoveToBeginningOfLinestopping at indentation in single-line editors like the Find bar instead of moving to column 0. (#50681; thanks virajbhartiya) - Fixed
path:line:columnnavigation so non-ASCII columns land on the correct character. (#51238; thanks loadingalias) - Fixed
shift-ain Helix select mode placing the cursor on the wrong line after selecting withx. (#50709; thanks SkandaBhat) - Fixed a deadlock that froze the entire app when opening a new window from a popup window or switching focus between multiple windows on macOS. (#51035; thanks Dnreikronos)
- Fixed a panic in Helix mode with search selecting wrapping around the document end. (#51642)
- Fixed a stack overflow when parsing deeply nested HTML in markdown files. (#51637)
- Fixed an issue where accepting an autocomplete suggestion with multiple cursors could result in duplicated or jumbled text in import statements. (#50320; thanks theonly1me)
- Fixed an issue where the crease toggles in the gutter would sometimes show when interacting with a popover present over the editor gutter. (#51405)
- Fixed an issue where using the
SelectLargeSyntaxNodeaction with multiple cursors could reverse the selection direction for the last cursor. (#51752) - Fixed binary files (e.g., WAV) being misdetected as UTF-16 text, causing Zed to freeze. (#50890; thanks notJoon)
- Fixed bracket colorization not working for content after folded regions and for functions with large bodies. (#51108; thanks notJoon)
- Fixed bug that resurfaced dismissed Copilot edit predictions when moving the cursor around. (#40185; thanks timvermeulen)
- Fixed closed projects re-opening erroneously. (#50961; thanks AmaanBilwar)
- Fixed Cmd+key shortcuts being consumed by the IME on non-US keyboard layouts, preventing Zed keybindings and macOS system shortcuts from working with special characters. (#51394; thanks jamarju)
- Fixed empty files not downloading from a remote project. (#51571; thanks AmaanBilwar)
- Fixed highlighting of block quotes continued over multiple lines in markdown files. (#51465; thanks polyesterswing)
- Fixed issues with tremendous audio latency in long-running collaboration calls. (#51315)
- Fixed keymap editor showing phantom entries and stale defaults when deleting or overriding default keybindings. (#50699; thanks iam-liam)
- Fixed language selector not selecting the first entry when matching a query. (#51581; thanks cppcoffee)
- Fixed long diagnostic messages in the status bar pushing right-side buttons (terminal, agent, etc.) off screen. (#51031; thanks Dnreikronos)
- Fixed markdown preview not re-rendering when edited by agent. (#50583; thanks dongdong867)
- Fixed missing syntax highlighting in symbol search when using the ty language server. (#51355; thanks lingyaochu)
- Fixed Ollama models with custom stop tokens generating infinitely by not overriding model defaults when no stop tokens are specified. (#48119; thanks littleKitchen)
- Fixed project root name appearing in file paths while searching in file finder. (#51530; thanks CCXLV)
- Fixed segfault at runtime on aarch64-Linux when running static constructors. (#51771)
- Fixed settings file being restored to multiple panes after restart. (#50842; thanks iam-liam)
- Fixed subword motions in Helix mode not selecting traversed text. (#45760; thanks maxmalkin)
- Fixed the "Show Edit Predictions For This Buffer" toggle being a no-op in unsaved buffers after switching the buffer's language. (#50845; thanks ayushk-1801)
- Fixed the cursor offset in non-visual Helix selections. (#46311; thanks jrobsonchase)
- Fixed hidden files not showing in remote project's open folder action. (#50846; thanks dibashthapa)
- Fixed the outline filtering always selecting the last match. (#50594; thanks OmChillure)
- Fixed trailing whitespace handling on text case changes. (#50523; thanks OmChillure)
- Fixed Vim's dot repeat ignoring the recorded register. (#50753; thanks feitreim)
- Fixed visual block
shift-ijumping to the initial cursor position after scrolling withctrl-d/ctrl-uin Vim mode. (#50822; thanks cppcoffee) - Fixed XF86 multimedia key names ("New", "Save", "Open") being shown as keybinding hints in menus instead of the actual keyboard shortcuts. (#50540; thanks Dnreikronos)