e0212b8
acp: Add beta label to ACP registry (#47369)
Click to expand commit body
Release Notes: - N/A
Ben Brandt created
e0212b8
acp: Add beta label to ACP registry (#47369)
Release Notes: - N/A
Ben Brandt created
03a5f7b
acp_thread: Rename resume to retry (#47370)
Changing the name to better capture what this message does and also avoid confusion with the actual session/resume method in ACP Release Notes: - N/A
Ben Brandt created
29b9174
Add `ep import-batch` to download finsihed Anthropic batches (#47364)
Release Notes: - N/A
Oleksiy Syvokon created
b082481
project_panel: Show Reveal in File Manager on wsl (#47288)
Assimilates https://github.com/zed-industries/zed/pull/46856 and adds support for reveal file manager in the project panel on wsl. Closes https://github.com/zed-industries/zed/pull/46856 Release Notes: - Fixed "Reveal in File Manager" not working for WSL remote connections on Windows. - Show "Reveal in File Manager" in the project panel context menu on WSL --------- Co-authored-by: Max Malkin <maxim_malkin@outlook.com>
Lukas Wirth and Max Malkin created
071b3d9
acp: Optimize registry refresh (#47367)
Before we were checking it even if you weren't using registry agents. Now happens less frfrequently, and only when you are actually using registry agents. Release Notes: - N/A
Ben Brandt created
21fbceb
workspace: Add close project menu item (#47365)
cc https://github.com/zed-industries/zed/discussions/42163 Release Notes: - Added a menu item to close the current project, going back to a clean window state
Lukas Wirth created
c35d1da
acp: Support the session_info_update notification (#47363)
Release Notes: - N/A
Ben Brandt created
8db954a
agent_ui: Defer spawning agents until the agent panel has been opened (#47355)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
2be94ce
fs: Use public-api-only tests (#47149)
This reduces time needed to build tests for fs from 1.2s to 0.6s. Release Notes: - N/A
Piotr Osiewicz created
1f4741c
worktree: Use public-api-only tests (#47152)
- **settings: Do not leak type serialization into downstream crates** - **worktree: Separate integration tests into separate target** Release Notes: - N/A
Piotr Osiewicz created
67e0cec
agent_ui: Fix message editor stealing focus from other panels (#47321)
Closes https://github.com/zed-industries/zed/issues/41278, https://github.com/zed-industries/zed/issues/45576, https://github.com/zed-industries/zed/issues/46513 Release Notes: - Fixed message editor stealing focus (so the "Open Recent Project" modal stays open) This issue has been driving me insane haha. _Note: This is my first code contribution to this project. Please be kind and let me know if I have missed something. I tested this fix on my machine and it works. Tests are passing on my device. I have agreed to the Zed Contributor License and Feedback Agreement with my Zed Account that's linked to the same email as this GitHub account._
Fabian Szabo created
618f848
git: Side-by-side diff UI (#47349)
This PR implements a UI for the side-by-side diff, using blocks to align the two sides and adding a coherent `SplitEditorElement`. Release Notes: - N/A --------- Co-authored-by: cameron <cameron.studdstreet@gmail.com> Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Cole Miller , cameron , Anthony Eid , and Zed Zippy created
7adb97a
User-defined slash commands (#46815)
## Summary Implements user-defined slash commands for the agent panel. Users can create markdown files in `~/.config/zed/commands/` (user-wide) or `.zed/commands/` (project-specific) that expand into templated text when invoked via `/command_name` in the chat interface. ## Features - **File-based commands**: Create `.md` files that become slash commands - **Template expansion**: Use `$1`, `$2`, etc. for positional arguments, or `$ARGUMENTS` for all args - **Namespacing**: Subdirectories create namespaced commands (e.g., `frontend/component.md` → `/frontend:component`) - **Project & user scopes**: Project commands in `.zed/commands/`, user commands in config dir - **Claude compatibility**: Can symlink `~/.claude/commands/` for compatibility - **Caching**: Commands are cached and watched for file changes - **Error handling**: Graceful degradation with error display in UI ## Feature Flag Behind `user-slash-commands` feature flag. ## Testing 52 unit/integration tests covering parsing, validation, expansion, file loading, symlinks, and error handling. --- Release Notes: - N/A (behind feature flag) --------- Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Richard Feldman and Zed Zippy created
9ac94ce
extension_rollout: Add support for renaming and deleting files (#47329)
This is in preparation for removing one of the files in favor of having just one larger one (and perhaps renaming that in the future). Release Notes: - N/A
Finn Evers created
d42fe0b
Fix Visual mode flip on project search (#44284)
Previously, when project search results first appeared, vim would incorrectly switch to Visual mode. This happened because vim settings (including `collapse_matches`) weren't synced to an editor until it received focus. Since the results editor wasn't focused when the first match was selected, the selection wasn't collapsed, causing vim to interpret it as a visual selection. Now vim settings are synced immediately when vim activates on an editor, ensuring `collapse_matches` is set before any selections are made. Closes #43878 Release Notes: - Fixed vim mode incorrectly switching to Visual mode on first project search --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
MostlyK and dino created
59738a7
Support zooming and panning in the image viewer (#43944)
Implemented Pan and Zoom on the Image Viewer. Demo: https://github.com/user-attachments/assets/855bafe8-fdc2-4945-9bfb-e48382264806 Closes #9584 Release Notes: - Add zoom in/out, reset, fit-to-view and zoom-to-actual actions - Support scroll-wheel zoom with modifier, click-and-drag panning - Renders a zoom percentage overlay. - ImageView Toolbar Added to control zoom in/out and fit view. --------- Co-authored-by: MrSubidubi <finn@zed.dev>
MostlyK and MrSubidubi created
01160a7
extension_ci: Remove rollout exclusion list (#47315)
The last extension has now been migrated to the new workflows and with that, the entire zed-extensions org now uses the centralized workflows 🎉 Given this, we can now remove the exclusion list and - as a little bonus - also rollout changes automatically to the repository hosting the shared workflows. Release Notes: - N/A
Finn Evers created
e24c819
prompt_store: Fix deleted rules from the rules library being restored after restart (#47323)
Closes #40648 When deleting a prompt from the rules library, we now also delete it from the legacy V1 database tables (if they exist). Previously, the V1 data would persist and get re-migrated on the next startup. Release Notes: - Fixed an issue where deleted rules from the rules library were getting restored after a restart.
Smit Barmase created
54114d2
ep_cli: Chunk teacher prediction requests to Anthropic batch API (#47318)
Closes #ISSUE We're hitting request size limits on the new larger dataset, so we need to do pre-batching. A 16k chunk size was chosen arbitrarily but seems to be a good tradeoff between number of chunks / within request size limit Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
6354334
language_models: Remove `open-ai-reponses-api` feature flag (#47317)
This PR removes the `open-ai-responses-api` feature flag and makes it so all OpenAI requests to the Zed provider use the Responses API. We've been running this in Nightly/Preview for a week now without any issues. Closes CLO-104. Release Notes: - N/A
Marshall Bowers created
901fe23
Pop end row if the end is equal to the starting sticky row (#47314)
Closes #47307 In markdown, the outline item for a heading actually ends on the same row as the next outline item (see #47307 for the visual glitch). This change makes it so that the end row calculation accounts for that, and you don't have two different display points where content is potentially scrolling out of view. Fixed visually: https://github.com/user-attachments/assets/e0a7e57a-fd41-4484-87e9-ac3e51d0b927 Release Notes: - Fixed a visual glitch with sticky scroll headers in markdown
KyleBarton created
851ab29
ep: Update teacher prompt to avoid undoing user edits (#47313)
Release Notes: - N/A
Oleksiy Syvokon created
049da46
Bump Zed to v0.222 (#47305)
Release Notes: - N/A
Joseph T. Lyons created
6b5c06e
Add a streaming edit file tool (#47244)
Release Notes: - N/A
Michael Benfield created
e1e7676
ui: Improve performance in the `CopyButton` component (#47292)
This PR improves the performance of the `CopyButton` component by tracking the copied state locally through a `CopyButtonState` struct instead of making an OS call every time the component re-renders. Also pushing a slight improvement here by resetting the state after two seconds so as to make the check mark go away after you clicked to copy. Release Notes: - N/A
Danilo Leal created
099650f
ep: Check whether predictions worsen brace balance (#47301)
Release Notes: - N/A
Oleksiy Syvokon created
40fe799
Use arithmetic expansion instead of `expr` in `./script/clear-target-dir-if-larger-than` (#47298)
Fixes CI failures when the target dir is 0GB in size, which causes `expr` to output a non-zero exit code per the posix spec. See exit status section of https://www.man7.org/linux/man-pages/man1/expr.1p.html Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
8fb5587
agent_ui: Alphabetically sort edited files in the panel & review view (#47300)
This makes the ordering of files consistent with the Git diff view. Release Notes: - N/A
Danilo Leal created
1b0771e
agent_ui: Improve UI for subagent calls (#47299)
- Improves spacing between consecutive calls - Only show disclosure button (i.e., ability to expand the card) when there's actual content - Fix font size being bigger than the actual thread - Add gradient overlay to communicate that you can't scroll within the card (expanding the subagent call will allow that in the near future) Here's the result of it all, roughly: <img width="600" height="890" alt="Screenshot 2026-01-21 at 12 26@2x" src="https://github.com/user-attachments/assets/e5e4a544-611d-48f5-b00d-f69e869726c5" /> Release Notes: - N/A
Danilo Leal created
1103f3b
acp: Allow running NPM agents from registry (#47291)
Release Notes: - N/A
Ben Brandt created
69ea59d
agent_servers: Don't fill in unneeded fields in settings when auto-adding new agent servers (#47293)
Adding some serde magic to avoid adding a bunch of empty fields to the settings file. Release Notes: - N/A
Ben Brandt created
db37fb0
themes: Fix One Light terminal cyan color (#45691)
Closes #45075 The cyan terminal colors in One Light were incorrectly set to the same values as green, making them indistinguishable. This was introduced in https://github.com/zed-industries/zed/pull/44912 Release Notes: - Fixed terminal cyan color displaying as green in One Light theme
Mateo Kruk created
5e1b7ae
agent_ui: Fix keybinding conflict with editing queued messages (#47290)
This PR fixes `shift-e` being used for triggering edits in queued messages, which breaks writing simple capital E in the editor. Release Notes: - N/A
Danilo Leal created
5751aeb
languages: Fix `poetry` environment discovery on Linux (#47100)
Closes #47098 The root cause of this issue is related to how `Poetry` (and the upstream `pet-poetry` library) handles path hashing. While perhaps it's an upstream behavior, we can easily fix it on the Zed side. The related code are https://github.com/zed-industries/zed/blob/7ce845210d3af82a57a7518e0abe8c167d60cc6a/crates/languages/src/python.rs#L1181-L1211 In my debugging, I found that `worktree_root` takes the form `/home/user/project`, but `config.workspace_directories` often ends up as `/home/user/project/`(with a trailing slash). Normally this wouldn't be an issue, but `Poetry` generates environment names based on the hash of the absolute path. Since the hashes for `/home/user/project` and `/home/user/project/` are different, `pet-poetry` fails to find the environment. The fix is straightforward: we just need to ensure the trailing `/` is removed so the hashes match. Release Notes: - Fixed poetry environment not discovered on linux
Xin Zhao created
ed29b46
project_panel: Fix "Add Folder to Project" menu hidden on remote projects (#47283)
Fixes an unintended behavioral change from #40838. Release Notes: - Fixed "Add Folder to Project" and "Remove from Project" menu items being incorrectly hidden on remote projects.
Smit Barmase created
a53017c
ep: Don't compute n-grams for regions that match exactly (#47281)
This makes delta-chrF computation ~50 faster. Release Notes: - N/A
Oleksiy Syvokon created
a608ee6
remote_server: Fix remote project search include/exclude filters for multiple worktrees (#47280)
Closes #45772 Release Notes: - Fixed project search include/exclude filters not working correctly in remote project with multiple folders.
Smit Barmase created
b22d129
acp: Filter out built-in agents from the registry (#47279)
Release Notes: - N/A
Ben Brandt created
6ab03c6
onboarding: Fix theme picker always updating theme based on system appearance (#47245)
The settings store separate themes for Light and Dark modes. When the user clicks a theme, the code uses the system appearance to decide which to update, rather than the mode the user selected in the UI. This causes the wrong theme to be saved when the system appearance differs from the selected mode. <img width="746" height="324" alt="image" src="https://github.com/user-attachments/assets/b8f8d937-172d-4da8-b572-4f3db7f1de9a" /> Release Notes: - Fixed onboarding page sometimes rendering the wrong theme --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: MrSubidubi <finn@zed.dev>
Michael Hackner , Claude Opus 4.5 , and MrSubidubi created
7bd3075
open_ai: Support reasoning content (#43662)
Support for Kimi K2 Thinking Release Notes: - Added support for thinking traces when using OpenAI-API-compatible AI providers --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Aero and Bennet Bo Fenner created
5731066
ep: Fix in-place processing (#47274)
Release Notes: - N/A
Oleksiy Syvokon created
67d3804
agent: Allow env overrides for extension and registry agents (#47275)
Align the behavior with built-in and custom agents Release Notes: - N/A
Ben Brandt created
8c8639f
git: Fix buffer diff crash that could occur during the stage all operation (#47265)
Closes https://github.com/zed-industries/zed/issues/46519 This crash happened because we were incorrectly merging pending and unstaged hunks together by always using the pending hunk end offset as the merged hunk bound instead of the max of both hunks. The fix is to use `max()` when updating `buffer_offset_range.end` during pending hunk merging, matching the behavior used for unstaged hunk merging. Release Notes: - N/A
Anthony Eid created
a191444
gpui: Preserve rem_size context for deferred draws (#47263)
Closes #46328 Release Notes: - Fixed agent model selector cutting off models at the end of the list.
Smit Barmase created
21050e2
Fix nested request rate limiting deadlock for subagent edit_file (#47232)
## Problem When subagents use the `edit_file` tool, it creates an `EditAgent` that makes its own model request to get the edit instructions. These "nested" requests compete with the parent subagent conversation requests for rate limiter permits. The rate limiter uses a semaphore with a limit of 4 concurrent requests per model instance. When multiple subagents run in parallel: 1. 3 subagents each hold 1 permit for their ongoing conversation streams (3 permits used) 2. When all 3 try to use `edit_file` simultaneously, their edit agents need permits too 3. Only 1 edit agent can get the 4th permit; the other 2 block waiting 4. The blocked edit agents can't complete, so their parent subagent conversations can't complete 5. The parent conversations hold their permits, so the blocked edit agents stay blocked 6. **Deadlock** ## Solution Added a `bypass_rate_limit` field to `LanguageModelRequest`. When set to `true`, the request skips the rate limiter semaphore entirely. The `EditAgent` sets this flag because its requests are already "part of" a rate-limited parent request. (No release notes because subagents are still feature-flagged.) Release Notes: - N/A --------- Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Richard Feldman and Zed Zippy created
ff35da2
agent_ui: Fix keybinding conflict with action to clean up the queue (#47254)
This PR frees up `shift-backspace` to work as it did before. Now, the action to remove the first queued message is now assigned to the `cmd-shfit-backspace` keybinding, whereas the action to clear the entire message queue is assigned to `cmd-alt-backspace`. Release Notes: - N/A
Danilo Leal created
aa4e94f
docs: Replace ellipsis with proper character (#47250)
Ultra nit PR to test some end-to-end PR creation workflow with AI. Release Notes: - N/A Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Danilo Leal and Claude Haiku 4.5 created
ece66be
docs: Big reorganize (#45276)
Release Notes: - N/A Overview Restructures the documentation navigation to be organized by user goals rather than feature lists. Introduces a new "Working with Code" section and reorganizes existing content into clearer groupings. ### Navigation Changes **New top-level sections:** - **Working with Code** — Groups editing, navigation, and execution features by workflow - **Reference** — Dedicated section for lookup-only content (settings, actions, CLI) - **Coming From...** — Migration guides grouped together **Reorganized sections:** - **Customization** — Renamed from "Configuration," focused on appearance and keybindings - **Account & Privacy** — Consolidated auth, privacy, and telemetry pages New Files | File | Purpose | |------|---------| | `editing-code.md` | Overview page for editing features | | `finding-navigating.md` | Overview page for navigation tools with quick reference | | `running-testing.md` | Overview page for tasks, debugger, and REPL | | `reference/all-settings.md` | Settings reference (moved/renamed) | | `reference/cli.md` | CLI reference (moved) | ### Content Moves | Page | From | To | |------|------|-----| | Snippets | Customization | Working with Code → Editing Code | | Code Completions | (flat) | Working with Code → Editing Code | | Diagnostics | (flat) | Working with Code → Editing Code | | Multibuffers | (flat) | Working with Code → Editing Code | | Command Palette | (flat) | Working with Code → Finding & Navigating | | Outline Panel | (flat) | Working with Code → Finding & Navigating | | Tab Switcher | (flat) | Working with Code → Finding & Navigating | | Tasks | (flat) | Working with Code → Running & Testing | | Debugger | (flat) | Working with Code → Running & Testing | | REPL | (flat) | Working with Code → Running & Testing | | All Settings | Configuration | Reference | | CLI | (various) | Reference --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com> Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Katie Geer , Marshall Bowers , and Zed Zippy created
9c3dc21
Use `anyOf` instead of `oneOf` in keymap schema (#47248)
Closes #ISSUE Resolves some spurious warnings we were seeing in the keymap file due to keybind declarations matching multiple possible shapes which is not allowed with `oneOf` per the json-schema spec Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
cd0b373
ep_cli: Add filter languages subcommand (#47242)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created