520bbd2
agent: Add date separators to Thread History (#29961)
Click to expand commit body
Adds time-bucket separators to the thread history list:
https://github.com/user-attachments/assets/c9ac3ec4-b632-4ea5-8234-382b48de2bd6
Note: I'm simulating that Today is next Thursday so that I can show the
"This Week" bucket.
Release Notes:
- agent: Add date separators to Thread History
Agus Zubiaga
created
42894f6
agent: Allow customizing temperature by provider/model (#30033)
Click to expand commit body
Adds a new `agent.model_parameters` setting that allows the user to
specify a custom temperature for a provider AND/OR model:
```json5
"model_parameters": [
// To set parameters for all requests to OpenAI models:
{
"provider": "openai",
"temperature": 0.5
},
// To set parameters for all requests in general:
{
"temperature": 0
},
// To set parameters for a specific provider and model:
{
"provider": "zed.dev",
"model": "claude-3-7-sonnet-latest",
"temperature": 1.0
}
],
```
Release Notes:
- agent: Allow customizing temperature by provider/model
---------
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Agus Zubiaga
,
Max Brunsfeld
, and
Marshall Bowers
created
44ef5bd
Remember max mode setting per-thread and add a user setting (#30042)
Click to expand commit body
Supersedes: https://github.com/zed-industries/zed/pull/29936
Thanks for your contribution @imumesh18, but we had a slightly different
take on it :)
Release Notes:
- N/A
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Mikayla Maki
and
Ben Brandt
created
0670484
agent: Only show the trial upsell in the thread view (#30040)
Click to expand commit body
This PR makes it so we only show the trial upsell in the thread view.
Fixes https://github.com/zed-industries/zed/issues/30037.
Release Notes:
- Agent Beta: Changed the trial upsell to only be visible in the thread
view.
Marshall Bowers
created
ac70f22
Clean up some styling issues in the editing tool card and render the animated lines a bit smaller (#30038)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Nathan Sobo
and
Michael Sloan
created
400a4fa
agent: Add missing Linux keybindings (#30032)
Click to expand commit body
This PR updates the default Linux keybindings to align with changes made
to the macOS bindings in #29943.
Release Notes:
- N/A
6ae2417
Fix token count not appearing for the first message (#30035)
Click to expand commit body
Release Notes:
- N/A
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Mikayla Maki
and
Ben Brandt
created
6cc6acc
Avoid panicking when edit agent emits an empty old_text tag (#30030)
Click to expand commit body
Release Notes:
- Fixed a panic that could sometimes occur when the agent applies edits.
Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra
and
Nathan
created
ca51c0c
agent: Don't render trial upsell when not using the Zed provider (#30029)
Click to expand commit body
This PR makes it so we don't render the trial upsell when not using the
Zed provider.
Release Notes:
- Agent Beta: Changed Zed Pro trial upsell to only be displayed when
using a model through the Zed provider.
Marshall Bowers
created
4da8f4a
agent: Fix "tool cancelled" status being overapplied to failed tool calls (#30021)
Click to expand commit body
Release Notes:
- Agent Beta: Fixed a bug that caused past failed tool calls to
incorrectly display as cancelled by the user.
Cole Miller
created
764c529
agent: Don't render usage callouts when not using the Zed provider (#30025)
Click to expand commit body
This PR makes it so we don't render the usage callouts when not using
the Zed provider.
Release Notes:
- Agent Beta: Changed usage callouts to only be displayed when using a
model through the Zed provider.
Marshall Bowers
created
121e3b5
agent: Handle context servers that do not provide a configuration in MCP setup dialog (#30023)
80a85a3
Fix checkpoints not being rendered (#30019)
Click to expand commit body
Closes #ISSUE
Release Notes:
- Agent Beta: Fixed a bug causing "Restore Checkpoint" buttons in the
agent panel not to be rendered.
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Cole Miller
and
Antonio Scandurra
created
f6ae21c
Silence error log when deserializing agent panel navigation history (#30011)
80d8731
Fall back to old key when loading agent settings (#30001)
Click to expand commit body
This PR updates #29943 to fall back to loading agent panel settings from
the old `assistant` key if the `agent` key is not present. Edits to
these settings will also target `assistant` in this situation instead of
`agent` as before.
Release Notes:
- Agent Beta: Fixed a regression that caused the agent panel not to
load, or buttons in the agent panel not to work.
Cole Miller
created
1c8f779
Fix error when requesting completion to Copilot Chat without tools (#30007)
Click to expand commit body
The API will return a Bad Request (with no error message) when tools
were used previously in the conversation but no tools are provided as
part of a new request.
Inserting a dummy tool seems to circumvent this error.
Release Notes:
- Fixed an error that could sometimes occur when editing using Copilot
Chat.
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Antonio Scandurra
and
Bennet Bo Fenner
created
21bb98b
agent: Add enabled indicator in Max Mode tooltip (#30008)
Click to expand commit body
This PR adds an enabled indicator in the Max Mode tooltip to show when
it is enabled:
<img width="409" alt="Screenshot 2025-05-06 at 9 49 48 AM"
src="https://github.com/user-attachments/assets/43d3f6dd-5658-467a-9df9-606ce326426a"
/>
Release Notes:
- Agent Beta: Added an indicator in the Max Mode tooltip to show when it
is enabled.
Co-authored-by: Danilo <danilo@zed.dev>
Marshall Bowers
and
Danilo
created
abf613d
agent: Add label to Max Mode toggle (#30003)
Click to expand commit body
This PR adds a label to the Max Mode toggle, for increased clarity:
<img width="647" alt="Screenshot 2025-05-06 at 9 16 35 AM"
src="https://github.com/user-attachments/assets/38cd55fb-43ad-430b-8b4c-5adf707317cf"
/>
Release Notes:
- Agent Beta: Added a label to the Max Mode toggle.
Marshall Bowers
created
c172f4c
Revert "agent: Add date separators to Thread History (#29961)"
Click to expand commit body
This reverts commit 69fd7d57d78d07a05c7fd7d223356d8ecf520c64.
Joseph T. Lyons
created
61161a6
agent: Disable claude-3-7-sonnet-thinking tool support for Copilot Chat (#29999)
Click to expand commit body
We started getting Bad Requests from the Copilot Chat API.
Seems like Microsoft stopped supporting this:
<img width="331" alt="image"
src="https://github.com/user-attachments/assets/46050063-f031-4836-82ff-219bdd45639a"
/>
Release Notes:
- agent: Disable `claude-3-7-sonnet-thinking` for Copilot Chat Provider
because it is not supported by Copilot Chat
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner
and
Ben Brandt
created
8722b7a
Add new editing eval scenario and improve it substantially (#29997)
Click to expand commit body
This improves the new eval scenario by ~80% (`0.29` vs `0.525`) without
decreasing performance in the other evals.
Release Notes:
- Improved the performance of the `edit_file` tool.
Antonio Scandurra
created
224ad68
agent: Fix Open Thread as Markdown not working when another panel is focused (#29993)
Click to expand commit body
Release Notes:
- agent: Fix Open Thread as Markdown not working when another panel is
focused
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Ben Brandt
and
Bennet Bo Fenner
created
69fd7d5
agent: Add date separators to Thread History (#29961)
Click to expand commit body
Adds time-bucket separators to the thread history list:
https://github.com/user-attachments/assets/c9ac3ec4-b632-4ea5-8234-382b48de2bd6
Note: I'm simulating that Today is next Thursday so that I can show the
"This Week" bucket.
Release Notes:
- agent: Add date separators to Thread History
Agus Zubiaga
created
d30adff
assistant: Do not create new context on load (#29480)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/27673
Closes https://github.com/zed-industries/zed/issues/29344
Closes #29863
This PR fixes an issue where Zed was showing no language and `4:1` as a
line/column value on startup, as described in the linked issues. You can
actually see in the first issue that the user also experiences the same
issue as described in the second one, as his line/column value is
noticably also `4:1`.
https://github.com/user-attachments/assets/bb60e387-f4b8-4e05-80b3-4dadf1a01262
This issue arises because on assistant panel load, a new context is
created and its editor focused. However, the editor is not visible
despite having focus. The content for the editor for a new context is
`\n\n\n` and the cursor is inserted directly after that - this is where
the line:column position `4:1` comes from. For the assistant panel
editor, the language is intentionally hidden, this is why the language
is not shown on workspace load.
The issue is only present for as long as the user does not focus and
edit another editor, then that instance is focused and everything starts
to work properly again.
As this issue only arises with the old assistant panel, some staff
members were unable to reproduce in the linked issues. Once you set
`export ZED_DISABLE_STAFF=1` in your environment, you should also be
able to reproduce this issue consistently.
---
This PR fixes the issue by not creating a new context on assistant panel
load. This should not cause any regressions; every other code path I
checked creates a new context if no context is yet present.
Additionally, this also seems somewhat more reasonable, as users which
have the assistant panel disabled will never need a new context anyway,
so no context should be created.
In the following video, you can see this fixes the issue when the
assistant panel was not open the last time Zed was opened. If the panel
was open before Zed was closed, we will still properly focus the panel
and then the `4:1` will show again, which in that case is correct. The
assistant panel editor is focused and the missing language as well as
the line number then match what the user sees, experiences and expects.
https://github.com/user-attachments/assets/224a786b-52c7-4212-bccb-dff6d9db62c3
Release Notes:
- Fixed an issue where Zed would show no language and an incorrect
line/column value on startup.
Co-authored-by: Peter Tripp <peter@zed.dev>
Finn Evers
and
Peter Tripp
created
ac042a0
editor: Fix edit range for linked edits on do completion (cherry-pick #29650) (#29988)
Click to expand commit body
Cherry-picked editor: Fix edit range for linked edits on do completion
(#29650)
Closes #29544
Fixes an issue where accepting an HTML completion would correctly edit
the start tag but incorrectly update the end tag due to incorrect linked
edit ranges.
I want to handle multi cursor case (as it barely works now), but seems
like this should go first. As, it might need whole `do_completions`
overhaul.
Todo:
- [x] Tests for completion aceept on linked edits
Before:
https://github.com/user-attachments/assets/917f8d2a-4a0f-46e8-a004-675fde55fe3d
After:
https://github.com/user-attachments/assets/84b760b6-a5b9-45c4-85d8-b5dccf97775f
Release Notes:
- Fixes an issue where accepting an HTML completion would correctly edit
the start tag but incorrectly update the end tag.
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
gcp-cherry-pick-bot[bot]
and
Smit Barmase
created
093f953
editor: Handle more completions sort cases in Rust and Python (cherry-pick #29926) (#29990)
Click to expand commit body
Cherry-picked editor: Handle more completions sort cases in Rust and
Python (#29926)
Closes #29725
Adds 3 more tests for Rust `into` and `await` cases, and Python
`__init__` case. Tweaks sort logic to accommodate them.
Release Notes:
- Improved code completion sort order, handling more cases with Rust and
Python.
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
gcp-cherry-pick-bot[bot]
and
Smit Barmase
created
4239ab4
zed: Fix migration message sometimes showing up on other tabs (cherry-pick #29917) (#29989)
Click to expand commit body
Cherry-picked zed: Fix migration message sometimes showing up on other
tabs (#29917)
<img width="1178" alt="image"
src="https://github.com/user-attachments/assets/6b76fe7d-0621-4d61-936e-bfe4f72cc614"
/>
Release Notes:
- Fixed an issue where the keymap/settings migration message sometimes
showing up on tabs other than `settings.json` and `keymap.json`.
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
gcp-cherry-pick-bot[bot]
and
Smit Barmase
created
56c3fc6
Fix panic in update_selection_occurrence_highlights (cherry-pick #29979) (#29985)
Click to expand commit body
Cherry-picked Fix panic in update_selection_occurrence_highlights
(#29979)
Closes #ISSUE
Release Notes:
- Fixed a (rare) panic when highlighting text in the editor
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
4de9657
assistant_slash_commands: Be more precise in content type matching (#29124)
Click to expand commit body
While investigating https://github.com/zed-industries/zed/issues/28076,
I found out often times the content type header of a website comes with
more data, such as the `charset`. So instead of doing an equal
comparison, I changed to a `starts_with`.
You can see an example here:
```shell
$ curl -sS -D - https://github.com/zed-industries/zed/blob/main/Cargo.toml -o /dev/null | head -n 10
HTTP/2 200
date: Sun, 20 Apr 2025 10:19:52 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame,Accept-Encoding, Accept, X-Requested-With
etag: W/"92dabf048b34d04a1b1d94e29cae4aca"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
```
Release Notes:
- Improved Content Type matching of `/fetch` commands in Assistant
Co-authored-by: Peter Tripp <peter@zed.dev>
Eva Pace
and
Peter Tripp
created
ff44d0b
Restore original file content when rejecting an overwritten file (#29974)
Click to expand commit body
Release Notes:
- Fixed a bug that would cause rejecting a hunk from the agent to delete
the file if the agent had decided to rewrite that file from scratch.
Closes https://github.com/zed-industries/zed/issues/29821
Release Notes:
- Fixed an issue in the agent panel where OpenAI requests would fail if
the assistant begins its response with a tool call.
Cleaning up as I introduced a few regressions in this PR:
https://github.com/zed-industries/zed/pull/29866.
Release Notes:
- N/A
Danilo Leal
created
ebb04b0
Update `assistant` to `agent` in settings and keymaps (#29943)
Click to expand commit body
Closes #ISSUE
Release Notes:
- Agent Beta: Renamed the top-level `assistant` settings key to `agent`.
A migration for existing settings files is included.
- Agent Beta: Moved the `assistant::ToggleFocus`,
`assistant::ToggleModelSelector`, and `assistant::OpenRulesLibrary`
actions to the `agent` namespace. Existing keymaps that mention these
actions by their old names will continue to work.
---------
Co-authored-by: Max <max@zed.dev>
Cole Miller
and
Max
created
cd96a08
Honor the prompt field of inline assist action (#29960)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/29337
Release Notes:
- Fixed a bug where the `prompt` field was ignored on custom key
bindings for `InlineAssist`
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld
and
Michael Sloan
created
a47a8d8
Allow dragging files and tabs into the agent panel (#29959)
Click to expand commit body
Release Notes:
- Added the ability to drag files and tabs onto the new agent panel.
---------
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld
and
Michael Sloan
created
cc2d7b9
Fix profile menu hover flickering due to documentation asides (#29958)
This PR adds an upsell to try Zed Pro
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Nate Butler
and
Marshall Bowers
created
31419db
Allow the agent panel font size to be customized (#29954)
Click to expand commit body
You can set `agent_font_size` as a top-level settings key. You can also
use `zed::IncreaseBufferFontSize` and `zed::DecreaseBufferFontSize` and
`zed::ResetBufferFontSize` the agent panel is focused via the standard
bindings to adjust the agent font size. In the future, it might make
sense to rename these actions to be more general since "buffer" is now a
bit of a misnomer. 🍐'd with @mikayla-maki
Release Notes:
- N/A
---------
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Nathan Sobo
and
Mikayla Maki
created
51bfe9d
Use the same context store for all inline assists in a project (#29953)
Click to expand commit body
Release Notes:
- Made context attachments in inline assist prompts persist across
inline assist invocations.
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld
and
Michael Sloan
created
971fc5c
inline_completion_button: Show the initial usage data from the server (#29952)
Click to expand commit body
This PR updates the usage indicator for edit predictions to show the
initial usage data returned from the server.
Release Notes:
- N/A
Marshall Bowers
created
f9fa99e
Allow attaching text threads as context (#29947)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld
and
Michael Sloan
created
aae502e
Allow agent edits to be accepted/rejected before the end the turn (#29941)
WIP
- On macOS/Linux, run the command in bash instead of the user's shell
- Try to prevent the agent from running commands that expect interaction
Release Notes:
- Agent Beta: Switched to using `bash` (if available) instead of the
user's shell when calling the terminal tool.
- Agent Beta: Prevented the agent from hanging when trying to run
interactive commands.
---------
Co-authored-by: WeetHet <stas.ale66@gmail.com>
Cole Miller
and
WeetHet
created
108005f
context_store: Refactor state management (#29910)
Click to expand commit body
Because we instantiated `ContextServerManager` both in `agent` and
`assistant-context-editor`, and these two entities track the running MCP
servers separately, we were effectively running every MCP server twice.
This PR moves the `ContextServerManager` into the project crate (now
called `ContextServerStore`). The store can be accessed via a project
instance. This ensures that we only instantiate one `ContextServerStore`
per project.
Also, this PR adds a bunch of tests to ensure that the
`ContextServerStore` behaves correctly (Previously there were none).
Closes #28714
Closes #29530
Release Notes:
- N/A
Bennet Bo Fenner
created
71f7100
agent: Handle attempts to use hallucinated tools (#29946)
Click to expand commit body
This change:
1. Catches attempts to use missing tools. If this happens, we now send
Agent a message listing available tools, after which Agent can
gracefully recover. Prior behavior: thread would stop in a broken state.
Example of a hallucinated call and a message we send back:

2. Adds evals for hallucinated tool use and imagined edits
3. Adds ability to configure a profile name in evals.
Release Notes:
- N/A