983f660
zed 0.202.8
Peter Tripp created
983f660
zed 0.202.8
Peter Tripp created
6c5a764
acp: Pass project environment to external agent servers (#37568)
Closes #37469 Release Notes: - agent: The project shell environment is now passed to external agent processes. Co-authored-by: Richard Feldman <oss@rtfeldman.com> Co-authored-by: Nia Espera <nia-e@haecceity.cc>
Cole Miller , Richard Feldman , and Nia Espera created
cb40d36
editor: Do not show edit prediction during in-progress IME composition (#37400)
Closes #37249 We no longer show edit prediction when composing IME since it isn't useful for unfinished alphabet. Release Notes: - Fixed edit predictions showing up during partial IME composition.
Smit Barmase created
1e38286
macos: Fix menu bar flickering (#37707)
Closes #37526 Release Notes: - Fixed menu bar flickering when using some IMEs on macOS.
张小白 created
6535a0c
project: Consider all worktrees for activation script search (#37764)
Should fix https://github.com/zed-industries/zed/issues/37734 Release Notes: - Fixed venv not always activating correctly
Lukas Wirth created
a499c63
Add basic PyEnv and pixi support for python environments (#37156)
cc https://github.com/zed-industries/zed/issues/29807 Release Notes: - Fixed terminals and tasks not respecting python pyenv and pixi environments
Lukas Wirth created
e992ce2
linux: Fix IME preedit text not showing in Terminal on Wayland (#37701)
Closes https://github.com/zed-industries/zed/issues/37268 Release Notes: - Fixed an issue where IME preedit text was not showing in the Terminal on Wayland.
Smit Barmase created
a3df364
Disable foreign keys in sqlite when running migrations (#37572)
Closes #37473 Previously, we enabled foreign keys at all times for our sqlite database that we use for client-side state. The problem with this is that In sqlite, `alter table` is somewhat limited, so for many migrations, you must *recreate* the table: create a new table called e.g. `workspace__2`, then copy all of the data from `workspaces` into `workspace__2`, then delete the old `workspaces` table and rename `workspaces__2` to `workspaces`. The way foreign keys work in sqlite, when we delete the old table, all of its associated records in other tables will be deleted due to `on delete cascade` clauses. Unfortunately, one of the types of associated records that can be deleted are `editors`, which sometimes store unsaved text. It is very bad to delete these records, as they are the *only* place that this unsaved text is stored. This has already happened multiple times as we have migrated tables as we develop Zed, but I caused it to happened again in https://github.com/zed-industries/zed/pull/36714. The Sqlite docs recommend a multi-step approach to migrations where you: * disable foreign keys * start a transaction * create a new table * populate the new table with data from the old table * delete the old table * rename the new table to the old name * run a foreign key check * if it passes, commit the transaction * enable foreign keys In this PR, I've adjusted our sqlite migration code path to follow this pattern more closely. Specifically, we disable foreign key checks before running migrations, run a foreign key check before committing, and then enable foreign key checks after the migrations are done. In addition, I've added a generic query that we run *before* running the foreign key check that explicitly deletes any rows that have dangling foreign keys. This way, we avoid failing the migration (and breaking the app) if a migration deletes data that *does* cause associated records to need to be deleted. But now, in the common case where we migrate old data in the new table and keep the ids, all of the associated data will be preserved. Release Notes: - Fixed a bug where workspace state would be lost when upgrading from Zed 0.201.x. or below.
Max Brunsfeld created
7616a4b
Fixed LSP binary info not being shown in full (#37682)
Follow-up of https://github.com/zed-industries/zed/pull/37083 Closes https://github.com/zed-industries/zed/issues/37677 Release Notes: - Fixed LSP binary info not being shown in full
Kirill Bulatov created
ae3a197
linux: Restore ctrl-escape to keymap (#37636)
Closes: https://github.com/zed-industries/zed/issues/37628 Follow-up to: https://github.com/zed-industries/zed/pull/36712 Release Notes: - linux: Fix for ctrl-escape not escaping the tab switcher.
Peter Tripp created
cd9b0b5
zed 0.202.7
Peter Tripp created
3a936ea
acp: Keep diff editors in sync with `AgentFontSize` global (#37559)
Release Notes: - agent: Fixed `cmd-+` and `cmd--` not affecting the font size of diffs.
Cole Miller created
b9c3caa
acp: Don't share API key with Anthropic provider (#37543)
Since Claude Code has it's own preferred method of grabbing API keys, we don't want to reuse this one. Release Notes: - acp: Don't share Anthropic API key from the Anthropic provider to allow default Claude Code login options --------- Co-authored-by: Agus Zubiaga <agus@zed.dev>
Ben Brandt and Agus Zubiaga created
9860ad8
Revert "Remote: Change "sh -c" to "sh -lc" (#36760)" (#37417)
This reverts commit bf5ed6d1c9795369310b5b9d6c752d9dc54991b5. We believe this may be breaking some users whose shell initialization scripts change the working directory. Release Notes: - N/A
Max Brunsfeld created
2d27a1a
Bump to 0.202.6 for @agu-z
Zed Bot created
22f6b64
acp: Receive available commands over notifications (#37499)
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)
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)
<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)
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)
### 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)
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)
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)
Release Notes: - N/A
Danilo Leal created
91a4d45
agent: Add CC item in the settings view (#37164)
Release Notes: - N/A
Danilo Leal created
168ef57
agent2: Fix terminal tool call content not being shown once truncated (#37318)
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)
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)
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)
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)
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)
Release Notes: - N/A
Danilo Leal created
3b2bbef
Add option for code context menu items to have dynamic width (#37404)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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