Commit log

c2dc7a7 Delete obsolete find_replace_tool description (#29928)

Click to expand commit body
The tool has been deleted, but the description remained.

Release Notes:

- N/A

Richard Feldman created

7249da1 Simplify setting font size for EditToolCard (#29925)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

3ffaf27 agent: Tweak MCP server configuration dialog (#29878)

Click to expand commit body
Tweaks the MCP configuration dialog a bit:
- Increase width of popover
- Disable soft 
- Clear errors when hitting confirm

Release Notes:

- N/A

Bennet Bo Fenner created

571db35 Show prompt usage in agent overflow menu (#29922)

Click to expand commit body
This PR adds prompt usage information, and easy access to managing your
account, to the agent overflow menu:

![CleanShot 2025-05-05 at 10 04
20@2x](https://github.com/user-attachments/assets/337a1a0b-6f71-49a0-9fe7-4fbf2ec1fc27)

Currently this UI will only show after making a request. We'll work on
eagerly getting the usage info later.

Release Notes:

- Added current prompt usage information to the agent menu (`...`) for
Zed AI users

Nate Butler created

395d4e9 Don't show deleted hunks when agent overwrites file (#29918)

Click to expand commit body
Release Notes:

- Improved display of diffs when the agent rewrites a file from scratch.

Antonio Scandurra created

711a855 Get terminal tool working in evals (#29831)

Click to expand commit body
Bypass our terminal subsystem and just run a shell in a pty.

- [x] make sure we use the same working directory
- [x] strip control chars from the pty output (?)
- [x] tests

Release Notes:

- N/A

Cole Miller created

298b30c Stop generating in the Agent panel when the user edits a previous message (#29915)

Click to expand commit body
Otherwise the panel keeps scrolling as the new token comes in and it is
almost impossible to keep the scroll position in the right place.

Also, if the user is editing, it is likely that the current generated
tokens will need to be regenerated anyway, so we may as well stop the
current progress.

Release Notes:

- Agent Beta: Stop generating tokens if previous messages are edited.

Ben Brandt created

124e420 copilot: Add support for tool_calls for gpt-4.1, gpt-4o, o4-mini (#29369)

Click to expand commit body
Github Copilot currently supports following models for agent mode with
tool calls. Currently we are only supporting anthropic models and not
openai and gemini. This PR add support for the openai models. I have
tested it and it works for all of them. For gemini models it seems there
is a issues from copilot side so not adding that in this PR as enabling
gemini model breaks it in the ask mode as well.

<img width="392" alt="image"
src="https://github.com/user-attachments/assets/fb7a4148-e48c-45c5-9ff9-c02f71217dfb"
/>


- [x] GPT-4.1

- [x] GPT-4.0

- [x] o4-mini

Release Notes:

- agent: Add tool calling support for gpt-4.1, gpt-4o, o4-mini when
using Copilot Chat as a provider

Signed-off-by: Umesh Yadav <umesh4257@gmail.com>

Umesh Yadav created

2917845 Polish diff for the `edit_file` tool (#29911)

Click to expand commit body
I added some padding to the editor, and removed the border around each
hunk as it would overlap in weird ways with the card container.

## Before

<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/2018feaa-c847-4609-bc82-522660714b9a"
/>

## After

One Light:

<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/4da1a4b6-0af2-4479-afcc-02da50178fd6"
/>

One Dark:

<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/0168631d-7b76-4582-8174-c6e9c1297dc8"
/>


Release Notes:

- Improved displaying of diffs when the agent edits files.

Antonio Scandurra created

beecd17 Properly restore window position for SSH projects (cherry-pick #29904) (#29906)

Click to expand commit body
Cherry-picked Properly restore window position for SSH projects (#29904)

Release Notes:

- Fixed SSH projects not restoring their window position on reopen

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

gcp-cherry-pick-bot[bot] and Kirill Bulatov created

d9f3318 agent: Update callout URLs (#29897)

Click to expand commit body
This PR updates the Agent callout URLs to go to the account page.

Release Notes:

- N/A

Marshall Bowers created

96ce034 ui: Make `Callout` constructors more flexible (#29895)

Click to expand commit body
This PR updates the `Callout` constructors to be more flexible by
accepting `impl Into<SharedString>`s.

Release Notes:

- N/A

Marshall Bowers created

2c6e9fe agent: Remove `UsageBanner` (#29896)

Click to expand commit body
This PR removes the `UsageBanner` component, as it was no longer used.

Release Notes:

- N/A

Marshall Bowers created

b2bc1b4 agent: Remove unneeded tracking of request usage (#29894)

Click to expand commit body
This PR removes some unneeded tracking of the model request usage in the
`ActiveThread` and `ThreadEvent::UsageUpdated` events.

Release Notes:

- N/A

Marshall Bowers created

6300518 zed 0.185.5

Joseph T. Lyons created

04fdfd6 agent: Add UI for upsell scenarios (#29805)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Nate Butler and Marshall Bowers created

8dc98c2 agent: Sort profiles based on relevance (#29893)

Click to expand commit body
Kinda feel like the way that makes the most sense to sort profiles in
the dropdown is by relevance/impact. "Write" is the default profile and
contains all built-in tools turned on by default, thus it should be the
first. "Ask" contains read-only tools, one step down from Write. And
"Manual" is totally empty, the least "powerful" profile, thus the last.

Release Notes:

- N/A

Danilo Leal created

cdbd8c3 In the edit tool card, use the UI font size for the editor that we use to render the diff (#29882)

Click to expand commit body
I am currently setting the font size corrrectly by using a custom
EditorStyle and building an element. However I need to use the same
properties as a normal editor for everything but font size.

Release Notes:

- N/A

Nathan Sobo created

ae0716e agent: Add design adjustments to message editor (#29891)

Click to expand commit body
- Removed unused `MessageBubbleDashed` icon
- Polished `Crosshair` icon SVG
- Added dropdown toggle keybinding to the profile selector tooltip
- Repositioned buttons at the message editor footer
- Updated buttons to use `Button` instead of `ButtonLike`

Release Notes:

- N/A

Danilo Leal created

d6c2608 Change cloud language model provider JSON protocol to surface errors and usage information (#29830)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Max Brunsfeld , Nathan Sobo , and Marshall Bowers created

ed49ee9 agent: Rename `@rules` to `@rule` (#29881)

Click to expand commit body
This is purely a cosmetic change, renamed `@rules` to `@rule` which
unifies the @mention experience (for files, threads etc. we also use
`@file`, `@thread` not `@files`, `@thread`). Would also make sense to
rename the rules picker to rule picker, but i do not wanna introduce
conflicts just for the purpose of re-naming.

Release Notes:

- N/A

Bennet Bo Fenner created

23b6693 Encourage editing over re-creating a file from scratch (#29870)

Click to expand commit body
I also introduced a new eval to prove the encouragement actually makes a
difference.

Release Notes:

- Improved agent behavior when streaming edits, encouraging it to
editing files as opposed to creating them from scratch

Antonio Scandurra created

6183034 agent: Polish single-file review toolbar controls (#29866)

Danilo Leal created

f30c146 Add the ability to follow the agent as it makes edits (#29839)

Click to expand commit body
Nathan here: I also tacked on a bunch of UI refinement.

Release Notes:

- Introduced the ability to follow the agent around as it reads and
edits files.

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created

e8b8cd3 Manual no tool calls (#29745)

Click to expand commit body
Now instead of the model hallucinating tool calls, we get requests for
more context:

<img width="620" alt="Screenshot 2025-05-01 at 12 45 49 PM"
src="https://github.com/user-attachments/assets/847d5c14-82f6-4234-b85a-8cd2bc7ab11d"
/>

It still knows how to answer general questions:
<img width="624" alt="Screenshot 2025-05-01 at 12 47 44 PM"
src="https://github.com/user-attachments/assets/43ab0fc3-4cc8-452f-b26b-474b5d31919f"
/>

Release Notes:

- Fixed the model still trying to do tool calls when no tools selected
(e.g. in `Manual` profile).

---------

Co-authored-by: Ben <ben@zed.dev>
Co-authored-by: Michael <michael@zed.dev>

Richard Feldman , Ben , and Michael created

b4234fa Fix hiding editor toolbar and add `agent_review` setting (#29854)

Click to expand commit body
Closes #29836

The agent diff toolbar item was causing the editor toolbar to show even
when all the other elements were disabled via settings.

This PR fixes this by setting the location to
`ToolbarItemLocation::Hidden` in the states where it shouldn't show.

It also adds a new a `toolbar.agent_review` setting to hide the agent
review buttons altogether. However, if the other toolbar elements are
hidden and the file isn't under review, the editor toolbar will still be
hidden. So you only need to set this to `false` if you don't want them
to show up even under agent review.

Release Notes:

- N/A

Agus Zubiaga created

c41a0c0 agent: Add the `single_file_review` setting to the UI (#29859)

Click to expand commit body
Release Notes:

- agent: Add the `single_file_review` setting to the UI

Danilo Leal created

081edd6 feature_flags: Add a constant to control Agent-related feature flags (#29853)

Click to expand commit body
This PR adds a singular constant that controls the Agent-related feature
flags.

This way we can tweak this one value when we're ready to build the final
build for the launch.

Release Notes:

- N/A

Marshall Bowers created

1450f04 ui: Implement `ParentElement` for `Banner` (#29834)

Click to expand commit body
This PR implements the `ParentElement` trait for the `Banner` component
so that it can use the real children APIs instead of a bespoke one.

Release Notes:

- N/A

Marshall Bowers created

2c60192 agent: Show a notice when reaching consecutive tool use limits (#29833)

Click to expand commit body
This PR adds a notice when reaching consecutive tool use limits when
using normal mode.

Here's an example with the limit artificially lowered to 2 consecutive
tool uses:


https://github.com/user-attachments/assets/32da8d38-67de-4d6b-8f24-754d2518e5d4

Release Notes:

- agent: Added a notice when reaching consecutive tool use limits when
using a model in normal mode.

Marshall Bowers created

0158a2f agent: Add several UX improvements (#29828)

Click to expand commit body
Still a work in progress.

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Cole Miller <m@cole-miller.net>
Co-authored-by: Nathan Sobo <1789+nathansobo@users.noreply.github.com>
Co-authored-by: Cole Miller <53574922+cole-miller@users.noreply.github.com>

Danilo Leal , Bennet Bo Fenner , Nathan Sobo , Cole Miller , Nathan Sobo , and Cole Miller created

bbb364d Add support for queuing status updates in cloud language model provider (#29818)

Click to expand commit body
This sets us up to display queue position information to the user, once
our language model backend is updated to support request queuing.

The JSON returned by the LLM backend will need to look like this:

```json
{"queue": {"status": "queued", "position": 1}}
{"queue": {"status": "started"}}
{"event": {"THE_UPSTREAM_MODEL_PROVIDER_EVENT": "..."}} 
```

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Max Brunsfeld and Marshall Bowers created

5399aa3 agent: Refresh the profile selector and modal design (#29816)

Click to expand commit body
- [x] Separate MCP servers from tools in the profile customization modal
view
- [x] Group MCP tools in the MCP picker and add a heading
- [x] Separate bult-in profiles from custom ones in the dropdown
selector
- [x] Separate bult-in profiles from custom ones in the modal
- [ ] Enable looping through items via keybinding without opening the
dropdown (will be done on a follow-up PR)
- [ ] Stretch: Focus on the currently active item upon opening the
dropdown (will be done on a follow-up PR)

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>

Danilo Leal , Bennet Bo Fenner , Bennet Bo Fenner , and Bennet Bo Fenner created

c71e414 agent: Fix default cursor position on reviewing editors (#29825)

Click to expand commit body
The cursor wasn't always placed at the first hunk for review editors.

Release Notes:

- N/A

Agus Zubiaga created

550c3fb agent: Review edits in single-file editors (#29820)

Click to expand commit body
Enables reviewing agent edits from single-file editors in addition to
the multibuffer experience we already had.


https://github.com/user-attachments/assets/a2c287f0-51d6-43a1-8537-821498b91983


This feature can be turned off by setting `assistant.single_file_review:
false`.

Release Notes:

- agent: Review edits in single-file editors

Agus Zubiaga created

02f9df3 zed 0.185.4

Joseph T. Lyons created

5c3c2f5 Re-enable directory-related tools (#29809)

Click to expand commit body
Also `now` in `write` profile

Release Notes:

- Tools for manipulating directories no longer require confirmation, and
are enabled in the Write profile
- Enabled `now` and `list_directory` tools by default in Write profile

---------

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

Richard Feldman , Cole Miller , and Cole Miller created

f4ac0cf Support @-mentions in inline assists and when editing old agent panel messages (#29734)

Click to expand commit body
Closes #ISSUE

Co-authored-by: Bennet <bennet@zed.dev>

Release Notes:

- Added support for context `@mentions` in the inline prompt editor and
when editing past messages in the agent panel.

---------

Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Cole Miller , Bennet Bo Fenner , and Ben Brandt created

1d7b296 agent: Add assistant panel width persistence (#28808)

Click to expand commit body
Previously, the assistant panel width was not persisted across sessions.
This meant that upon restarting the Zed editor, the panel would revert
to its default size, disrupting the user's preferred layout.

This pull request introduces persistence for the assistant panel width.
The width is now saved to the key-value store when the editor is closed
and restored on startup, ensuring a consistent UI experience across
different sessions.

Release Notes:

- agent: Add assistant panel width persistence

---------

Signed-off-by: Umesh Yadav <umesh4257@gmail.com>

Umesh Yadav created

184db01 Delete obsolete tools (#29808)

Click to expand commit body
Release Notes:

- Removed some obsolete tools: batch_tool, code_actions, code_symbols,
contents, symbol_info, rename

Co-authored-by: Cole Miller <m@cole-miller.net>

Richard Feldman and Cole Miller created

6f3b39b Add eval for open_tool (#29801)

Click to expand commit body
Also have its description say it should only be used on request

Release Notes:

- N/A

Richard Feldman created

acff230 agent: Ensure that web search tool is always available (#29799)

Click to expand commit body
Some changes in the LanguageModelRegistry caused the web search tool not
to show up, because the `DefaultModelChanged` event is not emitted at
startup anymore.

Release Notes:

- agent: Fixed an issue where the web search tool would not be available
after starting Zed (only when using zed.dev as a provider).

Bennet Bo Fenner created

31d6a4e Properly score fuzzy match queries with multiple chars in lower case (cherry-pick #29794) (#29798)

Click to expand commit body
Cherry-picked Properly score fuzzy match queries with multiple chars in
lower case (#29794)

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

Release Notes:

- Fixed file finder crashing for certain file names with multiple chars
in lowercase form

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

gcp-cherry-pick-bot[bot] and Kirill Bulatov created

f32e096 Standardize agent previews (#29790)

Click to expand commit body
This PR makes agent previews render like any other preview in the
component preview list & pages.

Page:

![CleanShot 2025-05-02 at 09 17
12@2x](https://github.com/user-attachments/assets/8b611380-b686-4fd6-9c76-de27e35b0b38)

List:

![CleanShot 2025-05-02 at 09 17
33@2x](https://github.com/user-attachments/assets/ab063649-dc3c-4c95-969b-c3795b2197f2)


Release Notes:

- N/A

Nate Butler created

a5087f5 Add Agent Preview trait (#29760)

Click to expand commit body
Like the title says

Release Notes:

- N/A

Nate Butler created

bc3b4c0 agent: Add animation in the edit file tool card until a diff is assigned (#29773)

Click to expand commit body
This PR prevents this edit card from being shown expanded but empty,
like this:

<img width="590" alt="Screenshot 2025-05-01 at 7 38 47 PM"
src="https://github.com/user-attachments/assets/147d3d73-05b9-4493-8145-0ee915f12cd9"
/>

Now, we will show an animation until it has a diff computed.


https://github.com/user-attachments/assets/52900cdf-ee3d-4c3b-88c7-c53377543bcf

Release Notes:

- N/A

---------

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

Max Brunsfeld and Danilo Leal created

887d6bf Fix tasks not being stopped on reruns (#29786)

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

* Tone down tasks' cancellation logging
* Fix task terminals' leak, disallowing to fully cancel the task by
dropping the terminal off the pane:

https://github.com/zed-industries/zed/blob/f619d5f02af100c34e286af294a42a01dcfb238c/crates/terminal_view/src/terminal_panel.rs#L1464-L1471

Release Notes:

- Fixed tasks not being stopped on reruns

Kirill Bulatov created

472b820 zed 0.185.3

Joseph T. Lyons created

7da1166 Allow `StreamingEditFileTool` to also create files (#29785)

Click to expand commit body
Refs #29733 

This pull request introduces a new field to the `StreamingEditFileTool`
that lets the model create or overwrite a file in a streaming way. When
one of the `assistant.stream_edits` setting / `agent-stream-edits`
feature flag is enabled, we are going to disable the `CreateFileTool` so
that the agent model can only use `StreamingEditFileTool` for file
creation.

Release Notes:

- N/A

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>

Antonio Scandurra , Ben Brandt , and Oleksiy Syvokon created

a329e67 agent: Make thread completion mode non-optional (#29772)

Click to expand commit body
This PR makes the thread completion mode non-optional.

Release Notes:

- N/A

Marshall Bowers created