Commit log

2d27a1a Bump to 0.202.6 for @agu-z

Zed Bot created

22f6b64 acp: Receive available commands over notifications (#37499)

Click to expand commit body
See: https://github.com/zed-industries/agent-client-protocol/pull/62

Release Notes:

- Agent Panel: Fixes an issue where Claude Code would timeout waiting
for slash commands to be loaded

Co-authored-by: Cole Miller <cole@zed.dev>

Agus Zubiaga and Cole Miller created

6aecc15 acp: Improve handling of invalid external agent server downloads (#37465)

Click to expand commit body
Related to #37213, #37150

When listing previously-downloaded versions of an external agent, don't
try to use any downloads that are missing the agent entrypoint
(indicating that they're corrupt/unusable), and delete those versions,
so that we can attempt to download the latest version again.

Also report clearer errors when failing to start a session due to an
agent server entrypoint or root directory not existing.

Release Notes:

- N/A

Cole Miller created

f40ef20 acp: Display a new version call out when one is available (#37479)

Click to expand commit body
<img width="500" alt="CleanShot 2025-09-03 at 16 13 59@2x"
src="https://github.com/user-attachments/assets/beb91365-28e2-4f87-a2c5-7136d37382c7"></img>

Release Notes:

- Agent Panel: Display a callout when a new version of an external agent
is available

---------

Co-authored-by: Cole Miller <cole@zed.dev>

Agus Zubiaga and Cole Miller created

05d44ca agent: Fix agent panel header not updating when opening a history entry (#37189)

Click to expand commit body
Closes #37171

Release Notes:

- agent: Fixed a bug that caused the agent information in the panel
header to be incorrect when opening a thread from history.

Cole Miller created

829ee03 acp: Fix issue with claude code /logout command (#37452)

Click to expand commit body
### First issue

In the scenario where you have an API key configured in Zed and you run
`/logout`, clicking on `Use Anthropic API Key` would show `Method not
implemented`.

This happened because we were only intercepting the `Use Anthropic API
Key` click if the provider was NOT authenticated, which would not be the
case when the user has an API key set.

### Second issue

When clicking on `Reset API Key` the modal would be dismissed even
though you picked no Authentication Method (which means you still would
be unauthenticated)

---

This PR fixes both of these issues

Release Notes:

- N/A

Bennet Bo Fenner created

ff200db Add onboarding banner for claude code support (#37443)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Bennet Bo Fenner and Danilo Leal created

9a14ca8 acp: Fix handling of single-file worktrees (#37412)

Click to expand commit body
When the first visible worktree is a single-file worktree, we would
previously try to use the absolute path of that file as the root
directory for external agents, causing an error. This PR changes how we
handle this situation: we'll use the root of the first non-single-file
visible worktree if there are any, and if there are none, the parent
directory of the first single-file visible worktree.

Related to #37213

Release Notes:

- acp: Fixed being unable to run external agents when a single file (not
part of a project) was opened in Zed.

Cole Miller created

d8032f5 agent: Update message editor placeholder (#37441)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

91a4d45 agent: Add CC item in the settings view (#37164)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

168ef57 agent2: Fix terminal tool call content not being shown once truncated (#37318)

Click to expand commit body
We render terminals as inline if their content is below a certain line
count, and scrollable past that point. In the scrollable case we weren't
setting a height for the terminal's container, causing it to be rendered
at height 0, which means no lines would be displayed. This PR fixes that
by setting an explicit height for the scrollable case, like we do in the
agent1 UI code.

Release Notes:

- agent: Fixed a bug that caused terminals in the panel to be empty
after their content reached a certain size.

Cole Miller created

16d41fc v0.202.x stable

Peter Tripp created

cb0fa25 Add xAI to supported language model providers (#37206)

Click to expand commit body
After setting a `grok` model via the agent panel, the settings complains
that it doesn't recognize the language model provider:

<img width="1005" height="188" alt="SCR-20250829-tqqd"
src="https://github.com/user-attachments/assets/a25fc7e0-60f0-44fd-96d2-b1cb316d06b6"
/>

Also, sorted the list, in the follow-up commit.

Release Notes:

- N/A

Joseph T. Lyons created

70a471b Nice errors for unsupported ACP slash commands (#37393)

Click to expand commit body
If we get back slash-commands that aren't supported, tell the user that
this is the problem.

Release Notes:

- Improve error messages for unsupported ACP slash-commands

---------

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

Richard Feldman and Conrad Irwin created

b0b7007 agent2: Only setup real client for real models (#37403)

Click to expand commit body
Before we were setting up lots of test setup regardless of if we were
actually going to be making real requests or not.

This will hopefully help with intermittent test errors we're seeing on
Windows in CI.

Release Notes:

- N/A

Ben Brandt created

0858782 ci: Skip Nix for commits on release branches and tags (#37407)

Click to expand commit body
When doing stable/preview releases simultaneously there are two tags and
two branches pushed. Previously nix was attempting 1 job for each. Our
current mac parallelism is 4.
 
Can't easily test this. 🤷 

Release Notes:

- N/A

Peter Tripp created

5df6d44 agent: Fix cut off slash command descriptions (#37408)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

3b2bbef Add option for code context menu items to have dynamic width (#37404)

Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/30598

This PR introduces the `display_options` field in the
`CompletionResponse`, allowing a code context menu width to be
dynamically dictated based on its larger item. This will allow us to
have the @-mentions and slash commands completion menus in the agent
panel not be bigger than it needs to be. It may also be relevant/useful
in the future for other use cases.

For now, we set all instances of code context menus to use a fixed
width, as defined in the PR linked above, which means this PR shouldn't
cause any visual change.

Release Notes:

- N/A

Co-authored-by: Michael Sloan <mgsloan+github@gmail.com>

Danilo Leal and Michael Sloan created

a605bb5 Remote LSP logs (#37083)

Click to expand commit body
Take 2: https://github.com/zed-industries/zed/pull/36709 but without the
very bad `cfg`-based approach for storing the RPC logs.

--------------

Enables LSP log tracing in both remote collab and remote ssh
environments.
Server logs and server RPC traces can now be viewed remotely, and the
LSP button is now shown in such projects too.

Closes https://github.com/zed-industries/zed/issues/28557

Co-Authored-By: Kirill <kirill@zed.dev>
Co-Authored-By: Lukas <lukas@zed.dev>

Release Notes:

- Enabled LSP log tracing in both remote collab and remote ssh
environments

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Lukas Wirth <lukas@zed.dev>

Kirill Bulatov , Ben Kunkle , and Lukas Wirth created

d376483 Handle model refusal in ACP threads (#37383)

Click to expand commit body
If the model refuses a prompt, we now:
* Show an error if it was a user prompt (and truncate it out of the
history)
* Respond with a failed tool call if the refusal was for a tool call

<img width="607" height="260" alt="Screenshot 2025-09-02 at 5 11 45 PM"
src="https://github.com/user-attachments/assets/070b5ee7-6ad6-4a63-8395-f9a5093cc40e"
/>
<img width="607" height="265" alt="Screenshot 2025-09-02 at 5 11 38 PM"
src="https://github.com/user-attachments/assets/98862586-390b-494e-b1f8-71d8341c8d9d"
/>



Release Notes:

- Improve handling of model refusals in ACP threads

Richard Feldman created

76e7c78 acp: Disable external agents over SSH (#37402)

Click to expand commit body
Follow-up to #37377 

Show a clearer error here until SSH support is implemented.

Release Notes:

- N/A

Cole Miller created

5d70933 Disable external agents over collab (#37377)

Click to expand commit body
Release Notes:

- Disable UI to boot external agents in collab projects (as they don't
work)

Conrad Irwin created

4943d4d acp: Enable claude code feature flag for everyone (#37390)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

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