- copilot_chat: Fix invalid reasoning effort for some models. (#54105)
Releases
Keep up with the weekly Zed releases.
0.232.3
Apr 20, 2026
0.232.2
Apr 15, 2026
This week's release includes file finder search that matches terms in any order, "Focus Follows Mouse" for editor and terminal panes, and search support in the markdown preview.
Shipped by the Zed Guild 🛡️
- Agent: Preserved
draft_promptwhen creating new agent threads. (#53250; thanks AmaanBilwar) - File Finder: Improved fuzzy finding logic to be order-independent. For example, searching for
Cargotoml uiwill now match oncrates/ui/Cargo.toml. (#51164; thanks 11happy) - Vim: Added editor setting for changing regex mode default in vim searches. (#53092; thanks seanstrom)
- Helix: Fixed search selection range deduplication logic. (#52922; thanks feitreim)
- Repl: Fixed installing ipykernel with uv managed environments. (#51897; thanks feitreim)
- Fixed
Failed to load shell environmenterrors on Windows when users have custom terminal shell arguments configured (e.g., cmd.exe with/k echo Helloor similar startup commands). (#51787; thanks AmaanBilwar) - Fixed a bug where diagnostic underlines disappeared when "semantic_tokens" set to "full". (#53008; thanks lingyaochu)
- Fixed a bug where semantic token highlighting could not be disabled via empty rules in
settings.json. (#52963; thanks lingyaochu) - Fixed an issue in the Git graph where hovering a commit might select the wrong row after scrolling. (#53218; thanks lingyaochu)
- Fixed dev container failing to open when Docker Compose file contains
labels. (#53057; thanks OmChillure)
Learn about the Zed Guild.
Features
AI
- Added a max-width to the thread view for better readability, particularly when the panel is zoomed in. (#52730)
- Bedrock: Added 9 new models across 3 new providers (NVIDIA, Z.AI) and expanded coverage for existing providers (Mistral, MiniMax). (#53043; thanks 5herlocked)
- Added a setting to control
reasoning_effortin custom OpenAI-compatible models. (#50582; thanks vimsucks) - Added keybindings for scrolling in agent view. (#52657; thanks hron)
- Added new agent notification sound options. (#52284; thanks jm-observer)
- Added padding to markdown output in card layout. (#53194; thanks markosnarinian)
- Added a setting to control whether or not the button to resolve merge conflicts with the agent should be displayed. (#53033)
Git
- Added support for git checkpoint operations in remote/Dev Container sessions, restoring the "Restore from checkpoint" button in Agent threads. (#48896; thanks oliverbarnes)
- Added support for
diff.plusanddiff.minustheme selectors in the diff syntax grammar. (#45459; thanks bcomnes)
Languages
- Improved syntax highlighting for custom JSX elements in TSX and JavaScript languages. Theme authors and users can now highlight these in their theme/theme overrides using
tag.component.jsx. (#49881; thanks finico) - Added the option for highlights from languages to specify fallbacks. That means that if you have a pattern with the captures
@second.capture @first.capture, Zed will first try resolving a highlight from your theme for the code fragment using the first capture, then look for the second capture if no match for the first capture could be found. (#52575)
Collaboration
- Added persistence to the
Show Occupied Channelscollab toggle. (#53029)
Other
- Added "Focus Follows Mouse" for editor and terminal panes. (#46740; thanks jrobsonchase)
- Added
Ctrl+Rkeybinding for opening recent projects on macOS and Linux, matching VS Code's default behavior on all platforms. (#52893; thanks davidalecrim1) - Added a
sort_ordersetting toproject_panelfor case-sensitive sorting. Options aredefault,upper,lower, andunicode. (#50221; thanks Steffen70) - Added controls to the settings UI for whether the terminal and agent panels use flexible width. (#52946)
- Added options to
pane::DeploySearchfor keymap-driven search initiation. (#47331; thanks joelazar) - Added search support (Ctrl+F / Cmd+F) to the markdown preview. (#52502; thanks Tahinli)
- Improved keyboard navigation for the recent projects modal. (#52866)
- Improved the
About Zeddialog to open as a standalone window instead of a native system prompt. (#52523; thanks dve00) - Improved the display of the sign in state in the title bar, by namely showing "Signing in" when in an active process of signing in. (#53255)
- Improved the recent projects picker to show the currently active project in the "This Window" section with a checkmark indicator. (#53302)
- Improved
pane: reveal in project panelto open the project panel, even if working with an unsaved buffer. (#51246 and #53539; thanks prertik) - Improved the flexibility of settings profiles by offering a way for profiles to lay atop of Zed defaults, skipping user settings altogether. (#52456)
- Added
--dev-containerCLI flag to automatically open a project in a dev container when.devcontainer/configuration is present. (#51175; thanks antont) - Git: Improved how we surface the affordance to resolve codebase-wide merge conflicts with the agent in the UI. (#53033)
Bug Fixes
- Fixed navigation within the rules library making it so hovering the sidebar doesn't activate the visible rule. (#53264)
- Agent: Fixed an issue where sometimes you couldn't scroll all the way to the bottom of the thread even though there's visibly more content below the fold. (#53017)
- Git: Fixed display of the main worktree name in the worktree picker. (#53351)
- Fixed a bug where project symbols did not take you to the correct location when diffs are expanded. (#52268; thanks Steven-Weng)
- Fixed a crash when searching archived threads whose titles contain emoji or other non-ASCII characters. (#53114)
- Fixed a parsing failure where docker env var key/value pairs can contain an "=" character in the value. (#53134; thanks yeetypete)
- Fixed a tooltip memory leak. (#52853)
- Fixed ACP slash commands disappearing after reopening restored threads. (#53209; thanks yonisirote)
- Fixed an issue where "Hover Popover Delay" setting could not be searched or linked correctly in the settings UI. (#53359; thanks daydalek)
- Fixed app_port deserialization in dev container. (#53322; thanks KyleBarton)
- Fixed C/C++ preprocessor directives (
#include,#define, etc.) appearing unhighlighted in builtin themes. (#49031; thanks chenwuji2000-cyber) - Fixed dev container behavior for configs which use images without a dockerfile. (#53106; thanks KyleBarton)
- Fixed dev container creation modal being dismissed when clicking outside it. (#52506; thanks antont)
- Fixed docker compose Dockerfile build context not being preserved in dev_container integration. (#53140; thanks yeetypete)
- Fixed double-clicking empty space in the pinned tab row not opening a new tab when
show_pinned_tabs_in_separate_rowis enabled. (#51592; thanks mgabor3141) - Fixed ESLint not reporting diagnostics in some cases for projects that use flat-config, legacy-config, and monorepo projects across ESLint 8, 9, and 10. (#52886)
- Fixed high GPU usage from the agent panel's generating spinner while an agent is running. (#51756; thanks AndPuQing)
- Fixed horizontal rules and blockquotes not being visible in the Markdown preview. (#53223)
- Fixed HTML alignment styles not being applied in markdown previews. (#53196; thanks PlagueFPS)
- Fixed markdown escape characters being visible in LSP diagnostic messages when leading whitespace caused indented code blocks. (#51766; thanks Dnreikronos)
- Fixed mermaid diagrams not showing text in markdown preview by bundling fallback fonts and fixing generic font family resolution in the SVG renderer. (#51623; thanks Dnreikronos)
- Fixed occasional crashes when viewing a screen share. (#53088)
- Fixed rebuilding dev extensions when user git config contains url rewriting rules. (#52538; thanks brandonchinn178)
- Fixed restricted mode dialogs overflowing past the window when many unrecognized projects are open. (#53124; thanks SAKETH11111)
- Fixed serialization error with Docker Compose for dev containers. (#53090; thanks KyleBarton)
- Fixed SSH recent-project labels to show configured nicknames instead of raw hosts when available. (#53103; thanks SAKETH11111)
- Fixed theme selector losing the selected theme after filtering with a query that matches nothing and then clearing the filter. (#52461; thanks Dnreikronos)
- Fixed vim's matching '%' to handle multiline comments
/* */and preprocessor directives#if #else #endif. (#53148; thanks tanaxer01) - Fixed Windows bind mount issue with dev containers. (#53093; thanks KyleBarton)
- Fixed Zed Agent profile selector button not visually updating when cycled with Shift+Tab. (#53126; thanks k4yt3x)
- Fixed settings text inputs losing user data when blurring focus. (#53036)
- Fixed terminal cursor blink not resetting when navigating with action-bound keys (e.g.,
alt+left/righton macOS,alt+b/fon Linux). (#53171; thanks Dnreikronos) - Fixed devcontainer initialization erroneously requiring each service to have a volumes key. (#53137; thanks yeetypete)
- Fixed devcontainer initialization erroneously requiring source keys for all volume mounts. (#53137; thanks yeetypete)
- Fixed a crash and improved matching and highlighting in the file picker for paths with non-ASCII characters (e.g., Turkish İ, ß, fi). (#52989; thanks davidalecrim1)
- Agent: Fixed image mention labels by persisting the file name after submitting the prompt. (#52995)
- Agent: Fixed directory mentions being incorrectly parsed as files when pasting into prompt editor. (#52995)
- Gemini: Fixed an issue with MCP servers specifying tools with specific schemas. (#53834)
- Fixed terminal tabs losing keyboard focus after switching tabs on Linux X11. (#53618)
- Fixed a panic that could occur in the project symbol search picker. (#53563)
Breaking Changes and Notices
0.231.2
Apr 10, 2026
- Fixed a bug where the web search tool might cause Zed cloud Claude models to not work.
0.231.1
Apr 08, 2026
This week's release includes top-down streaming for agent threads, channel favorites in the collab panel, automatic split-to-unified switching in the git diff view, and a native devcontainer implementation with Zed extension support.
Shipped by the Zed Guild 🛡️
- GPUI: Improved linear gradient rendering by adding dithering to eliminate visible banding in dark color ranges. (#51211; thanks iam-liam)
- GPUI: Fixed a bug where the scrollbar would disappear when using a bottom aligned list. (#51223; thanks feitreim)
- Fixed an issue where Gemini models would not work when using specific MCP servers. (#52670; thanks OmChillure)
- Fixed misleading "Max tokens reached" error by distinguishing between per-response output token limit and total context window limit. (#52724; thanks OmChillure)
- Fixed Outline Panel selection being off-by-one at Markdown heading boundaries. (#52673; thanks OmChillure)
- Fixed settings being overwritten when updating a single setting via UI while the settings file contains deprecated keys. (#52676; thanks OmChillure)
- Fixed SVG preview to render emojis consistently with the editor by prioritizing platform-specific color emoji fonts. (#51569; thanks alanpjohn)
- Fixed vim/helix's replace action to take into consideration grapheme count. (#51776; thanks feitreim)
- Added pinching gestures on all devices. (#51354; thanks MostlyKIGuess)
- Fixed agent panel
Allow,Always Allow, andRejectkeybindings not working when the message editor is focused on Linux. (#52672; thanks OmChillure)
Learn about the Zed Guild.
Features
AI
- Made the thread generation be top-down instead of bottom-up. Agent content now streams from the top and auto-scrolls as it goes beyond the viewport. (#52440)
- Reduced amount of tokens consumed by tool descriptions. (#52678)
- Changed to prefer the currently used agent per-project when creating a new thread. (#52888)
- Refined thinking block display, removing layout shift while still allowing it to be readable while it streams in. Added a
agent.thinking_displaysetting to control the behavior ("automatic","always_expanded","always_collapsed"). (#52608) - Made token usage display consistent between the models that support displaying split usage (input and output) and those that don't. (#52599)
- Improved auto-scroll of subagent content in preview cards, ensuring the content is always visible until the end. (#52719)
- Improved the experience of interacting with subagents waiting for confirmation. (#52460)
- Improved adding selection as context particularly for terminals, making them not depend on open buffers. (#52860)
- ACP: Added the ability to restart agent servers from the Agent Settings panel. (#52401)
Git
- Added automatic switching from split mode to unified mode in the git diff view when the pane is narrower than a configurable minimum column count. You can configure this via the new
minimum_split_diff_widthsetting. (#52781) - Add Git Graph. Can be accessed through the button on the bottom of the git panel or the
git graph: Openaction (#53002)
Languages
- Marked
.json.distas ajsonfile. (#52473; thanks williamdes) - Marked
.jshintrcas ajsoncfile. (#52474; thanks williamdes)
Vim / Helix
- Changed vim mode so that when search is triggered by the non-vim mode shortcut (cmd-f by default), enter will now behave as it does outside of vim mode. (#51073; thanks viveksjain)
Collaboration
Remote Development
- Replaced the Node-based devcontainer CLI with a native implementation, adding support for Zed extensions in
devcontainer.jsonviacustomizations.zed.extensions. (#52338; thanks KyleBarton)
Other
- Added a
wrap_aroundoption to bothpane::ActivatePreviousItemandpane::ActivateNextItemactions to optionally disable wrapping when cycling past the first or last tab. (#51253; thanks winzamark123) - Added file icon for EditorConfig (
.editorconfig). (#52705; thanks tzabbi) - Improved resolution speed of theme highlight capture names. This might change highlighting in some rare edge cases, but should overall make highlighting more predictable. Theme captures will now follow a strict prefix matching, so e.g.
function.call.decorator.jsxwill now be matched by onlyfunction,function.call,function.call.decoratorandfunction.call.decorator.jsxwith the most specific capture always taking precedence. (#52183) - Significantly reduced memory used to record internal profiling information. (#45197; thanks sourcefrog)
- Added controls for whether the Terminal and Agent panels use flexible or fixed width in the settings view. (#53018)
Bug Fixes
- Agent: Fixed copy button overlapping code block content in the Agent panel. (#52837; thanks Dnreikronos)
- Git: Fixed bad performance in large branch diffs. (#52582)
- Git: Fixed the worktree picker allowing deletion of the main worktree, which would always fail. (#52841)
- Helix: Fixed insert line above/below behavior when using selections. (#46492; thanks jrobsonchase)
- Fixed ACP log entries collapsing when clicking or dragging inside the log text to select it. (#50981; thanks cppcoffee)
- Fixed edit predictions being disabled when a comment or string contained
=======. (#52510; thanks Shiven0504) - Fixed hover descriptions for newtype wrapper settings. (#51705)
- Fixed terminal rename not working from context menu on inactive tabs. (#50031; thanks razeghi71)
- Fixed
editor: copy highlight JSONnot limiting to the current selection. (#46555; thanks ian-h-chamberlain) - Fixed
editor: switch source headerand other LSP extension commands not working when the cursor is at the very end of a file. (#52651; thanks florian-trehaut) - Fixed a bug that caused duplicate sticky header rows to appear if multiple outline items start on the same row. (#52844; thanks timvermeulen)
- Fixed a bug that caused git blame annotations to be hoverable from a different pane. (#52603; thanks timvermeulen)
- Fixed a bug where killing a terminal process in the agent panel would sometimes kill Zed itself. (#52542)
- Fixed a bug where middle-clicking a pinned tab would close it. (#50333; thanks austincummings)
- Fixed a crash that could occasionally occur when parsing files using certain language extensions. (#52856)
- Fixed agent chat input box not expanding after sending a message. (#52545; thanks Dnreikronos)
- Fixed agent rules files not being prioritized as described in docs. (#52495; thanks halvko)
- Fixed agent threads starting scrolled to the top when reopened after restarting Zed. (#52843)
- Fixed an issue in the Collab Panel where the UI appeared to log users out. Implemented improvements to properly differentiate between "Sign In" and "Connect," avoiding false authentication prompts when users are already logged in but not automatically connected to the servers. (#52486; thanks ruxwez)
- Fixed an issue where editing selections after
editor: select all matcheswould scroll to the last match. (#49232; thanks Ben-Vollrath) - Fixed an issue where Zed would enter an infinite retry loop when the backing file for a single-file worktree was deleted. (#49366; thanks dastrobu)
- Fixed branch picker in the Git panel stealing vim keystrokes (
i,j,k,x) when vim mode is enabled. (#52687; thanks saberoueslati) - Fixed bug that caused clicking on a sticky header to not always properly clear the previous selection. (#52636; thanks timvermeulen)
- Fixed cursor visibility issue in embedded terminal panels. (#52404; thanks anaslimem)
- Fixed default environment variable context for external agents. (#52763; thanks derekparker)
- Fixed ESLint server startup failures caused by reusing an incomplete or stale cached server install. (#52883)
- Fixed expanded symlinks not being searchable. (#51382; thanks AndreRoelofs)
- Fixed git submodules being incorrectly classified as linked worktrees, which could cause issues with worktree-related operations. (#52507)
- Fixed keymap editor showing no results when opening "Change Keybinding" from the command palette for actions with underscores in their namespace (e.g.
terminal_panel::Toggle,project_panel::ToggleFocus). (#50415; thanks davidalecrim1) - Fixed middle-click on a tab to close it also pasting into the editor on Linux. (#49305; thanks ArthurDEV44)
- Fixed missing right- and middle-mouse button drag on macOS. (#49637; thanks gustafj)
- Fixed multiple line paste behavior in terminal on middle click. (#52158; thanks bryanmehall)
- Fixed postfix snippets creating 2
undoactions instead of 1. (#52699; thanks HuaGu-Dragon) - Fixed screen-casting when building Zed with Nix. (#52690)
- Fixed space and other keys being swallowed when typing in the Git Panel branch picker. (#52779; thanks saberoueslati)
- Fixed swapped color channels when pasting SVG images from the clipboard. (#52641; thanks nakashima-hikaru)
- Fixed the expanded Agent Panel message editor so it no longer jitters while typing. (#52612; thanks Charlie-XIAO)
- Fixed workspace-absolute paths not resolving in markdown image previews. (#52708; thanks danielaalves01)
- Fixed undoing a paste sometimes also undoing edits right before the paste. (#52003)
- Fixed brackets being autoclosed in the project search. (#52553)
- Fixed
editor: format selectionsformatting the entire document instead of only the selected ranges when using Prettier. (#51593; thanks prertik) - Fixed terminal tab not closing when the shell exits with a non-zero code. (#52520; thanks Glenn Miao)
- Fixed a bug where a cleverly crafted directory name could lead to remote code execution. (#53335)
Breaking Changes and Notices
- Removed legacy Text Threads feature to help streamline the new agentic workflows in Zed. Thanks to all of you who were enthusiastic Text Thread users over the years ❤️! (#52757)
0.230.2
Apr 06, 2026
- Fixed a crash on windows with diffs. (#53251)
0.230.1
Apr 03, 2026
- Edited buffers are no longer saved by default before running a task, but you can still configure this using the "save" field in
tasks.json. (#52976) - Added controls for whether the Terminal and Agent panels use flexible or fixed width, in both the settings window and the status bar button right click menu.
0.230.0
Apr 01, 2026
This week's release includes screen-sharing support on Wayland/Linux, multi-line search and replace, git status indicators in the project panel, pasting files and folders into the Agent Panel, and vim/emacs modeline support for per-file language detection and editor settings.
Shipped by the Zed Guild 🛡️
- Added support for multi-line search and replace input in Buffer Search and Project Search. (#50783; thanks claiwe)
- Improved "Diff Clipboard with Selection" to support side-by-side diff view style. (#51966; thanks OmChillure)
- Improved Linux auto-update failure issue caused by missing
rsyncby surfacing actionable install guidance in the update UI. (#50637; thanks nihalxkumar) - Improved semantic token highlighting for parameters and Python. (#52130; thanks lingyaochu)
- Updated Settings UI such that enabling Vim or Helix mode now disables the other if it was previously active. (#51706; thanks feitreim)
- Fixed copy for some Wayland users. (#52053; thanks mchisolm0)
- Editor: Fixed multi-line cursor expansion dealing with multi-byte characters. (#51780; thanks feitreim)
- Helix: Fixed binds for splitting window. (#51962; thanks feitreim)
- Helix: Fixed helix paste not pasting from system clipboard. (#51703; thanks feitreim)
- Language Models: Fixed partial JSON streaming. (#51976; thanks feitreim)
- Settings Editor: Fixed the display issue with narrow windows on the Edit Prediction configuration page. (#51878; thanks feitreim)
- Windows: Fixed an issue where text copied from Office applications couldn't be pasted into Zed. (#51807)
- Fixed "Replace All" in project search not working on the first attempt when the search query was changed or results hadn't loaded yet. (#50852; thanks OmChillure)
- Fixed
[x]and[ ]checkboxes not rendering in markdown table cells. (#50595; thanks iam-liam) - Fixed
awaitkeyword not being highlighted askeyword.controlin JavaScript, TypeScript, and TSX files. (#52034; thanks OmChillure) - Fixed file and directory renaming failing in the project panel on FUSE-based filesystems (e.g., NTFS, exFAT drives on Linux). (#51779; thanks OmChillure)
- Fixed garbled characters in window titles on Linux X11 (e.g., Settings window). (#51899; thanks OmChillure)
- Fixed Go
goplscode actions soAdd test for ...appears in the generic code actions menu. (#50979; thanks loadingalias) - Fixed incorrect diff region when using "Diff Clipboard with Selection" with expanded diff hunks in the editor. (#51985; thanks OmChillure)
- Fixed markdown table columns to use content-based auto-width instead of equal-width distribution in both markdown preview and agent panel. (#50839; thanks YEDASAVG)
- Fixed rewrapping paragraphs in markdown when you have nothing selected. (#51742; thanks polyesterswing)
- Fixed SSH host picker showing git provider domains (e.g., github.com, gitlab.com) from SSH config. (#51528; thanks sarmadgulzar)
- Fixed text corruption when using macOS Accessibility Keyboard word completion. (#50676; thanks criticic)
- Fixed switching between Vim and Helix mode needing multiple calls to have an effect while an editor is already open. (#51706; thanks feitreim)
- Fixed two items appearing highlighted simultaneously in pickers (command palette, file finder, etc.) when using keyboard navigation and then hovering with the mouse. (#50827; thanks OmChillure)
Learn about the Zed Guild.
Features
AI
- Added support for pasting files and folders into the Agent Panel. (#52300)
- Anthropic: Added support for selecting reasoning effort. (#51946)
- OpenAI: Enabled parallel tool calling support for models that support it. (#52203)
- Added Opencode Zen to list of providers. (#49589; thanks ripgrim)
- Added support for Native Thinking toggle instead of model variants. (#50673; thanks 5herlocked)
- Added OAuth authentication support for remote MCP servers. Servers requiring OAuth now show an "Authenticate" button when they need you to log in. You will be redirected in your browser to the authorization server of the MCP server to go through the authorization flow. (#51768)
- Changed the agent panel to have a flexible width, similar to the center panes of the workspace. (#52276)
- Changed the terminal permissions UI to allow selecting individual subcommands independently. (#49547)
Git
- Added git status indicators in Project Panel. It can be enabled by setting
git_status_indicatortotrueinproject_panelsettings. (#50216; thanks davidescaccia) - Added
git_panel.starts_opensetting to control whether the git panel opens automatically in new workspaces (default:false). (#51601; thanks mvanhorn) - Improved UI responsiveness to branch/worktree changes. (#51882)
Languages
- Gopls: Added semantic token rule for format string interpolations. (#52394; thanks MFattakhov)
- Added JSON syntax highlighting for
.babelrc,.eslintrc,.stylelintrc, and.swcrcconfiguration files. (#50800; thanks rodrii-dp)
Terminal
- Improved
terminal: New Terminal(cmd-n) to open in the center pane when a terminal tab there is focused, instead of always opening in the terminal panel. (#48609; thanks srbsingh3)
Vim / Helix
Collaboration
- Added automatic volume control to calls. (#51919)
- Added call diagnostics when collaborating with other Zed users in collab. (#51816)
Remote Development
- Added a toggle to control password visibility when connecting to a remote project. (#52297; thanks cppcoffee)
Linux
- Added screen-sharing support on Wayland/Linux. (#51957)
- Added support for GNOME's window buttons configuration on Linux. (#47506; thanks mufeedali)
Other
- Added support for pasting files from Finder (and other file managers) into the project panel via the system clipboard (macOS only). Copying or cutting files in the project panel now also writes their paths to the system clipboard for use in other apps. (#49367; thanks davidgatea)
- Changed go to definition (and similar actions) to no longer open a multi buffer if there are multiple results that all fit into a single excerpt. (#51461)
- Changed clicking a sticky header to put the cursor at the clicked column. (#51911)
- Allowed the keymap and settings UI to be opened without an active window. (#49527; thanks claiwe)
- Added support for vim and emacs modeline comments, allowing per-file language detection and editor settings (e.g.,
# vim: set ft=python :or-*- mode: ruby -*-). (#49267; thanks elmarco) - Added "Reveal in Finder" to the tab context menu. (#51615; thanks mvanhorn)
- Changed the order of the collab and outline status bar buttons. (#52232)
Bug Fixes
- ACP: Fixed the agent server not starting in a project directory. (#52005)
- ACP: Fixed plan stats showing all tasks as done when items were still in progress. (#52196)
- Agent: Fixed cursor position being reset when editing queued messages. (#52210)
- Agent: Fixed rendering of filenames in edit tool header. (#49668; thanks kbidlack)
- Agent: Fixed pasting image files copied from Finder inserting the file path instead of attaching the image in the Agent Panel. (#51575; thanks monkey-mode)
- Fixed
.vscode/tasks.jsonstill being used when.zed/tasks.jsonis present. (#51797; thanks moktamd) - Fixed 1-2 seconds of audio silence when unmuting for the first time during a call with Bluetooth headphones when
mute_on_joinis enabled. (#52236) - Fixed
.githandling when.gitis a file instead of directory, e.g., when using worktrees or submodules. (#51563; thanks steveej) - Fixed
code_actions_on_formatedits being reverted whenformatter: "auto"resolves to an unavailable formatter. (#51605; thanks mvanhorn) - Fixed a bug where a removed workspace could reappear on next launch due to a serialization race. (#52035)
- Fixed a bug where closing an agent thread could lose unsaved changes (e.g., draft prompts) made in the same frame. (#52030)
- Fixed a crash when pasting text into the prompt editor in the agent panel. (#51918)
- Fixed a Linux/X11 issue where closing the Settings window could cause Zed to hang. (#51561; thanks AxXxB)
- Fixed an issue where dismissing an edit prediction would not fully discard it, causing it to re-appear. (#52334)
- Fixed an issue where large changes to buffers, or edits in buffers with extremely long lines would cause edit prediction requests to fail. (#51938)
- Fixed an issue where using
@fetchin the agent panel would break if URL contained an@character. (#51953) - Fixed copy marker for copied file being appended in the wrong position of filename. (#48845; thanks pigletfly)
- Fixed branch picker showing parent repository's branch instead of the nested repository's branch when working in submodules or nested git repos. (#51898; thanks Caio-Ze)
- Fixed code folding incorrectly collapsing when multiline strings or block comments contained unindented content. (#50049; thanks ryan-m-walker)
- Fixed deleted files persisting in project search results. (#50551; thanks Dnreikronos)
- Fixed documentation tooltip reappearing after editor regains focus. (#48924; thanks feeiyu)
- Fixed git panel context menu jitter caused by keybinding dispatch context flickering when right-clicking on tracked files. (#52217; thanks Dnreikronos)
- Fixed image context mentions always showing
Imageinstead of the actual filename when pasting from Finder or using the image picker in the Agent Panel. (#52082; thanks monkey-mode) - Fixed IME composition on macOS in Vim insert mode so multi-stroke keybindings like
jjwork correctly. (#52192; thanks kouphasi) - Fixed incorrect worktree root when
settings.jsonis a symlink on Windows. (#51453; thanks bryanpth) - Fixed indent-based code folding to display the closing delimiter (
},),]) on the same line as the fold placeholder instead of on a separate line. (#50090; thanks Dnreikronos) - Fixed line wrapping splitting words at typographic apostrophes (e.g., "won't" breaking as "won" / "'t"). (#51973)
- Fixed loading environment variables when nushell is used as shell. (#51420; thanks NotLebedev)
- Fixed rainbow brackets in Markdown when quotes caused parentheses to match incorrectly. (#52107; thanks kaikozlov)
- Fixed stale diagnostic data persisting after file reloads, server restarts, and filesystem entry removals. (#49333; thanks ArthurDEV44)
- Fixed the first line of terminal output sometimes missing in Agent Panel terminal blocks. (#52111; thanks Dnreikronos)
- Fixed the tooltip on the terminal dock icon. (#52357; thanks msmolkin)
- Fixed window title displaying garbled characters (e.g., "Zed â██ Settings") on Linux X11 due to missing UTF-8 encoding for the
_NET_WM_NAMEproperty. (#51909; thanks Vastargazing) - Fixed find-and-replace (
Ctrl+H) to focus the replacement input instead of the search bar when opened. (#51061; thanks CCXLV) - Fixed a crash (index out of bounds) during editor rendering when block decorations repeatedly resize, exhausting the recursive prepaint budget. (#49664; thanks jean-humann)
- Fixed the error message on compilation of regular expressions containing variable-length lookbehind assertions. (#51549; thanks prertik)
- Fixed "No Apps Available" dialog when opening URIs on Linux/Wayland. (#49752; thanks tahayvr)
- Fixed inline assistant 400 errors for GPT-4.1, Gemini, and other non-Anthropic models via the copilot_chat provider (
tool_choicewas sending"any"instead of"required"). (#52015; thanks Vastargazing) - Fixed git panel status icons still showing when
git_panel.status_styleis set tolabel_color. (#51947; thanks Vastargazing) - Fixed
action::Sequencekeybindings not working in the Rules Library window. (#51890; thanks Dnreikronos) - Fixed macOS font rendering being clipped when using
.SystemUIFont. (#47001; thanks huacnlee)
Breaking Changes and Notices
- Removed the experimental rodio audio backend. (#51945)
- Removed support for using the Sweep AI edit prediction provider through their proprietary API, as the servers are shutting down. (#52348)
- Changed edited buffers to be saved before running a task. This can be configured with the new "save" field in
tasks.json. (#48861; thanks abenea) - Changed
{ "autosave": "on_focus_change" }to now always save on focus loss, except when activating the command palette in Vim/Helix mode. (#51949)
0.229.0
Mar 25, 2026
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, pinch-to-zoom in the image viewer, and an easier way to unbind default key bindings.
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. Enable with
git_panel.show_count_badge(off by default). (#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 support for unbinding key bindings from the default keymap. (#52047)
You can now remove default bindings you don't want, without having to re-declare default bindings that use the same keys. For instance, to unbind
tabfromeditor: accept edit prediction, you can put the following in yourkeymap.json:Deleting or editing default bindings in the keymap editor will now unbind the default bindings, rather than binding them to[ { "context": "Editor && edit_prediction", "unbind": { "tab": "editor::AcceptEditPrediction" } } ]null/zed::NoAction. - 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 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)
- Copilot Chat: Fixed subagent requests being marked as user requests. (#52350)
- DeepSeek: Fixed issue with tool calling (
An assistant message with 'tool_calls' must be followed by tool messages responding to each 'tool_call_id'...). (#52199) - 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)
- 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 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 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)
- Fixed highlight tree view usability. (#51927)
Breaking Changes and Notices
Replaced the edit_prediction_conflict key context with edit_prediction && (showing_completions || in_leading_whitespace).
The edit_prediction context is now available whenever a prediction is present, rather than being mutually exclusive with edit_prediction_conflict.
This change will be migrated automatically, however, will be a breaking change if you previously depended on edit_prediction and edit_prediction_conflict being mutually exclusive.
Additionally, the default behavior now uses edit_prediction && showing_completions (without in_leading_whitespace), meaning tab will accept a completion rather than inserting a literal tab when the cursor is in leading whitespace and a prediction is present.
If you previously customized your edit prediction keybindings, you can likely simplify your keymap.json significantly using "unbind" - see the docs.