6967c17
Fix ACP permission request with new tool calls (#37182)
Click to expand commit body
Release Notes:
- Gemini integration: Fixed a bug with permission requests when
`always_allow_tool_calls` is enabled
Agus Zubiaga
created
92f4a15
acp: Improve error reporting and log more information when failing to launch gemini (#37178)
Click to expand commit body
In the case where we fail to create an ACP connection to Gemini, only
report the "unsupported version" error if the version for the found
binary is at least our minimum version. That means we'll surface the
real error in this situation.
This also fixes incorrect sorting of downloaded Gemini versions--as @kpe
pointed out we were effectively using the version string as a key. Now
we'll correctly use the parsed semver::Version instead.
Release Notes:
- N/A
50d7369
acp: Use the custom claude installation to perform login (#37169)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: morgankrey <morgan@zed.dev>
Antonio Scandurra
,
Bennet Bo Fenner
,
Agus Zubiaga
,
Nathan Sobo
,
Cole Miller
, and
morgankrey
created
ffa9a78
Require authorization for MCP tools (#37155)
Click to expand commit body
Release Notes:
- Fixed a regression that caused MCP tools to run without requesting
authorization first.
Antonio Scandurra
created
a02e0d0
Always enable acp accept/reject buttons for now (#37121)
Click to expand commit body
We have a bug in our ACP implementation where sometimes the
Accept/Reject buttons are disabled (and stay disabled even after the
thread has finished). I haven't found a complete fix for this yet, so in
the meantime I'm putting out the fire by making it so those buttons are
always enabled. That way you're never blocked, and the only consequence
of the bug is that sometimes they should be disabled but are enabled
instead.
Release Notes:
- N/A
Richard Feldman
created
d304e04
acp: Support automatic installation of Claude Code (#37120)
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Closes #ISSUE
Release Notes:
- N/A
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Conrad Irwin
and
Antonio Scandurra
created
593c644
Disable Expert language server by default for Elixir (#37126)
Click to expand commit body
This PR updates the language server configuration for Elixir and HEEx to
not start the [Expert](https://github.com/elixir-lang/expert) language
server by default.
While Expert is the official Elixir language server, it is still early,
so we don't want to make it the default just yet.
Release Notes:
- Updated the default Elixir and HEEx language server settings to not
start the Expert language server.
Marshall Bowers
created
138b23b
acp: Install new versions of agent binaries in the background (#37141)
Click to expand commit body
Release Notes:
- acp: New releases of external agents are now installed in the
background.
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Cole Miller
and
Conrad Irwin
created
9a4a332
acp: Load agent panel even if serialized config is bogus (#37134)
e61e782
acp: Automatically install gemini under Zed's data dir (#37054)
Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/37089
Instead of looking for the gemini command on `$PATH`, by default we'll
install our own copy on demand under our data dir, as we already do for
language servers and debug adapters. This also means we can handle
keeping the binary up to date instead of prompting the user to upgrade.
Notes:
- The download is only triggered if you open a new Gemini thread
- Custom commands from `agent_servers.gemini` in settings are respected
as before
- A new `agent_servers.gemini.ignore_system_version` setting is added,
similar to the existing settings for language servers. It's `true` by
default, and setting it to `false` disables the automatic download and
makes Zed search `$PATH` as before.
- If `agent_servers.gemini.ignore_system_version` is `false` and no
binary is found on `$PATH`, we'll fall back to automatic installation.
If it's `false` and a binary is found, but the version is older than
v0.2.1, we'll show an error.
Release Notes:
- acp: By default, Zed will now download and use a private copy of the
Gemini CLI binary, instead of searching your `$PATH`. To make Zed search
your `$PATH` for Gemini CLI before attempting to download it, use the
following setting:
```
{
"agent_servers": {
"gemini": {
"ignore_system_version": false
}
}
}
```
Cole Miller
created
f98d1d6
Have ACP respect always_allow_tool_actions (#37104)
Click to expand commit body
Release Notes:
- ACP agents now respect the always_allow_tool_actions setting
Richard Feldman
created
25c8bb7
agent2: Fix model deduplication to use provider ID and model ID (#37088)
Click to expand commit body
Closes #37043
Previously claude sonnet 4 was missing from copilot as it was colliding
with zed's claude-sonnet-4 model id. Now we do deduplication based upon
model and provider id both.
| Before | After |
|--------|--------|
| <img width="784" height="950" alt="CleanShot 2025-08-28 at 18 31
28@2x"
src="https://github.com/user-attachments/assets/d49d5a17-7271-417d-bb5e-bc380071e810"
/> | <img width="720" height="876" alt="CleanShot 2025-08-28 at 18 31
42@2x"
src="https://github.com/user-attachments/assets/a5100c05-994e-4e19-ab20-34c0258b977c"
/> |
Release Notes:
- Fixed an issue where models with the same ID from different providers
(such as Claude Sonnet 4 from both Zed and Copilot) were incorrectly
deduplicated in the model selector—now all variants are shown.
Umesh Yadav
created
a5bb868
acp: Don't cancel editing when scrolling message out of view (#37020)
Click to expand commit body
Release Notes:
- agent: Fixed a bug that canceled editing when scrolling the user
message out of view.
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Antonio Scandurra
and
Bennet Bo Fenner
created
1c37b7e
acp: Add more logs to model selector to diagnose issue (#36997)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
Co-authored-by: Katie Geer <katie@zed.dev>
Bennet Bo Fenner
,
Antonio Scandurra
,
Cole Miller
,
Joseph T. Lyons
, and
Katie Geer
created
159c78a
language_models: Fix tool calling for `x-ai/grok-code-fast-1` model via OpenRouter (#37094)
Click to expand commit body
Closes #37022
Closes #36994
This update ensures all Grok models use the JsonSchemaSubset format for
tool schemas.
A previous fix for this issue was too specific, only targeting grok-4
models. This caused other variants, like grok-code-fast-1, to be missed.
We've now broadened the logic to correctly apply the setting to the
entire Grok model family.
Release Notes:
- Fix tool calling for `x-ai/grok-code-fast-1` model via OpenRouter.
b2c63ed
acp: Fix model selector sometimes showing no models (#37006)
Click to expand commit body
Release Notes:
- acp: Fix an issue where the model selector would sometimes be empty
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Bennet Bo Fenner
and
Antonio Scandurra
created
33b54e3
acp: Fix gemini process being leaked (#37012)
Click to expand commit body
Release Notes:
- acp: Fixed a bug that caused external agent server subprocesses to be
leaked.
---------
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Cole Miller
,
Agus Zubiaga
,
Bennet Bo Fenner
, and
Antonio Scandurra
created
9df0b3a
acp: Fix model selector sometimes showing no models
Bennet Bo Fenner
created
ae82fda
Restore token count for text threads (#36989)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Antonio Scandurra
and
Bennet Bo Fenner
created
b7add80
Ensure we use the new agent when opening the panel for the first time (#36988)
- **Pass --engine-strict to gemini install command**
- **Make it clearer that if upgrading fails, you need to fix i**
Closes #ISSUE
Release Notes:
- N/A
This is a pure refactor that consolidates all SSH remoting logic such
that it should be straightforward to add another transport to the
remoting system.
Release Notes:
- N/A
---------
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Max Brunsfeld
and
Mikayla Maki
created
d713390
Add get stable channel release notes script (#36969)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
9614b72
thread view: Add one more UI clean up pass (#36965)
Closes #36300
This PR follows Windows conventions by introducing
`KeybindingKeystroke`, so shortcuts now show up as `ctrl-shift-4`
instead of `ctrl-$`.
It also fixes issues with keyboard layouts: when `use_key_equivalents`
is set to true, keys are remapped based on their virtual key codes. For
example, `ctrl-\` on a standard English layout will be mapped to
`ctrl-ё` on a Russian layout.
Release Notes:
- N/A
---------
Co-authored-by: Kate <kate@zed.dev>
张小白
and
Kate
created
b1b60bb
Work around duplicate ssh projects in workspace migration (#36946)
Click to expand commit body
Fixes another case where the sqlite migration could fail, reported by
@SomeoneToIgnore.
Release Notes:
- N/A
Max Brunsfeld
created
0e575b2
helix: Fix `buffer search: deploy` reset to normal mode (#36917)
Click to expand commit body
## Fix: Preserve Helix mode when using search
### Problem
When using `buffer search: deploy` in Helix mode, pressing Enter to
dismiss the search incorrectly returned to Vim NORMAL mode instead of
Helix NORMAL mode.
### Root Cause
The `search_deploy` function was resetting the entire `SearchState` to
default values when buffer search: deploy was activated. Since the
default `Mode` is `Normal`, this caused `prior_mode` to be set to Vim's
Normal mode regardless of the actual mode before search.
### Solution
Modified `search_deploy` to preserve the current mode when resetting
search state:
- Store the current mode before resetting
- Reset search state to default
- Restore the saved mode to `prior_mode`
This ensures the editor returns to the correct mode (Helix NORMAL or Vim
NORMAL) after dismissing buffer search.
### Settings
I was able to reproduce and then test the fix was successful with the
following config and have also tested with vim: default_mode commented
out to ensure that's not influencing the mode selection flow:
```
"helix_mode": true,
"vim_mode": true,
"vim": {
"default_mode": "helix_normal"
},
```
This is on Kubuntu 24.04.
The following test combinations pass locally:
- `cargo test -p search`
- `cargo test -p vim`
- `cargo test -p editor`
- `cargo test -p workspace`
- `cargo test -p gpui -- vim`
- `cargo test -p gpui -- helix`
Release Notes:
- Fixed Helix mode switching to Vim normal mode after using `buffer
search: deploy` to search
Closes #36872
`zed::OpenProjectTasks` without an existing tasks.json will recreate it
from the template.
This file will immediately show a warning.
<img width="810" height="168" alt="Screenshot 2025-08-19 at 17 16 07"
src="https://github.com/user-attachments/assets/bbc8c7a0-7036-4927-8e85-b81b79aeaacb"
/>
Release Notes:
- N/A
Peter Tripp
created
76dbcde
Support disabling drag-and-drop in Project Panel (#36719)
Click to expand commit body
Release Notes:
- Added setting for disabling drag and drop in project panel. `{
"project_panel": {"drag_and_drop": false } }`
Peter Tripp
created
aa0f7a2
Fix conflicts in Linux default keymap (#36519)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/29746
| Action | New Key | Old Key | Former Conflict |
| - | - | - | - |
| `edit_prediction::ToggleMenu` | `ctrl-alt-shift-i` | `ctrl-shift-i` |
`editor::Format` |
| `editor::ToggleEditPrediction` | `ctrl-alt-shift-e` | `ctrl-shift-e` |
`project_panel::ToggleFocus` |
These aren't great keys and I'm open to alternate suggestions, but the
will work out of the box without conflict.
Release Notes:
- N/A
Peter Tripp
created
372b3c7
acp: Enable feature flag for everyone (#36928)
Click to expand commit body
Release Notes:
- N/A
Bennet Bo Fenner
created
10a1140
acp: Improve matching logic when adding new entry to agent_servers (#36926)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Bennet Bo Fenner
and
Antonio Scandurra
created
b249593
agent2: Always finalize diffs from the edit tool (#36918)
Click to expand commit body
Previously, we wouldn't finalize the diff if an error occurred during
editing or the tool call was canceled.
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>