Releases

Keep up with the weekly Zed releases.

January

0.220.0

Jan 14, 2026

macOS
Loading…
Loading…
Windows
Loading…
Loading…
Linux
Loading…
Loading…

This week's release includes a unified Git picker (combines branches, worktrees, and stashes), structured outline support for Markdown files, the ability to open local terminals in remote projects, and Agent panel improvements including turn statistics display, line change tracking, and better partial edit recovery.

Features

AI

  • Agent: Added an agent.show_turn_stats setting, default to false, that shows the timer, the number of tokens, and whose turn it is. (#46390)
  • Agent: Improved the UX for discarding partial edits by allowing the user to quickly restore the file to its original content. (#46752)
  • Agent: Made the act of stopping a terminal tool call in the agent panel also cancel the thread generation. (#46663)
  • Agent: Added the total and per-file number of lines added and removed in a thread. (#46454)
  • Agent: Improved the settings configuration page for Ollama to store the current URL value if changed when clicking on "Connect". (#46665)
  • Agent: Changed pressing esc when the agent panel is focused to now interrupt the running thread even if the text input box is not specifically focused. (#46410)
  • Agent: Changed stopping the terminal tool to now capture its output up to that point so the model can see what was running when you stopped it. (#46218, #46306)
  • Agent: Restricted agent server extension icon paths to subdirectories of the extension's root directory. (#44183)
  • Inline Assistant: Added the ability to display messages and will be less likely to insert non-code text. (#46107)
  • Copilot: Added support for jumping to unresolved diagnostics in edit predictions. (#46618)

Git

  • Unified the branch, worktree, and stash pickers into one, making it easier to find and access them from one another. (#46621)

Debugger

  • Added keyboard navigation between the views in the new session picker. (#46662)

Languages

  • Markdown: Added structured outline. (#45643; thanks YuantianDing)
  • Added '#' characters as part of word when double-clicking text in .json and .css files. (#45400; thanks dylwil3)

Terminal

  • Added support for opening local terminals in remote projects via local parameter on terminal commands. (#46532; thanks baldwindavid)

Vim / Helix

  • Improved the % motion to always fall back to text-based bracket matching when language-aware matching fails. (#45559; thanks tacshi)
  • Added vim::SearchUnderCursor and vim::SearchUnderCursorPrevious actions (for * / #) to search under cursor without immediately jumping to the next / previous match. (#46244; thanks a-hariti)
  • Added ability to customize Vim mode foreground. (#46639; thanks everdrone)
  • Added match_quotes parameter to the vim::Matching action to control whether % matches quote characters. (#42615; thanks Kalmaegi)

Windows

  • Improved Windows credential write failures to display the underlying Credential Manager error message instead of the generic "Failed to write API key to keychain", making permission-related issues easier to diagnose. (#46221; thanks cppcoffee)

Other

  • Improved performance of project search in remote projects. (#45245)
  • Added a tab_bar.show_pinned_tabs_in_separate_row setting to display pinned and unpinned tabs in separate rows, giving unpinned tabs full horizontal space. (#46573; thanks yaroslavrick)
  • Added editor: move to {start,end} of larger syntax node actions that move cursors to the start or end of the parent tree-sitter node. (#45331; thanks vamsi10010)
  • Workspace: Improved the UX of working with multiple projects in the same workspace through introducing a project dropdown that more clearly shows the currently active project as well as allowing you to change it. (#46641)
  • Added scrollbar in outline view picker. (#46774; thanks cppcoffee)
  • Added line numbers to the project symbols picker to help distinguish between symbols with the same name. (#46507; thanks aviatesk)
  • Added the ability to right-click the breadcrumb button when it's a file path and copy the path. (#46483)
  • Improved multiline regex behavior. (#46298; thanks Zachiah)
  • Improved editor: delete to previous subword start and editor: delete to next subword end interactions around newlines. You can opt-in into the previous behavior by adding {"ignore_newlines": true} to either action's binds in your keymap. (#46235; thanks RubenFricke)
  • Changed preview tab to become permanent after closing all other tabs. (#46294; thanks mattermoran)

Bug Fixes

  • Linux: Fixed duplicated IME input on Wayland after connecting via Sunshine remotes. (#46560; thanks hebo6)
  • Agent: Fixed external agents not working in docker remotes. (#46778)
  • Agent: Fixed terminal tool for agents ending with connection closed on remote hosts polluting context. (#46458)
  • Agent: Fixed a bug where the button to delete a thread stopped showing up. (#46371)
  • Agent: Fixed a bug where cmd-shift-n could trigger the wrong action due to a keybinding conflict between rejecting all changes in the agent panel and opening a new fresh window. (#46725)
  • Copilot: Fixed Copilot providing suggestions from different Zed windows. (#46618)
  • Markdown: Fixed a bug where sticky scroll wouldn't show the current heading when your cursor was under a heading. (#45643; thanks YuantianDing)
  • Git: Fixed git: branch diff showing incorrect diffs when default local branch is out of sync with the remote default branch. (#46433)
  • Git: Fixed some UI bugs in the worktree picker as well as improved the UX for creating worktrees based off of the current or default branch. (#46407)
  • Git: Fixed a bug where binary files would be displayed as garbled text when viewing an old commit. (#46312)
  • Vim: Fixed subword motion incorrectly jumping to the next line when near the end of a line. (#45908; thanks lionel-)
  • Vim: Fixed subword motions to properly stop at punctuation and handle snake_case, camelCase, and dot.separated identifiers consistently, matching vim's CamelCaseMotion behavior. (#45341; thanks VVill-ga)
  • Vim: Fixed repeat (.) breaking when the recorded action moves focus away from the editor. (#46376)
  • Vim: Fixed :norm command to preserve trailing whitespace in arguments (e.g., :norm I now correctly inserts two spaces). (#46403; thanks AidanV)
  • Vim: Fixed selection drifting slowly to the right when selecting chaotically with the mouse. (#45177)
  • Rust: Fixed diagnostics being stale when working across path dependencies. (#46437)
  • Terminal: Fixed a bug where the integrated terminal's SHLVL (shell nesting level) started at 2 and increased on each workspace reload. (#46273; thanks edlsh)
  • Fixed a crash when pasting after using editor: copy and trim in vim's Visual Line mode. (#46640)
  • Fixed being unable to cancel remote connections while still connecting to the remote server. (#46789)
  • Fixed a memory leak when opening images. (#45969)
  • Fixed an issue where backspace fails to remove the last character of IME marked text in the terminal. (#46224; thanks amtoaer)
  • Fixed IME candidate window and composition text position in terminal when cursor is hidden. (#46592; thanks koh-sh)
  • Fixed UI overlap between IME marked text and terminal content. (#46227; thanks amtoaer)
  • Fixed cmd-c in the agent panel to not include spurious trailing `'s. (#46763)
  • Fixed collab settings sync causing "not trusted" pop ups for client. (#46700)
  • Fixed terminal opening in / instead of home directory when no project is open. (#46582; thanks maxmalkin)
  • Fixed "Failed to load environment variables" after applying an update. (#46367; thanks sourcefrog)
  • Fixed a performance regression that caused lag in large documents. (#46653)
  • Fixed a regression with relative line numbering that would occur with folds present (preview only). (#46658)
  • Fixed a regression where pressing Escape wouldn't immediately cancel in-progress tool operations. (#46527)
  • Fixed Python virtual environments not automatically activating in PowerShell 7. (#46465; thanks lingyaochu)
  • Fixed a visual bug where long LSP version labels would increase the LSP submenu width too much. (#46359)
  • Fixed an issue where settings search missed some results, like "Show Menus" when searching for "menu". (#46349)
  • Fixed a bug where Zed would try to open PDFs, zip files, and other binary files as text. (#46262)
  • Fixed a bug where copying from a multibuffer view (e.g. into the agent panel) used the multibuffer's line numbers instead of the file's actual line numbers. (#46743; thanks kbidlack)
  • Fixed a bug where copying a selection that spans multiple excerpts in a multibuffer returned incorrect line numbers (it now returns no line numbers for that case). (#46743; thanks kbidlack)