Commit graph

37851 commits

Author SHA1 Message Date
Marshall Bowers
b13cb40b97
collab: Route search_channel_members through Cloud (#56465)
This PR makes it so we route the `UserService::search_channel_members`
call through Cloud instead of hitting the database.

This is the last of the calls to be routed through Cloud. We'll clean up
the old database-backed implementations in a follow-up PR.

Closes CLO-746.

Release Notes:

- N/A
2026-05-12 13:05:19 +00:00
Danilo Leal
a1306744da
Add some refinements to the draft thread UX (#56482)
Here are the overall changes I'm adding in this PR:

- Don't create a new thread when switching to a new external agent while
in parked draft state
- Include parked draft threads in the thread switcher
- Add the draft thread item in the sidebar when navigating away from a
draft, as opposed to only on cmd-n/new thread
- Upon deleting content from a parked draft, remove its entry from the
sidebar. From this point on, we convert that draft back into the
ephemeral state so it behaves the same way as a fresh new draft would.

Release Notes:

- N/A
2026-05-12 13:01:55 +00:00
Ben Kunkle
c9957c136b
ep: Limit collected diagnostics (#56431)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-12 12:30:07 +00:00
Kirill Bulatov
7ab0ce6e68
Improve default button focus in macOS dialogs (#56513)
Follow-up of https://github.com/zed-industries/zed/pull/2433
Closes https://github.com/zed-industries/zed/issues/5990

Ensures ESC, Enter and Space buttons are mapped to different buttons on
modals.

Before:

<img width="1728" height="1084" alt="image"
src="https://github.com/user-attachments/assets/7ff63ebf-9396-42a4-9159-e524f974fe2c"
/>


After:

<img width="1728" height="1084" alt="image"
src="https://github.com/user-attachments/assets/634434e7-d907-496b-80c5-b02a69844d63"
/>


Release Notes:

- Improved default button focus in macOS dialogs
2026-05-12 08:59:58 +00:00
Collin
b930851b64
Add Gemini 3.1 Flash Lite (#56248)
Self-Review Checklist:

- [X] I've reviewed my own diff for quality, security, and reliability
- [X] Unsafe blocks (if any) have justifying comments
- [X] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [X] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable

Closes (none)

Release Notes:

- Google: Added Gemini 3.1 Flash Lite

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
2026-05-12 08:55:22 +00:00
sunwukk990
fddfc3fbee
acp: Prevent registry loading from hanging indefinitely (#56108)
Helps #51567
Refs #54531

Summary:

- Add total timeouts for ACP Registry JSON fetches and icon fetches,
including response body reads.
- Download registry icons concurrently and keep icon failures non-fatal,
so a blocked icon CDN does not delay registry availability by one
timeout per agent.
- Surface the stored registry fetch error in the ACP Registry empty
state and add a retry action.

This addresses cases where the registry request, or one of the icon
requests, never finishes. It does not make blocked networks succeed, but
it prevents the UI from sitting on `Loading registry...` indefinitely
and gives the user something actionable instead.

Test plan:

- `git diff --check HEAD~1..HEAD`
- `cargo fmt --check --package project --package agent_ui`
- `cargo check -p project`
- `cargo check -p agent_ui`
- `cargo test -p project --features test-support registry_refresh_`

Release Notes:

- Fixed the ACP Registry getting stuck on loading when registry or icon
requests hang.

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
2026-05-12 08:52:12 +00:00
Xiaobo Liu
166c53206e
deepseek: Add tool_choice field to DeepSeek request model (#56040)
Release Notes:

- N/A

reference: https://api-docs.deepseek.com/api/create-chat-completion/
2026-05-12 08:21:38 +00:00
Xin Zhao
57765207c8
gpui: Fix unreachable panic when running examples on Linux (#56322)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #56314

When running `cargo run -p gpui --example hello_world` on a wayland
linux machine, the code panics and give the following output:
```
thread 'main' (15645) panicked at crates/gpui_linux/src/linux.rs:55:14:
internal error: entered unreachable code
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
and the related code is:

c8f09caee4/crates/gpui_linux/src/linux.rs (L29-L57)

`gpui::guess_compositor()` correctly returns `"Wayland"`, but the
corresponding match arm is gated behind `#[cfg(feature = "wayland")]` in
`gpui_linux`, and that feature is never enabled. During the extract
gpui_platform refactor (#49277), the `wayland` and `x11` features were
added to the `zed` binary's dependency on `gpui_platform`, but were
missed in the `[dev-dependencies]` of `gpui/Cargo.toml`, which is what
the examples use.

This PR adds the missing features to the dev-dependency so that
`gpui_platform` propagates them to `gpui_linux` when building examples.

Release Notes:

- N/A or Added/Fixed/Improved ...

Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
2026-05-12 08:20:40 +00:00
Kirill Bulatov
a5bf443ef6
Add text icons for completion items (#56396)
Part of https://github.com/zed-industries/zed/issues/4943
Based on the last discussion, Zed does not want to have icons there, so
technically closes the issue?

Helix:

<img width="735" height="266" alt="Screenshot 2026-05-11 at 12 47 36"
src="https://github.com/user-attachments/assets/760e844b-6aad-4a42-ad39-28ea91fe4a90"
/>


VSCode:

<img width="964" height="414" alt="Screenshot 2026-05-11 at 12 49 00"
src="https://github.com/user-attachments/assets/37e383cd-e5aa-49a7-9a07-8af00ad07f27"
/>

<img width="970" height="453" alt="Screenshot 2026-05-11 at 12 49 04"
src="https://github.com/user-attachments/assets/4787d12e-b897-4dfd-a325-30fb45bc6001"
/>

RustRover:

<img width="1182" height="429" alt="Screenshot 2026-05-11 at 12 49 34"
src="https://github.com/user-attachments/assets/5876ce8b-e33d-4f4b-b7a4-44a25048f9f2"
/>

<img width="1050" height="424" alt="Screenshot 2026-05-11 at 12 49 42"
src="https://github.com/user-attachments/assets/4fbcb44b-00b7-4283-9423-556cc335c9b2"
/>


Zed:

<img width="1191" height="457" alt="Screenshot 2026-05-11 at 12 54 17"
src="https://github.com/user-attachments/assets/ff953146-c621-4c17-97f6-2f8504fef4cc"
/>

<img width="1149" height="446" alt="Screenshot 2026-05-11 at 12 54 29"
src="https://github.com/user-attachments/assets/33112b67-2ed1-4bd2-92ea-762744336074"
/>

(tooltip on hover)

<img width="797" height="223" alt="image"
src="https://github.com/user-attachments/assets/9c06054c-51f0-4f9b-b740-a4076d2591c6"
/>

Disabled by default, use `"completion_menu_item_kind": "symbol"` to
enable.

Release Notes:

- Added text icons for completion items (disabled by default, use
`"completion_menu_item_kind": "symbol"` to enable)
2026-05-12 06:29:16 +00:00
KlausUllrich
51b43c90f9
gpui: Add is_scrollbar_dragging() accessor to ListState (#53380)
## Summary

Expose whether the scrollbar is currently being dragged via a new
`is_scrollbar_dragging()` method on `ListState`.

This returns `true` between `scrollbar_drag_started()` and
`scrollbar_drag_ended()` calls. It lets consumers distinguish scrollbar
drags from wheel/trackpad scrolls, which is useful for suppressing
auto-scroll or follow-tail behavior during manual scrollbar positioning.

## Test plan

- [x] Code review — one-liner accessor, delegates to existing
`scrollbar_drag_start_height` field
- [ ] Verify compilation with `cargo check -p gpui`

Release Notes:

- N/A

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-12 06:24:53 +00:00
Danilo Leal
21277b3b98
agent_panel: Make thread title editing more discoverable (#56485)
This PR adds an edit icon button in the thread title to better
promote/communicate that that's an editable label.


https://github.com/user-attachments/assets/efd69efc-ad9b-4c48-9640-e21b09d70226

Release Notes:

- N/A
2026-05-12 04:25:47 +00:00
Danilo Leal
1a2e50e3f2
git_panel: Improve empty states (#56454)
This PR makes the empty states of the Git panel a little bit more
polished by making font sizes and button placement more consistent. Also
ended up cleaning up the `panel_button` abstraction as that felt a bit
unnecessary. We're just using the buttons directly like we do in other
places in the codebase.

Release Notes:

- N/A
2026-05-12 01:34:14 +00:00
morgankrey
933273061e
docs: Add Windows & Projects concept page (#56402)
## Summary

- Adds a new concept page (`docs/src/windows-and-projects.md`)
explaining how Zed handles multiple projects in windows
- Fixes the VS Code migration guide which incorrectly stated "Zed does
not support multi-root workspaces"
- Adds cross-links from Getting Started, CLI Reference, and Parallel
Agents docs

## Context

With multi-workspace now universally enabled, the default behavior is:
- **File > Open** opens projects in the current window's sidebar (not a
new window)
- **Cmd+Enter** in Open Recent opens in a new window
- **CLI `-n` flag** forces a new window

The VS Code migration guide was telling users the opposite of reality.
This PR fixes that and provides a central concept page that other docs
can link to.

## Changes

| File | Change |
|------|--------|
| `windows-and-projects.md` | New concept page |
| `SUMMARY.md` | Add to Working with Code section |
| `getting-started.md` | Note about sidebar default + link |
| `migrate/vs-code.md` | Fix "no multi-root" claim → explain sidebar
model |
| `reference/cli.md` | Link to concept page from flags section |
| `ai/parallel-agents.md` | Cross-reference in Multiple Projects section
|

## Test plan

- [ ] Verify page renders correctly on docs site
- [ ] Check all internal links resolve
- [ ] Confirm `{#kb projects::OpenRecent}` renders the correct
keybinding

Release Notes:

- N/A
2026-05-11 21:07:13 +00:00
Finn Evers
d35e1cdbbb
Fix various activity indicator issues (#56469)
Follow-up to #54791 with some fixes to the activity indicator which
resulted in

- the button no longer being clickable when it should
- the indicator showing a spinner instead of the proper symbol when
downloading or when it should show a warning symbol

Release Notes:

- Fixed some issues where the activity indicator would show the wrong
icon and not be clickable on errors present.
2026-05-11 20:18:49 +00:00
Bennet Bo Fenner
bf423dfc45
Support renaming ACP threads (#56446)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #54689

Release Notes:

- Support editing the thread title for external agent threads
2026-05-11 19:21:10 +00:00
Maciej Piasecki
6bd235c1a3
extension_host: Fix cross-device extension installs (#56437)
This fixes extension installation when Zed's cache directory and data
directory are on different filesystems or mount points. On my Linux
system, `~/.cache` is a separate btrfs subvolume so it can be excluded
from system snapshots, while `~/.local/share` is on the main home
subvolume. Installing extensions failed because extension archives were
unpacked under `paths::temp_dir()` and then renamed into the installed
extensions directory.

The error showed up as:
```text
2026-05-11T17:08:57+02:00 INFO  [extension_host] installing extension dockerfile latest version
2026-05-11T17:08:58+02:00 ERROR [crates/extension_host/src/extension_host.rs:842] Invalid cross-device link (os error 18)
```

Linux rename(2) returns EXDEV (os error 18) across filesystem
boundaries. This is the same class of issue addressed for settings
writes in #8437 and later generalized in
2b3e453d2f. The regression was introduced
by #54355, which made extension updates safer by unpacking into a
temporary directory before renaming into place.

This change creates the temporary unpack directory inside the installed
extensions directory instead. That keeps the final rename on the same
filesystem as the destination while preserving the existing
direct-unpack fallback if creating the temporary directory fails. A
possible alternative would be to create a dedicated temporary install
directory under `extensions/`, alongside `extensions/installed/`. I
chose, however, to keep the temporary directory directly beside the
final destination because that matches the destination-local temp-file
approach used in the earlier fixes referenced above.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

No separate issue. The change is small and includes the reproduction
context here. I did not add a regression test because the failure
depends on cache and data directories being on different
filesystems/subvolumes; this was verified manually by reproducing EXDEV
when installing extensions with `~/.cache` on a separate btrfs
subvolume, then confirming the patch fixes extension installation.

Release Notes:

- Fixed installing extensions when Zed's cache and data directories are
on different filesystems.
2026-05-11 17:58:17 +00:00
Piotr Osiewicz
8681fd713e
client: Cleanup superfluous dbg! left over from #56440 (#56457)
Self-Review Checklist:

- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [ ] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-11 17:50:24 +00:00
Lena
c19eaab7fa
GitHub board automation: fix query (union selection error) (#56453)
Release Notes:

- N/A
2026-05-11 17:49:38 +00:00
Gunner Kwon
5d3f275cbf
bedrock: Add Guardrail configuration support (#50084)
## Background: Amazon Bedrock Guardrails

AWS Bedrock Guardrails enables configurable safety and compliance
controls for generative AI applications:
- Evaluates both user inputs and model responses against policies.
:contentReference[oaicite:8]{index=8}
- Can block or filter content based on harmful categories, denied
topics, PII, or hallucination criteria.
:contentReference[oaicite:9]{index=9}
- Guardrails are applied during inference API calls by specifying
`guardrailIdentifier` and `guardrailVersion` in the request.
:contentReference[oaicite:10]{index=10}

Relevant AWS documentation:
- User Guide:
https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html
- How Guardrails Works:
https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-how.html
- API Reference (GuardrailConfiguration):
https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailConfiguration.html


Some AWS environments enforce IAM policies that require a guardrail to
be specified on every Bedrock API call (via a `StringEquals` condition
on `bedrock:GuardrailIdentifier`). Without this, Zed returns
`AccessDenied` and Bedrock models are completely unusable in those
environments.

This adds two optional settings, `guardrail_identifier` and
`guardrail_version`, to the Bedrock provider config. When set, a
`GuardrailStreamConfiguration` is attached to every `converse_stream`
request. When unset, behaviour is identical to before.

```json
{
  "language_models": {
    "bedrock": {
      "guardrail_identifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123",
      "guardrail_version": "DRAFT"
    }
  }
}
```

`guardrail_version` defaults to `"DRAFT"` if omitted.

Release Notes:

- agent: Added `guardrail_identifier` and `guardrail_version` settings
for AWS Bedrock, enabling use in environments where IAM policies require
a guardrail on all model requests

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-05-11 17:43:54 +00:00
Marshall Bowers
7472c29de0
collab: Route fuzzy_search_users through Cloud (#56436)
This PR makes it so we route the `UserService::fuzzy_search_users` call
through Cloud instead of hitting the database.

Closes CLO-745.

Release Notes:

- N/A
2026-05-11 17:29:35 +00:00
Piotr Osiewicz
6d2b391a3b
ci: Speed it up (#56440)
Self-Review Checklist:

- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [ ] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-11 17:20:03 +00:00
Mikayla Maki
bbe23cc40b
Bring back draft threads (#54292)
Self-Review Checklist:

- [ ] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2026-05-11 16:23:33 +00:00
Ben Brandt
d9275898be
agent_ui: Fix double hint for keybinding (#56442)
Release Notes:

- N/A
2026-05-11 16:13:31 +00:00
Kirill Bulatov
d77425fe9c
Stop using wrong paths for zed --diff (#56380)
Closes https://github.com/zed-industries/zed/issues/56219

Contains 3 commist:
*
a8d55273d6
shows better errors when CLI or main binary fail early: no backtraces,
better error context, diff file paths shown

*
d389f7ee23
stops opening Zed if cli `--diff` path argument(s) does not exist, also
switches over async fs API on the Zed side.
This is a behavior change, as before Zed tried to open or connect to an
instance — can be reverted if needed.

With `Path::exists` check CLI will do now:

<img width="669" height="55" alt="now"
src="https://github.com/user-attachments/assets/bdfbef2f-1b28-443d-8a01-0ff73ec0bba1"
/>

If I remove that bit, Zed will now open in the same cwd where the CLI is
invoked in:

<img width="1724" height="639" alt="reverted"
src="https://github.com/user-attachments/assets/69cd171b-aca3-445b-8647-5786f3360ce4"
/>


*
49787b7366
fixes an underlying bug leading to memory leak.

If on current `main`, I apply

```diff
diff --git a/crates/zed/src/zed/open_listener.rs b/crates/zed/src/zed/open_listener.rs
index 18ea7c0869..5db22521f2 100644
--- a/crates/zed/src/zed/open_listener.rs
+++ b/crates/zed/src/zed/open_listener.rs
@@ -791,6 +791,7 @@ async fn open_local_workspace(
     // working directory so the workspace opens with the right context.
     if !user_provided_paths && !diff_paths.is_empty() {
         if let Ok(cwd) = std::env::current_dir() {
+            log::error!("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ {cwd:?}");
             workspace_paths.push(cwd.to_string_lossy().into_owned());
         }
     }
```

I see the following logs:

```
2026-05-11T09:52:35+03:00 INFO  [zed] ========== starting zed version 1.3.0+dev.7bdcb6172263dc05c0b59be76e09f3e89e23e4f1, sha 7bdcb61 ==========
2026-05-11T09:52:36+03:00 INFO  [zed] Using git binary path: "/Applications/Zed Dev.app/Contents/MacOS/git"
2026-05-11T09:52:36+03:00 INFO  [util] set environment variables from shell:/bin/zsh, path:/opt/homebrew/opt/llvm/bin:/Applications/Postgres.app/Contents/Versions/16/bin/:/Users/someonetoignore/Developer/PlaydateSDK/bin/:/Users/someonetoignore/.docker/bin/:/opt/homebrew/opt/armv7-unknown-linux-gnueabihf/bin/:/opt/homebrew/opt/rustup/bin/:/opt/homebrew/opt/go@1.19/bin/:/usr/local/opt/llvm/bin/:/Users/someonetoignore/.jetbrains/bin/:/Users/someonetoignore/.cargo/bin/:/usr/local/git/bin/:/opt/homebrew/Cellar/openjdk@21/21.0.6//bin/:/Users/someonetoignore/.local/state/fnm_multishells/75815_1778482356501/bin:/opt/homebrew/opt/ruby/bin:/opt/homebrew/lib/ruby/gems/4.0.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pkg/env/active/bin:/opt/pmk/env/global/bin:/opt/X11/bin:/Library/Apple/usr/bin:/Applications/Wireshark.app/Contents/MacOS:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/someonetoignore/Library/pnpm:/opt/homebrew/opt/llvm/bin:/Applications/Postgres.app/Contents/Versions/16/bin/:/Users/someonetoignore/Developer/PlaydateSDK/bin/:/Users/someonetoignore/.docker/bin/:/opt/homebrew/opt/armv7-unknown-linux-gnueabihf/bin/:/opt/homebrew/opt/rustup/bin/:/opt/homebrew/opt/go@1.19/bin/:/usr/local/opt/llvm/bin/:/Users/someonetoignore/.jetbrains/bin/:/Users/someonetoignore/.cargo/bin/:/usr/local/git/bin/:/opt/homebrew/Cellar/openjdk@21/21.0.6//bin/:/Users/someonetoignore/.local/state/fnm_multishells/23413_1778480085615/bin:/opt/homebrew/opt/ruby/bin:/opt/homebrew/lib/ruby/gems/4.0.0/bin:/Users/someonetoignore/.cargo/bin:/Applications/iTerm.app/Contents/Resources/utilities:/Users/someonetoignore/.orbstack/bin:/Users/someonetoignore/.orbstack/bin
2026-05-11T09:52:36+03:00 INFO  [zed::reliability] Debug assertions enabled, skipping hang monitoring
2026-05-11T09:52:36+03:00 WARN  [zed::reliability] Minidump endpoint not set
2026-05-11T09:52:36+03:00 INFO  [extension_host] extensions updated. loading 21, reloading 0, unloading 0
2026-05-11T09:52:37+03:00 ERROR [crates/zed/src/main.rs:1936] canonicalizing "crates/grammars/src": No such file or directory (os error 2)
2026-05-11T09:52:37+03:00 INFO  [client] set status on client 0: Authenticating
2026-05-11T09:52:37+03:00 ERROR [zed::zed::open_listener] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ "/"
2026-05-11T09:52:37+03:00 INFO  [project::trusted_worktrees] Worktree "/" is not trusted
2026-05-11T09:52:37+03:00 ERROR [worktree] error reading target of symlink "/.VolumeIcon.icns": canonicalizing "/.VolumeIcon.icns": No such file or directory (os error 2)
2026-05-11T09:52:37+03:00 ERROR [worktree] error reading target of symlink "/Users/someonetoignore/.gitconfig.zed": canonicalizing "/Users/someonetoignore/.gitconfig.zed": No such file or directory (os error 2)
2026-05-11T09:52:37+03:00 INFO  [workspace] Rendered first frame
2026-05-11T09:52:37+03:00 ERROR [worktree] error reading target of symlink "/usr/lib/libnetwork.dylib": canonicalizing "/usr/lib/libnetwork.dylib": No such file or directory (os error 2)
2026-05-11T09:52:37+03:00 WARN  [fs] Failed to read symlink target metadata for path "/usr/sbin/weakpass_edit": Permission denied (os error 13)
2026-05-11T09:52:37+03:00 ERROR [worktree] error reading target of symlink "/usr/sbin/weakpass_edit": canonicalizing "/usr/sbin/weakpass_edit": Permission denied (os error 13)
2026-05-11T09:52:37+03:00 ERROR [worktree] error reading target of symlink "/usr/lib/libz.1.2.12.dylib": canonicalizing "/usr/lib/libz.1.2.12.dylib": No such file or directory (os error 2)
2026-05-11T09:52:37+03:00 ERROR [worktree] error reading target of symlink "/usr/lib/libpcre2-8.dylib": canonicalizing "/usr/lib/libpcre2-8.dylib": No such file or directory (os error 2)
2026-05-11T09:52:38+03:00 ERROR [worktree] error reading target of symlink "/var/run/docker.sock": canonicalizing "/var/run/docker.sock": No such file or directory (os error 2)
2026-05-11T09:52:38+03:00 ERROR [worktree] error processing "/var/db/DifferentialPrivacy": Operation not permitted (os error 1)
2026-05-11T09:52:38+03:00 ERROR [worktree] error reading target of symlink "/usr/lib/libipconfig.dylib": canonicalizing "/usr/lib/libipconfig.dylib": No such file or directory (os error 2)
2026-05-11T09:52:38+03:00 ERROR [worktree] error reading target of symlink "/private/var/run/docker.sock": canonicalizing "/private/var/run/docker.sock": No such file or directory (os error 2)
2026-05-11T09:52:38+03:00 ERROR [worktree] error processing "/private/var/db/DifferentialPrivacy": Operation not permitted (os error 1)
2026-05-11T09:52:38+03:00 ERROR [worktree] error processing "/Library/Caches/com.apple.amsengagementd.classicdatavault": Operation not permitted (os error 1)
2026-05-11T09:52:38+03:00 ERROR [worktree] error reading target of symlink "/usr/lib/libpcre2-posix.dylib": canonicalizing "/usr/lib/libpcre2-posix.dylib": No such file or directory (os error 2)
2026-05-11T09:52:38+03:00 ERROR [worktree] error processing "/Library/Caches/com.apple.aneuserd": Operation not permitted (os error 1)
2026-05-11T09:52:38+03:00 ERROR [worktree] error processing "/Library/Caches/com.apple.aned": Operation not permitted (os error 1)
```

According to
https://apple.stackexchange.com/questions/284754/what-is-the-default-working-directory-of-a-script-run-via-launchd
, the current directory of a running macOS app could be `/` if started
the way similar to how we do it via the CLI:


7bdcb61722/crates/cli/src/main.rs (L1306-L1329)

This means that every `std::env::current_dir()` is potentially dangerous
currently, as e.g. diff code tries to open this `/` as a worktree and
index it fully.
It seems that we're "ok" for now: the dangerous code is mostly in
extensions (there we set the cwd) and cli tools, and 2 places in
"development" Zed's code are left after this one is fixed.
There's one in `fs.rs` but that one is cfg-gated to Windows only hence
should not be an issue, at least the related one.

I'm not sure if this is the best way to fix the issue: setting `/` as an
app's current directory seems also wrong and maybe that invocation CLI
code could be altered somehow?
Maybe, `open_local_workspace` could be reworked somehow? 
Seems that now we need a "shared directory" for both files we diff which
seems inevitable though, hence I've went on with passing the CLI's
current dir when opening items and that fixes the `/` issue along with
the OOM for now.


Release Notes:

- Fixed a memory leak with diffing non-existing files with Zed cli
2026-05-11 15:53:20 +00:00
Ben Brandt
aa16a3bf9d
gpui_macos: Handle non-number font smoothing defaults (#56398)
It seems there are cases where this isn't a number somehow (ZED-7N8), so
added a more defensive check

Release Notes:

- N/A
2026-05-11 15:31:25 +00:00
Ben Kunkle
8033fbfccf
ep: Send trigger in header (#56433)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-11 15:22:43 +00:00
Lena
a3781513ba
GitHub board automation: remove redundant event handling (#56429)
We shouldn't trigger this workflow on pull_request_review.submitted
because (1) two out of three possible cases here are already handled by
the build-in workflow automation of the project board itself, and (2)
this takes us into the territory of workflow runs that require approval.

Release Notes:

- N/A
2026-05-11 15:12:37 +00:00
Lena
78135730f9
GitHub board automation: Retry on GitHub server errors (#56426)
adding retries for the transient API errors that shouldn't interfere
with us changing a status of a PR on the project board.

Release Notes:

- N/A
2026-05-11 14:50:26 +00:00
Ben Brandt
1c884d13d3
agent_ui: Terminal notifications (#56424)
Use notifications + dings when the terminal needs your attention

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-05-11 14:44:19 +00:00
Ben Brandt
17b90b45d3
agent_ui: Propagate font size actions from agent panel (#56419)
When the visible surface does not use agent font settings, bubble resize
and reset actions to the workspace so terminal font sizing still works.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-05-11 13:49:50 +00:00
Bennet Bo Fenner
aeb05899b3
open_ai: Support specifying reasoning effort (#56411)
Closes #54875

Release Notes:

- Added support for specifying effort level when using OpenAI models
2026-05-11 13:48:33 +00:00
kangxl
febc3ebcb4
agent: Fix Preserve tool call ID/name across DashScope empty delta chunks (#54872)
Release Notes:

- Fixed: DashScope (Aliyun) tool calls now preserve id and name across
streaming delta chunks
   

---------------------------------------------------------------------------------------------------
    Aliyun (DashScope) SSE streaming sends id="" and name="" in
    subsequent tool_calls delta chunks after the first chunk. Previously
    these empty strings would unconditionally overwrite the accumulated
    id and name values, causing tool calls to lose identity and fail.
    
    Add is_empty() guards so id and name are only updated when the
    delta provides a non-empty value (falsy guard pattern), matching how
    Hermes Agent and OpenAI SDK handle this provider edge case.
    
    Test stream_maps_preserves_tool_id_and_name_across_empty_deltas
    simulates DashScope's actual streaming behavior and asserts that
    the completed ToolUse retains the correct id, name, and arguments.
    
    Files changed: 1 (+148/-2)
    - crates/open_ai/src/completion.rs
    
    CLA signed.
    
- [x] I've reviewed my own diff for quality, security, and reliability
    - [x] Tests cover the new/changed behavior
    - [x] Performance impact has been considered and is acceptable
    
 
<img width="980" height="1392" alt="CleanShot 2026-04-26 at 00 03 20@2x"
src="https://github.com/user-attachments/assets/428a845b-82a0-44eb-9e43-1a351de6ca6a"
/>

After FIx
<img width="900" height="1398" alt="CleanShot 2026-04-26 at 00 02 15@2x"
src="https://github.com/user-attachments/assets/604e36fd-bf90-4549-9e60-8a927033d3e9"
/>

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-05-11 13:47:30 +00:00
Ben Brandt
cb715fb374
agent_ui: Restrict agent toolbar width only for threads (#56410)
For all other modes, we want full-width view

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-05-11 13:29:09 +00:00
Ben Brandt
0efac164b3
agent_ui: Avoid setting unchanged terminal titles (#56417)
If the user just clicked but didn't change it, let the terminal continue
to update it

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-05-11 13:28:59 +00:00
Bennet Bo Fenner
ee309a0000
anthropic: Dynamically fetch models from /models (#56397)
Most compelling reason to make this change is that we don't have to ship
a new Zed binary if Anthropic releases a new model

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- anthropic: Dynamically fetch available models from Anthropic API

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2026-05-11 13:19:20 +00:00
Ben Brandt
40d444413f
sidebar: Show worktree labels for agent terminals (#56412)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-05-11 13:18:58 +00:00
Ben Brandt
7d3989602d
sidebar: Add terminals to thread switcher (#56388)
Allow confirming a terminal entry to activate it, track terminal
access for ordering, and close selected terminals via the archive
action.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-05-11 12:21:29 +00:00
Ben Brandt
27fe33cead
sidebar: Enable agent panel terminal for staff (#56403)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-05-11 11:57:46 +00:00
Ben Brandt
480210d156
agent: Enable experimental system prompt for staff (#56391)
Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- N/A
2026-05-11 10:42:22 +00:00
Lena
533a6b8802
Automate community PRs board with review tracks (#56399)
Release Notes:

- N/A
2026-05-11 10:36:58 +00:00
Lukas Wirth
1107bc8b09
zed: Fix local files not opening with focus on remote workspaces (#56373)
Closes https://github.com/zed-industries/zed/issues/55554

Release Notes:

- Fixed an issue where local settings files would not correctly open on
remote workspaces

---------

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-05-11 10:30:59 +00:00
Oleksiy Syvokon
740b4241c0
ep: Generate request IDs on the client (#56386)
This change lays the groundwork for canceling in-flight requests.
Without it, we always wait for a request to complete, even when we
already know its result won't be used.

Release Notes:

- N/A
2026-05-11 09:10:05 +00:00
Ben Brandt
db6039d815
agent: Remove open tool (#56295)
At this point, this tool rarely gets called and the agent can likely
figure out how to call these itself.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Removed open tool from built-in Agent tools.
2026-05-11 08:58:03 +00:00
Kunall Banerjee
7bdcb61722
auto_update: Fix Windows installer task arguments syntax (#50464)
- The Inno Setup installer requires tasks to be specified with the
`/MERGETASKS` flag instead of bare arguments.
- Removed the `quicklaunchicon` task as it’s no longer relevant for
modern Windows 10 and up.

Ref: https://zed.dev/docs/installation#windows-1
Ref: https://documentation.help/Inno-Setup/topic_setupcmdline.htm

Closes #47570.

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Fixed Windows installer task arguments syntax
2026-05-11 05:31:58 +00:00
Vlad Ionescu
8bdd78e023
opencode: Update Free models (#56328)
Of course, right after yesterday's PR which was merged super-fast we get
even more model updates from OpenCode:
- **Big Pickle**: now supports interleaved reasoning as per
06908cbf36
- **Ring 2.6 1T Free**: a new free model [available for a limited
time](https://x.com/opencode/status/2053393732221739498) as per
359fd879b8.
Reasoning levels were discovered by manually checking what's available
in OpenCode CLI.

This PR was tested by asking both models to do a simple task (_"in this
file rename Bob to Potato"_) at different reasoning levels. Both models
successfully accomplished the task!

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- OpenCode Free: updated models (BigPickle and Ring 2.6 1T Free)
2026-05-10 20:29:59 +00:00
Joseph T. Lyons
c8f09caee4
Fix a bug where Zed incorrectly keeps a removed pane as the active pane (#56229)
This PR should fix the issue Ben ran into with Auto Watch. It isn’t a
bug in Auto Watch itself, but a bug in Zed’s active-pane bookkeeping
when Zed auto-closes a pane. Ben had a screen share in its own split;
when the share ended, the tab closed, and with it, the pane. In this
case, Zed was holding onto the removed pane as the active pane, so Auto
Watch was trying to open the next screen share in a pane that was no
longer part of the workspace.

Self-Review Checklist:

- [X] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [X] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [X] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable

Release Notes:

- Fixed a bug where Zed incorrectly kept a removed pane as the active
pane.
2026-05-09 19:33:05 +00:00
liam
ef65b5a283
Fix edit prediction provider checkmark (#56250)
Resolves https://github.com/zed-industries/zed/issues/56129

The edit prediction status bar menu only showed a checkmark for the
active provider when that provider was Zed AI. Non-Zed providers such as
Mercury could be selected and active, but the Providers section rendered
them as unchecked because the toggle condition required `provider =
EditPredictionProvider::Zed`.

This updates the menu condition to show the checkmark for any active
provider, while preserving the existing exception that hides the Zed AI
checkmark when Zed AI is disabled by organization policy.

<div align="center">
<img width="371" height="187" alt="Screenshot 2026-05-08 at 11 27 49 PM"
src="https://github.com/user-attachments/assets/5278a102-bd7d-44a5-a655-74c6ed90b0f9"
/>
</div>

Release Notes:
- Fixed edit prediction provider menu checkmarks for active non-Zed
providers.
2026-05-09 19:08:54 +00:00
Ben Brandt
26cf175930
agent_ui: Create terminal title editors lazily (#56233)
Keep terminal titles as labels until clicked, then create and focus the
editor. Drop the editor and subscription when editing ends.

Fixes a memory leak from too many title updates.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- N/A
2026-05-09 18:34:48 +00:00
Vlad Ionescu
c70e4a2f33
opencode: Remove deprecated models (#56278)
Removing deprecated models:
- MiMo V2 and MiMo V2 Omni as per
4bdb195178
- Hy3 as per
2cb3832618
- Claude 3.5 Haiku as per
ea205913ce

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- OpenCode: removed deprecated models (MiMo V2, Hy3, and Claude 3.5
Haiku)
2026-05-09 17:40:58 +00:00
Cameron Mcloughlin
de14e3fcad
agent: Separate flag for rename tool (#56228)
Pulls the rename tool into a separate flag and staff ships it

Release Notes:

- N/A or Added/Fixed/Improved ...
2026-05-09 11:03:36 +00:00