Commit log

3f1a3c1 zed 0.202.5

Peter Tripp created

cee3c53 Fix race condition between feature flag and deserialization (#37381)

Click to expand commit body
Right now if you open Zed, and we deserialize an agent that's behind a
feature flag (e.g. CC), we don't restore it because the feature flag
check hasn't happened yet at the time we're deserializing (due to auth
not having finished yet).

This is a simple fix: assume that if you had serialized it in the first
place, you must have had the feature flag enabled, so go ahead and
reopen it for you.

Release Notes:

- N/A

Richard Feldman created

65f076c acp: Display slash command hints (#37376)

Click to expand commit body
Displays the slash command's argument hint while it hasn't been
provided:


https://github.com/user-attachments/assets/f3bb148c-247d-43bc-810d-92055a313514


Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Agus Zubiaga and Bennet Bo Fenner created

288a2eb acp: Add support for slash commands (#37304)

Click to expand commit body
Depends on
https://github.com/zed-industries/agent-client-protocol/pull/45

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>

Bennet Bo Fenner , Antonio Scandurra , and Agus Zubiaga created

b51a8eb ACP Terminal support (#37129)

Click to expand commit body
Exposes terminal support via ACP and migrates our agent to use it.

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Agus Zubiaga and Bennet Bo Fenner created

cc5af08 Inject venv environment via the toolchain (#36576)

Click to expand commit body
Instead of manually constructing the venv we now ask the python
toolchain for the relevant information, unifying the approach of vent
inspection

Fixes https://github.com/zed-industries/zed/issues/27350

Release Notes:

- Improved the detection of python virtual environments for terminals
and tasks in remote projects.

Lukas Wirth created

49f48dc language_models: Fix GitHub Copilot thread summary by removing unnecessary noop tool logic (#37152)

Click to expand commit body
Closes #37025 

This PR fixes GitHub Copilot thread summary failures by removing the
unnecessary `noop` tool insertion logic. The code was originally added
as a workaround in https://github.com/zed-industries/zed/pull/30007 for
supposed GitHub Copilot API issues when tools were used previously in a
conversation but no tools are provided in the current request. However,
testing revealed that this scenario works fine without the workaround,
and the `noop` tool insertion was actually causing "Invalid schema for
function 'noop'" errors that prevented thread summarization from
working. Removing this logic eliminates the errors and allows thread
summarization to function correctly with GitHub Copilot models.

The best way to see if removing that part of code works is just
triggering thread summarisation.

Error Log:
```
2025-08-27T13:47:50-04:00 ERROR [workspace::notifications] "Failed to connect to API: 400 Bad Request {"error":{"message":"Invalid schema for function 'noop': In context=(), object schema missing properties.","code":"invalid_function_parameters"}}\n"
```

Release Notes:

- Fixed GitHub Copilot thread summary failures by removing unnecessary
noop tool insertion logic.

Umesh Yadav created

c7080e4 language_models: Fix `grok-code-fast-1` support for Copilot (#37116)

Click to expand commit body
This PR fixes a deserialization issue in GitHub Copilot Chat that was
causing warnings when encountering xAI models from the GitHub Copilot
API and skipping the Grok model from model selector.

Release Notes:

- Fixed support for xAI models that are now available through GitHub
Copilot Chat.

Umesh Yadav created

cc5fae9 zed 0.202.4

Cole Miller created

4d01b76 agent: Re-add workaround for language model behavior with empty tool result (#37196)

Click to expand commit body
This is just copying over the same workaround here:


https://github.com/zed-industries/zed/blob/a790e514af4d6957aa1a14cc8190b2ff24a0484c/crates/agent/src/thread.rs#L1455-L1459

Into the agent2 code.

Release Notes:

- agent: Fixed an issue where some tool calls in the Zed agent could
return an error like "`tool_use` ids were found without `tool_result`
blocks immediately after"

Cole Miller created

ce02bfc bedrock: Inference Config updates (#35808)

Click to expand commit body
Fixes #36866

- Updated internal naming for Claude 4 models to be consistent.
- Corrected max output tokens for Anthropic Bedrock models to match docs

Shoutout to @tlehn for noticing the bug, and finding the resolution.

Release Notes:

- bedrock: Fixed inference config errors causing Opus 4 Thinking and
Opus 4.1 Thinking to fail (thanks [@tlehn](https://github.com/tlehn) and
[@5herlocked](https://github.com/5herlocked])
- bedrock: Fixed an issue which prevented Rules / System prompts not
functioning with Bedrock models (thanks
[@tlehn](https://github.com/tlehn) and
[@5herlocked](https://github.com/5herlocked])

Shardul Vaidya created

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

Cole Miller created

7864f76 zed 0.202.3

Joseph T. Lyons created

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)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

e1dc736 acp: Bump to 0.1.1 (#37119)

Click to expand commit body
No big changes, just tracking the latest version after the official
release

Release Notes:

- N/A

Ben Brandt created

d25b5d5 Add support for Claude Code auth (#37103)

Click to expand commit body
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)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

7771cfa Cherry pick #37052 onto preview (#37115)

Click to expand commit body
Co-authored-by: Julia <julia@zed.dev>

Michael Sloan and Julia created

0d45870 zed 0.202.2

Joseph T. Lyons created

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.

Umesh Yadav created

ccba82a zed 0.202.1

Cole Miller created

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)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

adbf063 acp: Upgrade errors (#36980)

Click to expand commit body
- **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

Conrad Irwin created

4b2355e v0.202.x preview

Joseph T. Lyons created

e6e6401 acp: Require gemini version 0.2.0 (#36960)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

d0aef3c thread view: Fix cut-off review button (#36970)

Danilo Leal created

1eae76e Restructure remote client crate, consolidate SSH logic (#36967)

Click to expand commit body
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)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

d7c7359 Add xAI's Grok Code Fast 1 model (#36959)

Click to expand commit body
Release Notes:

- Add the `grok-code-fast-1` model to xAI's list of available models.

Daniel Dye created

d884719 thread view: Adjust thinking block UI (#36958)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Danilo Leal and Conrad Irwin created

bd4e943 acp: Add onboarding modal & title bar banner (#36784)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Danilo Leal and Bennet Bo Fenner created

c5d3c7d thread view: Improve agent installation UI (#36957)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Danilo Leal and Conrad Irwin created

fff0ece windows: Fix keystroke & keymap (#36572)

Click to expand commit body
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