Commit log

7e58246 Improve GPU selection on Linux (#50274)

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

Release Notes:

- N/A

John Tur created

f0535dd Relax device limits for WGPU (#50270)

Click to expand commit body
Plus some minor cleanup.

Release Notes:

- Fixed GPU acceleration not working on certain Linux devices.

John Tur created

a217578 docs: Point to the right Bash extension repository (#50271)

Click to expand commit body
Closes #50261.

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~ N/A
- [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:

- N/A

Kunall Banerjee created

1c39e19 languages: Reorder type identifier highlights in JavaScript (#49325)

Click to expand commit body
Move general type identifier rules before class-specific ones to ensure
proper precedence in the syntax highlighting query.

Closes #49226.

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 an issue where class names were not highlighted correctly in
JavaScript files

Kunall Banerjee created

9ff0b02 Include optional model version with EP acceptance and rejection messages (#50262)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

d4e89f9 Add edit prediction evals that test related excerpt usage (#50256)

Click to expand commit body
I've also fixed a race condition with the programmatic context retrieval
in the CLI, which was causing no excerpts to be fetched for the Rust
examples.

Release Notes:

- N/A

Max Brunsfeld created

703bc36 Revert "outline: Refactor outline render_item to reuse existing TextStyle (#49166)" (#50258)

Click to expand commit body
This reverts commit 69e5ff7c76faa888ac71ff1d83cd335fb183b065.

Release Notes:

- N/A

Kirill Bulatov created

0859cce Add Vercel AI gateway provider integration (#50207)

Click to expand commit body
## Summary
- add a new `ai_gateway` language model provider in zed using the
openai-compatible chat completions path
- register ai gateway in provider wiring, settings schema, and default
settings
- add vercel ai gateway icon and provider list entry
- parse ai gateway model capabilities from tags (`tool-use`, `vision`)
and supported parameters
- clean up ai gateway oidc auth failures into a concise actionable error
message

Release Notes:

- Added Vercel AI Gateway as a new LLM provider in Zed.

dancer created

f1c5ed3 Add folder_paths for project grouping (#50249)

Click to expand commit body
Before you mark this PR as ready for review, make sure that you have:
- [x] 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:

- N/A

Mikayla Maki created

cbbcb1e acp: Fix stale ACP reasoning-effort options when model switch keeps same config IDs (#50246)

Click to expand commit body
## Problem
Zed's ACP config-options UI was only rebuilding selectors when the set
of config option IDs changed.

For many model switches, the IDs stay the same (`mode`, `model`,
`reasoning_effort`) while the valid values for `reasoning_effort` change
by model. As a result, the picker could show stale values (for example,
missing `xhigh` on `gpt-5.3-codex`, or showing extra `xhigh` after
switching away).

This is especially problematic for providers like Copilot that expose
multiple agents/models with different reasoning-level capabilities.

## Fix
Rebuild ACP config-option selectors on every `config_option_update`, not
only when config IDs change.

This refreshes cached picker entries whenever model-specific option
values change, even if option IDs are unchanged.

## User Impact
- Reasoning-effort picker now reflects the selected model immediately on
Claude <-> GPT transitions.
- Prevents stale or invalid effort choices in ACP sessions.

## Validation
- Manual validation: switch across models with different
reasoning-effort sets and confirm picker updates immediately.
- Local `cargo check -p agent_ui` remains blocked by unrelated
pre-existing `livekit-protocol` compile errors in this checkout.

## Files Changed
- `crates/agent_ui/src/acp/config_options.rs`

Release Notes:

- acp: Fix for config selectors not always being refreshed

---------

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

Nikhil Pandey and Ben Brandt created

da2bed1 agent: Rename run_turn to send in subagent handle (#50242)

Click to expand commit body
Align better with naming in thread. I grabbed the wrong function name :D

Release Notes:

- N/A

Ben Brandt created

6a74938 Add fast mode toggle in agent panel (#49714)

Click to expand commit body
This is a staff only toggle for now, since the consequences of
activating it are not obvious and quite dire (tokens costs 6 times
more).

Also, persist thinking, thinking effort and fast mode in DbThread so the
thinking mode toggle and thinking effort are persisted.

Release Notes:

- Agent: The thinking mode toggle and thinking effort are now persisted
when selecting a thread from history.

Tom Houlé created

d858f52 settings: Remove unused `file_finder.git_status` setting (#49889)

Click to expand commit body
From the looks of it, this setting was never used by the File Finder. It
also doesn’t make much sense to show git info in the File Finder. The
Project Panel already exposes this information to the user.

Closes #49709.

| Before | After |
|--------|--------|
| <img width="1012" height="769" alt="image"
src="https://github.com/user-attachments/assets/9666ace7-38cb-4789-8681-80c15b8ac3fd"
/> | <img width="1012" height="769" alt="image"
src="https://github.com/user-attachments/assets/5e0505d7-3ede-46fa-bb33-a44865a9f64b"
/> |

Before you mark this PR as ready for review, make sure that you have:
- [x] 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:

- Removed unused `file_finder.git_status` setting

Kunall Banerjee created

14f37ed GPUI on the web (#50228)

Click to expand commit body
Implements a basic web platform for the wasm32-unknown-unknown target
for gpui

Release Notes:

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

---------

Co-authored-by: John Tur <john-tur@outlook.com>

Lukas Wirth and John Tur created

e832531 languages: Add `.prettierrc` to JSON `path_suffixes` (#50156)

Click to expand commit body
`.prettierrc` can be [written](https://prettier.io/docs/configuration)
in either JSON or YAML. Whether you write JSON or YAML, VS Code will
default to recognizing it as JSON. See screenshot.

Without this change, the user is forced to do:

```jsonc
"file_types": {
  "JSON": [".prettierrc"],
},
```

Small QoL improvement.

| VS Code | Zed (after the changes) |
|--------|--------|
| <img width="1732" height="1125" alt="image"
src="https://github.com/user-attachments/assets/1f9533fc-a77a-40f3-b8a5-6c36faeccffd"
/> | <img width="1732" height="1125" alt="image"
src="https://github.com/user-attachments/assets/bef8ca94-006c-44bd-ac1c-59f915b67123"
/> |

Closes #50072.

Before you mark this PR as ready for review, make sure that you have:
- [x] 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:

- Added `.prettierrc` to JSON `path_suffixes`

Kunall Banerjee created

13933b8 Handle empty match list and do safe vector selection instead of slicing (#50232)

Click to expand commit body
Handles a panic found in telemetry - when there are no template matches
or feature matches, the picker delegate will panic due to an indexing
exception. This solves by:
1. Returning early if there are no matches, and
2. Performing safe vector `get` operations instead of slicing, so we can
handle a not-found scenario.



https://github.com/user-attachments/assets/ac76164d-63aa-4e2b-8555-d8e4f4dd2524



Before you mark this PR as ready for review, make sure that you have:
- [x] 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 potential crash from initializing devcontainer.json

KyleBarton created

dd9efd9 gpui: Fix `send_file_drop_event` holding mutex during event callback (#50173)

Click to expand commit body
`send_file_drop_event` was the only event dispatch site in window.rs
that called the event callback while still holding the `MacWindowState`
mutex. every other callback site in the file uses the established
`take() / drop(lock) / callback()` pattern which releases the lock
before invoking user code.

this is a latent code quality issue: no deadlock occurs today because
the current file-drop callback chain does not reenter `MacWindowState`'s
mutex (`Window::mouse_position()` returns a cached field
`Window::refresh()` only marks a dirty flag and `cx.activate()` uses a
separate `MacPlatform` mutex). but `parking_lot::Mutex` is not entering
so any future platform call added inside a filedrop handler would
deadlock immediately and silently.

the fix brings `send_file_drop_event` in line with the rest of the file
by taking the callback out of the state dropping the lock invoking the
callback then reacquiring the lock to restore the callback and update
state.

Release Notes:

- N/A

Albab Hasan created

820774a agent: Simplify subagent tool and handle (#50230)

Click to expand commit body
Moves parent thread information into the environment, and also models it
as a turn on the handle rather than waiting for output.

Release Notes:

- N/A

Ben Brandt created

be57636 Start removing callers of legacy excerpt APIs (#50144)

Click to expand commit body
Paving the way to remove `ExcerptId`. Done in this PR:

- Unshipped the stack trace view
- Get rid of `push_excerpts`
- Get rid of some callers of `remove_excerpts`

We still need to remove some calls to `remove_excerpts` and other APIs,
especially in `randomly_edit_excerpts` and collaboration.

Release Notes:

- The stack trace multibuffer view has been removed.

---------

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

Cole Miller and Conrad Irwin created

8b2829e language_selector: Auto-select current language when opening (#48475)

Xiaobo Liu created

fc2d805 Fix `Collapse All Files` button being limited to the current buffer (#50076)

Click to expand commit body
Refactor buffer search bar click handler to use listener pattern

The click handler for the buffer search bar now uses the `cx.listener`
pattern instead of directly dispatching the action. This approach
properly binds the action handler to the component's context and ensures
consistent behavior with other event handlers in the codebase.

Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [x] 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)


before:


https://github.com/user-attachments/assets/4fe5eaa4-be5c-4fe5-92d6-60a4f2059f7a

after:


https://github.com/user-attachments/assets/31238988-b664-4c4b-b143-e4d09c5f0a62



Release Notes:

- Fixed the "Collapse All Files" button to work globally, now it's
limited to the current buffer

---------

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>

0x2CA and Joseph T. Lyons created

c767dcc Get collab test suite passing (#50214)

Click to expand commit body
The test suite was failing with this error: methods
`is_screen_capture_supported` and `screen_capture_sources` are never
used. I added allow(dead_code) attribute on both methods to fix it

action that was failing:
https://github.com/zed-industries/zed/actions/runs/22444029970/job/64993825469

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
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Anthony Eid created

1ad9d59 git: Fix a panic when searching the split diff (#50211)

Click to expand commit body
This could happen when you initiated a search on the left side, then
toggled into the unified view, then tried to select the next match.

Closes ZED-55G

Release Notes:

- Fixed a panic when toggling the split diff view while searching.

Cole Miller created

ceb7c0e Duplicates bot v2: focus on root cause, larger issue body preview (#50209)

Click to expand commit body
Release Notes:

- N/A

Lena created

2434a77 ui: Fix modals not using UI font and text color (#50208)

Click to expand commit body
The bug occurred because we weren't setting the right text style on the
root div anymore (Multiworkspace), which was introduce in #49995

### Before
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/eca71731-5009-4e47-a948-d80eb3f13938"
/>

### After
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/75d8c591-f539-413e-a171-71e4fc847f13"
/>


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:

- N/A

Anthony Eid created

69e5ff7 outline: Refactor outline render_item to reuse existing TextStyle (#49166)

Click to expand commit body
Release Notes:

- N/A

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

62f7599 dev: Add Tree-sitter tokens and resolved theme keys in highlights tree view (#49197)

Click to expand commit body
“dev: open highlights tree view” is useful for inspecting semantic
tokens. To create a theme, custom-defined semantic rules and theme
settings are required and theme mappings can be difficult across
languages. This PR adds syntax(tree-sitter) tokens and their resolved
theme keys to tree view. It also updates semantic token entries to show
their resolved theme keys.


Before:
<img width="818" height="634" alt="before"
src="https://github.com/user-attachments/assets/d553fe1f-5216-4793-ab98-7d5a2011d122"
/>

After:
<img width="888" height="677" alt="after"
src="https://github.com/user-attachments/assets/69dbab6b-d99d-4ff3-bc72-9c4587586e39"
/>


Before you mark this PR as ready for review, make sure that you have:
- [x] 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:

- Added support for listing tree-sitter tokens in highlights tree view,
including their resolved theme keys. Semantic token entries also show
their resolved theme keys.

---------

Co-authored-by: ozacod <ozacod@users.noreply.github.com>

ozacod and ozacod created

b6a2283 editor: Fix JoinLines with selection to end-of-line (#48035)

Click to expand commit body
Full line selections should only include the next line if there's a
single line selected. Otherwise, if multiple lines are selected, only
the selected lines should be joined.

Also updates the editor tests to include both of these cases.

Closes #48030 

Release Notes:

- Fixed `editor::JoinLines` when a multi-line selection includes the end
of the final line

Josh Robson Chase created

90cf81c agent_ui: Unify ui elements (#50201)

Click to expand commit body
The ACP monikers are left over from when we had two versions of
everything. Now that all agents, including our own, use the same UI
components, it seems silly to have all of this separation. Flattens
files and removes unneeded Acp prefixes

Release Notes:

- N/A

Ben Brandt created

f4e65d8 agent_servers: Migrate all built-in agents to go via registry (#50094)

Click to expand commit body
This has lots of benefits, but mainly allows users to uninstall agents.

Release Notes:

- N/A

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: cameron <cameron.studdstreet@gmail.com>

Ben Brandt , Anthony Eid , and cameron created

bf6a737 vim: Add configurable yank highlight background color (#49517)

Click to expand commit body
* Add a dedicated `vim.yank.background` theme color for the yank
  highlight, which was previously hardcoded to
  `editor.document_highlight.read_background`.
* When a theme doesn't define `vim.yank.background`, it falls back to
  `editor.document_highlight.read_background` for backwards
  compatibility.
* The VS Code theme importer maps `editor.rangeHighlightBackground` to
  this new color.

Release Notes:

- Added configurable `vim.yank.background` theme color for vim yank
  background highlight

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>

Kasper Nyhus and dino created

10b33f8 agent: Stream content in `StreamingEditFileTool` (#50187)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

10bbcdf Side by side diff spacer polish (#50182)

Click to expand commit body
Co-authored-by: Cole Miller <cole@zed.dev>

Cameron Mcloughlin and Cole Miller created

a25d124 markdown_preview: Fix panic in mermaid diagram renderer (#50176)

Click to expand commit body
The mermaid renderer can fail to render certain diagrams, and we already
have a fallback for that. It's not worth crashing Zed over it.

Wrapping `catch_unwind` alone doesn't work because our panic hooks
terminate the process before unwinding begins (we intentionally
terminate so the crash handler subprocess can generate a minidump), so
there was no way to gracefully handle panics from third-party code until
now (in rare cases where we need it, like in this case).

To handle this gracefully, we added `crashes::recoverable_panic` which
tells the panic hook to stand down on the current thread so the unwind
can proceed and be caught. This should be used sparingly since caught
panics bypass crash reporting.

Release Notes:

- Fixed a crash when rendering mermaid diagrams in markdown preview.

Smit Barmase created

e4b827a agent: Detect overlapping edits in StreamingEditFileTool (#50181)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

7cca7bc ssh: Fix IPv6 address formatting in port forward `-L` arguments (#49032)

Click to expand commit body
## Summary

- Fix SSH `-L` port-forward arguments to wrap IPv6 addresses in brackets
(e.g. `-L[::1]:8080:[::1]:80`), so SSH can correctly parse them
- Rewrite `parse_port_forward_spec` to support bracket-wrapped IPv6
tokens like `[::1]:8080:[::1]:80`
- Add diagnostic logging for stdin read failures in the remote server to
aid debugging connection issues

Closes #49009

## Test plan

- [x] New unit tests: `test_parse_port_forward_spec_ipv6`,
`test_port_forward_ipv6_formatting`,
`test_build_command_with_ipv6_port_forward`
- [x] Existing tests pass: `cargo test -p remote --lib
transport::ssh::tests` (6/6)
- [ ] Manual verification: connect via SSH to an IPv6 host with port
forwarding configured

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude <noreply@anthropic.com>

Wuji Chen and Claude created

8453286 Fix panic in diff hunk rendering (#50163)

Click to expand commit body
When `row_infos.is_empty()` (if you have very very tiny editors) we
could
end up trying to read the first item out of it.

Fixes ZED-5AT
Fixes ZED-54F
Fixes ZED-56N

Updates  #49260

cc @Veykril

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
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Fixed a panic rendering diff hunk headers in 0-height editors

Conrad Irwin created

55a5483 lsp_button: Improve UI for LS submenu (#50160)

Click to expand commit body
This PR improves the language server submenu UI, which previously, had
its width growing way too much to fit the server message as well as some
other small inconsistencies. Now, this is all fixed and the server
message appear in full.

| Before | After |
|--------|--------|
| <img width="2312" height="1342" alt="Screenshot 2026-02-26 at 1 
13@2x"
src="https://github.com/user-attachments/assets/6922a78f-75aa-4004-af34-9343998ac6c5"
/> | <img width="2312" height="1342" alt="Screenshot 2026-02-26 at 1 
17@2x"
src="https://github.com/user-attachments/assets/03c6a9c9-e814-4de2-a0d6-de86a73fa1df"
/> |

Release Notes:

- N/A

Danilo Leal created

1d6a2c6 Fix Windows remote server (#50152)

Click to expand commit body
More fallout from https://github.com/zed-industries/zed/pull/49277.

Closes #50149.

Release Notes:

- Fixed remote server failing to launch on Windows.

John Tur created

2ec2b4c Fix and improve docs automation scripts (#50120)

Click to expand commit body
## Summary

Fixes issues discovered while running the docs automation workflow for
the first time, plus improvements based on the v0.225 run where 44
suggestions overwhelmed a single Droid invocation.

### docs-suggest-publish
- Ignore untracked files when checking for clean working directory
- Add `--auto high` flag to droid exec for non-interactive use
- Add error handling to show droid output on failure
- Remove non-existent `documentation` label from PR creation
- Use `--write` flag for prettier to fix formatting
- **Batch suggestions** into groups of 10 (configurable with
`--batch-size`) to prevent Droid from dropping suggestions when context
is too large
- **Pre-PR docs build validation** — runs `generate-action-metadata` +
`mdbook build` before creating the PR to catch invalid `{#action}` and
`{#kb}` references locally instead of waiting for CI (skippable with
`--skip-validation`)
- **Prompt guardrail** — instructs Droid not to invent `{#kb}` or
`{#action}` references, only reusing action names already present in
docs files
- **Stable release detection** — at publish time, checks each queued
PR's merge commit against the latest stable release tag. PRs already in
stable get annotated "ALREADY IN STABLE" so Droid applies content
changes without adding incorrect Preview callouts
- **Feature flag detection** — parses
`crates/feature_flags/src/flags.rs` for all feature flag struct names,
then checks each PR's diff for references. PRs behind feature flags are
skipped entirely since those features aren't generally available yet

### docs-strip-preview-callouts
- Remove non-existent `documentation` label from PR creation
- Add `Release Notes: - N/A` to generated PR body (fixes Danger bot
check)

## Context

These scripts were run for the first time as part of the v0.225 release.
Issues found:
1. The `documentation` label doesn't exist in this repo
2. Droid exec needs `--auto high` for non-interactive execution
3. Prettier needs `--write` to actually fix files (was running in check
mode)
4. Untracked files should not block the workflow
5. Sending all 44 suggestions in one Droid invocation only applied 2 —
batching in groups of 10 fixed this
6. Droid hallucinated action names (`settings::OpenSettings`,
`gpui::Modifiers::secondary_key`) that broke the docs preprocessor build
7. PRs that shipped in stable v0.225 incorrectly got Preview callouts
because the queue doesn't distinguish preview-only from
already-in-stable
8. PRs behind feature flags (subagents, git graph) got documented
despite not being generally available

Release Notes:

- N/A

morgankrey created

3da9adc Edit prediction: add some typescript evals, fix a teacher model failure mode (#50141)

Click to expand commit body
In some evals, the teacher produced hallucinations, seemingly due to
context rot. This makes the zeta prompt crate's budgeted rendering
usable by the teacher, so that it can truncate the list of excerpts.

I've also cleaned up the implementation of zeta_prompt's
`format_related_files_within_budget`, and changed the behavior so that
it filters the the excerpts by priority but renders the files in their
original order.

Release Notes:

- N/A

Max Brunsfeld created

72d69d1 multi_workspace: Move up action handler and modal rendering from workspace to multi workspace (#49995)

Click to expand commit body
Now that MultiWorkspace is the root view, actions bound to the
`Workspace` key context wouldn't be dispatched when `Workspace` is not
in the key context stack (e.g. when the sidebar is focused). To fix
this, the `Workspace` key context and action handlers are moved up to
the MultiWorkspace rendering layer. This avoids introducing a new key
context and the keymap migration that would require.

This PR also moves modal rendering up a layer so modals are centered
within the window (MultiWorkspace element) instead of the Workspace
element.

### Before
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/233a0b75-47a1-423a-8394-c6a1b50fb991"
/>
### After
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/9c51c839-e524-4ef8-afc9-9429b028def0"
/>


Before you mark this PR as ready for review, make sure that you have:
- [x] 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:

- N/A

---------

Co-authored-by: cameron <cameron.studdstreet@gmail.com>

Anthony Eid and cameron created

72fa971 repl: Fix duplicate output inside notebooks (#48616)

Click to expand commit body
- Render the output only when needed, fixes the duplicate output that
can happen after opening a saved notebook.
- Vim in Jupyter View with j/k navigation across notebook cells

Release Notes:

- N/A

MostlyK created

697e71d multiworkspace: Disable sidebar if disable_ai is enabled (#50137)

Click to expand commit body
We don't want to show the sidebar to users if they have `disable_ai`
enabled because it's an AI focused feature. In the future if we add non
AI functionality to the sidebar we'll reenable it.

Before you mark this PR as ready for review, make sure that you have:
- [x] 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:

- N/A

Anthony Eid created

a2e34cb agent: Implement streaming for edit file tool (#50004)

Click to expand commit body
Before you mark this PR as ready for review, make sure that you have:
- [x] 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:

- N/A

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

Bennet Bo Fenner and Zed Zippy created

078ab61 extension_ci: Shorten SHA length in PR titles (#50135)

Click to expand commit body
This PR shortens the length of the Git SHAs in the PR titles to 7
characters, as this is the default for short SHAs.

Release Notes:

- N/A

Finn Evers created

4bd99a0 docs: Add small fix to the MCP page (#50134)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

e439c29 zeta2: Send snapshot event (#50126)

Click to expand commit body
Closes #ISSUE

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
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

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

Ben Kunkle created

1a43b4b docs: Fix content in some AI pages (#50129)

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

Release Notes:

- N/A

Danilo Leal created

a18b772 Add GPT-5.3-Codex BYOK model under the OpenAI provider (#50122)

Click to expand commit body
Adds `gpt-5.3-codex` as a built-in model under the OpenAI provider for
BYOK usage.

Model specs:
- 400,000 context window
- 128,000 max output tokens
- Reasoning token support (default medium effort)
- Uses the Responses API (like other codex models)
- Token counting falls back to the gpt-5 tokenizer

Closes AI-59

Release Notes:

- Added support for GPT-5.3-Codex as a bring-your-own-key model in the
OpenAI provider.

Richard Feldman created