zed/crates
koh-sh 5be9dc1781
Fix duplicate window when opening from CLI on macOS (#48146)
Closes #47140
Closes #44691

When launching Zed from the CLI (`zed .`), macOS delivers the path as a
`kAEGetURL` Apple Event via Launch Services. Zed relied on the
`application:openURLs:` delegate method to receive this, but its timing
relative to `applicationDidFinishLaunching:` is not guaranteed by macOS.
In release builds, the app reaches `didFinishLaunching` before the URL
is delivered, causing it to be missed and a duplicate window to be
opened. This does not reproduce in debug builds due to slower
initialization, which is why the issue was hard to reproduce from
source.

This replaces `application:openURLs:` with a custom `kAEGetURL` Apple
Event handler registered in `applicationWillFinishLaunching:`. Apple
Events are guaranteed to be delivered synchronously between
`willFinishLaunching` and `didFinishLaunching`, ensuring the URL is
always available before startup logic runs.

 Release Notes:

- Fixed duplicate window creation when opening files/directories from
the CLI on macOS.

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
2026-04-08 23:14:54 -06:00
..
acp_thread Fix repeated prompts in opencode acp (#53216) 2026-04-08 18:48:25 +00:00
acp_tools markdown: Refactor code block copy button visibility to use enum (#52817) 2026-04-01 09:05:03 +00:00
action_log Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
activity_indicator Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
agent Persist fast mode across new threads (#53356) 2026-04-08 18:59:33 +00:00
agent_servers acp: Better handling of terminal auth on remote connections (#53396) 2026-04-08 18:21:02 +00:00
agent_settings Remove Agent V2 feature flag (#52792) 2026-04-08 00:34:54 +00:00
agent_ui Remove unused delete_history_entry method (#53436) 2026-04-09 01:49:33 +00:00
ai_onboarding Add some adjustments to the parallel onboarding elements (#53449) 2026-04-08 20:39:02 -03:00
anthropic language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
askpass
assets
audio audio: Remove rodio audio backend (#51945) 2026-03-24 00:58:09 +01:00
auto_update auto_update: Improve Linux rsync hinting (#50637) 2026-03-18 21:31:20 -04:00
auto_update_helper Try to fix auto-updates when Explorer.exe holds Zed.exe (#50332) 2026-03-03 17:47:35 +01:00
auto_update_ui Add some adjustments to the parallel onboarding elements (#53449) 2026-04-08 20:39:02 -03:00
aws_http_client
bedrock bedrock: Add new Bedrock models (NVIDIA, Z.AI, Mistral, MiniMax) (#53043) 2026-04-07 11:59:12 +02:00
breadcrumbs editor: Replace BreadcrumbText with HighlightedText (#51083) 2026-03-13 08:00:22 +00:00
buffer_diff Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
call Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
channel Add the ability to reorder favorited collab channels (#52649) 2026-03-30 13:07:13 +00:00
cli cli: Add --dev-container flag to open project in dev container (#51175) 2026-04-02 10:20:49 -07:00
client Add some adjustments to the parallel onboarding elements (#53449) 2026-04-08 20:39:02 -03:00
clock text: Narrow insertion-relative offsets from usize to u32 (#49801) 2026-02-25 08:12:04 +01:00
cloud_api_client language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
cloud_api_types cloud_api_types: Add is_personal field to Organization (#52349) 2026-03-24 16:59:55 -04:00
cloud_llm_client language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
codestral language_model: Decouple from Zed-specific implementation details (#52913) 2026-04-02 17:06:57 -03:00
collab agent_panel: Add new thread git worktree/branch pickers (#52979) 2026-04-07 05:21:47 -04:00
collab_ui collab: Remove incoming invite badge count from panel icon (#53363) 2026-04-08 01:37:24 -04:00
collections Add VecMap::entry_ref (#52601) 2026-03-27 18:06:56 -07:00
command_palette command_palette: Fix keymap editor not matching actions with underscored namespaces (#50415) 2026-03-31 15:09:16 -04:00
command_palette_hooks
component
component_preview Strong app state (#52602) 2026-03-27 14:56:46 -07:00
context_server Update futures to 0.3.32 (#52910) 2026-04-05 23:05:35 +01:00
copilot Update futures to 0.3.32 (#52910) 2026-04-05 23:05:35 +01:00
copilot_chat copilot_chat: Serialize ToolChoice::Any as "required" instead of "any" (#52015) 2026-03-24 13:22:21 +00:00
copilot_ui Strong app state (#52602) 2026-03-27 14:56:46 -07:00
crashes Redact string panics (#51248) 2026-03-11 03:08:39 +00:00
credentials_provider language_model: Decouple from Zed-specific implementation details (#52913) 2026-04-02 17:06:57 -03:00
csv_preview csv_preview: Add independently resizable columns (#53295) 2026-04-08 07:24:37 +00:00
dap Bump Rust version to 1.94 (#51086) 2026-03-30 09:06:59 +00:00
dap_adapters debugger: Fall back to cached adapter binaries when offline (#50928) 2026-03-16 16:29:24 +00:00
db Fix shared database test isolation (#51809) 2026-03-18 12:05:57 -07:00
debug_adapter_extension
debugger_tools markdown_preview: Add search support to markdown preview (#52502) 2026-04-06 16:42:20 +00:00
debugger_ui Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
deepseek
denoise
dev_container Appropriately deserialize app_port in devcontainer.json (#53322) 2026-04-07 10:58:35 -07:00
diagnostics Fix stale buffer snapshot used in diagnostics multibuffer (#52937) 2026-04-01 22:52:19 +00:00
docs_preprocessor Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
edit_prediction Track additional metrics in settled (#52938) 2026-04-08 18:39:17 -04:00
edit_prediction_cli Track additional metrics in settled (#52938) 2026-04-08 18:39:17 -04:00
edit_prediction_context Extract language_core and grammars crates from language (#52238) 2026-03-25 23:41:09 +00:00
edit_prediction_types
edit_prediction_ui Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
editor editor: Add action to toggle block comments (#48752) 2026-04-08 22:29:16 +03:00
encoding_selector Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
env_var language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
etw_tracing time_format: Add Windows implementation (#50227) 2026-02-28 21:47:30 -05:00
eval_cli language_model: Decouple from Zed-specific implementation details (#52913) 2026-04-02 17:06:57 -03:00
eval_utils
explorer_command_injector explorer_command_injector: Avoid COM out-pointer overwrite in class factory exports (#49210) 2026-02-28 22:42:19 -05:00
extension Ignore user config when checking remote git URL for dev extensions (#52538) 2026-04-03 19:22:17 +05:30
extension_api extension_api: Expose preferred_line_length in LanguageSettings (#52175) 2026-03-24 19:11:30 -04:00
extension_cli theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
extension_host Bump tree-sitter for fix to wasm loading of grammars w/ reserved words (#52856) 2026-03-31 18:14:18 -07:00
extensions_ui Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
feature_flags Remove Agent V2 feature flag (#52792) 2026-04-08 00:34:54 +00:00
feedback Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
file_finder Add fuzzy_nucleo crate for order independent file finder search (#51164) 2026-04-07 12:05:02 +02:00
file_icons
fs Use detached commits when archiving worktrees (#53458) 2026-04-09 00:25:25 +00:00
fs_benchmarks
fuzzy fuzzy: Fix crash with Unicode chars whose lowercase expands to multiple codepoints (#52989) 2026-04-03 11:00:13 +00:00
fuzzy_nucleo Add fuzzy_nucleo crate for order independent file finder search (#51164) 2026-04-07 12:05:02 +02:00
git Use detached commits when archiving worktrees (#53458) 2026-04-09 00:25:25 +00:00
git_graph csv_preview: Add independently resizable columns (#53295) 2026-04-08 07:24:37 +00:00
git_hosting_providers
git_ui Adjust worktree name display in agent panel and git picker (#53351) 2026-04-07 23:21:17 -03:00
go_to_line Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
google_ai language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
gpui gpui: Prevent underline and strikethrough artifacts on final glyph in text runs (#50934) 2026-04-08 21:53:00 +05:30
gpui_linux gpui: Implement audible system bell (#47531) 2026-04-01 02:50:01 +00:00
gpui_macos Fix duplicate window when opening from CLI on macOS (#48146) 2026-04-08 23:14:54 -06:00
gpui_macros Disable flaky test_sidebar_invariants property test (#53410) 2026-04-08 15:50:36 +00:00
gpui_platform agent: Fix cargo test -p agent on windows (#52311) 2026-03-24 11:05:12 +00:00
gpui_shared_string language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
gpui_tokio
gpui_util GPUI on the web (#50228) 2026-02-26 18:36:50 +01:00
gpui_web gpui_wgpu: Add surface lifecycle methods for mobile platforms (#50815) 2026-03-31 13:16:53 +00:00
gpui_wgpu Fix crash in WgpuAtlas when viewing a screen share (#53088) 2026-04-03 22:31:03 +03:00
gpui_windows gpui: Add display_handle implementation for Windows, update it for macOS (#52867) 2026-04-04 16:10:22 -04:00
grammars editor: Add action to toggle block comments (#48752) 2026-04-08 22:29:16 +03:00
html_to_markdown
http_client http_client: Fix GitHub download unpack failures on some filesystems (#53286) 2026-04-07 11:19:21 +05:30
http_client_tls
icons recent_projects: Make the currently active project visible in the picker (#53302) 2026-04-07 12:44:19 -03:00
image_viewer gpui: Implement pinch event support for X11 and Windows (#51354) 2026-03-28 18:41:33 -04:00
inspector_ui Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
install_cli
journal Implement worktree interactions for the sidebar (#51421) 2026-03-12 15:34:09 -07:00
json_schema_store extension_api: Add language server schema methods (#48334) 2026-03-07 11:05:10 +01:00
keymap_editor Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
language Track additional metrics in settled (#52938) 2026-04-08 18:39:17 -04:00
language_core language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
language_extension language_core: Introduce fallback highlights (#52575) 2026-04-02 12:52:42 +00:00
language_model language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
language_model_core Persist fast mode across new threads (#53356) 2026-04-08 18:59:33 +00:00
language_models language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
language_models_cloud language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
language_onboarding Remove some outdated comments (#52432) 2026-03-25 12:07:34 -06:00
language_selector Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
language_tools markdown_preview: Add search support to markdown preview (#52502) 2026-04-06 16:42:20 +00:00
languages language_core: Introduce fallback highlights (#52575) 2026-04-02 12:52:42 +00:00
line_ending_selector Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
livekit_api
livekit_client audio: Remove rodio audio backend (#51945) 2026-03-24 00:58:09 +01:00
lmstudio ai: Add LMStudio API URL & API key support (#48309) 2026-03-06 16:49:55 +00:00
lsp lsp: Display readable gopls version in UI (#49835) 2026-03-17 08:36:37 +01:00
markdown markdown_preview: Fix HTML alignment styles not being applied (#53196) 2026-04-07 14:30:22 +05:30
markdown_preview markdown_preview: Add search support to markdown preview (#52502) 2026-04-06 16:42:20 +00:00
media
menu
migrator Settings profile base option (#52456) 2026-04-02 00:44:53 +00:00
miniprofiler_ui theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
mistral mistral: Enable streaming tool calls (#50793) 2026-03-05 08:59:05 +00:00
multi_buffer multibuffer: Speed up anchor resolution by avoiding an excerpts seek (#53340) 2026-04-07 22:37:00 +00:00
nc
net Add ETW profile recorder action (#49712) 2026-02-20 13:36:04 +00:00
node_runtime
notifications Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
ollama ollama: Don't override model's default stop tokens (#48119) 2026-03-17 10:39:54 +00:00
onboarding Add onboarding for parallel agents (#52940) 2026-04-07 22:05:43 -03:00
open_ai language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
open_path_prompt theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
open_router language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
opencode agent: Add Opencode Zen provider (#49589) 2026-03-23 12:48:49 +00:00
outline Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
outline_panel editor: Fix diagnostic rendering when semantic tokens set to full (#53008) 2026-04-07 14:15:33 +00:00
panel ui: Refactor the Button component icon methods (#51496) 2026-03-13 14:13:12 -03:00
paths Remove text thread and slash command crates (#52757) 2026-03-31 17:55:05 +02:00
picker recent_projects: Make the currently active project visible in the picker (#53302) 2026-04-07 12:44:19 -03:00
platform_title_bar Remove Agent V2 feature flag (#52792) 2026-04-08 00:34:54 +00:00
prettier Fix FormatSelections to only format selected ranges, not entire document (#51593) 2026-03-31 12:48:22 +03:00
project Use detached commits when archiving worktrees (#53458) 2026-04-09 00:25:25 +00:00
project_benchmarks
project_panel project_panel: Fix duplicating a file only selects the copy suffix (#53146) 2026-04-08 21:53:43 +05:30
project_symbols Fix compilation on main (#53257) 2026-04-06 18:18:59 +00:00
prompt_store zed_agent: Pick rules file in order described in docs (#52495) 2026-03-26 13:48:18 +00:00
proto agent_panel: Add new thread git worktree/branch pickers (#52979) 2026-04-07 05:21:47 -04:00
recent_projects Fix workspace removal, and chase down all the ramifications (#53366) 2026-04-08 09:21:39 +00:00
refineable
release_channel
remote Removal of mold/wild scripts and mentions in docs (#53078) 2026-04-08 21:20:02 +03:00
remote_connection theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
remote_server acp: Better handling of terminal auth on remote connections (#53396) 2026-04-08 18:21:02 +00:00
repl repl: Add notebook command/edit modes and keybindings (#51194) 2026-04-07 22:58:03 +02:00
reqwest_client Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
rope Swap arrayvec crate for heapless to use LenT optimization (#47101) 2026-03-21 14:05:30 +01:00
rpc Bump Rust version to 1.94 (#51086) 2026-03-30 09:06:59 +00:00
rules_library rules_library: Fix hover selecting active rule (#53264) 2026-04-06 17:19:29 -03:00
scheduler Remove Executor::close() (#50970) 2026-03-07 04:11:45 +00:00
schema_generator theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
search Stop highlighting selection matches in the search inputs (#53307) 2026-04-07 19:17:49 +03:00
session Fix shared database test isolation (#51809) 2026-03-18 12:05:57 -07:00
settings project_panel: Add sort_order settings (#50221) 2026-04-08 18:33:00 +05:30
settings_content Persist fast mode across new threads (#53356) 2026-04-08 18:59:33 +00:00
settings_json Remove some outdated comments (#52432) 2026-03-25 12:07:34 -06:00
settings_macros
settings_profile_selector Settings profile base option (#52456) 2026-04-02 00:44:53 +00:00
settings_ui project_panel: Add sort_order settings (#50221) 2026-04-08 18:33:00 +05:30
shell_command_parser Reject shell substitutions in terminal tool commands (#51689) 2026-03-16 23:49:34 -04:00
sidebar Use detached commits when archiving worktrees (#53458) 2026-04-09 00:25:25 +00:00
snippet
snippet_provider
snippets_ui
sqlez sqlez: Open named in-memory databases as SQLite URIs (#50967) 2026-03-10 20:25:12 +00:00
sqlez_macros
story
storybook theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
streaming_diff
sum_tree Swap arrayvec crate for heapless to use LenT optimization (#47101) 2026-03-21 14:05:30 +01:00
svg_preview gpui: Fix BGRA conversion for SVG rendering (#52641) 2026-03-29 14:43:05 +00:00
syntax_theme Extract syntax_theme crate (#52798) 2026-03-31 08:06:37 -06:00
system_specs
tab_switcher ui: Improve the end_hover method API in the ListItem component (#52862) 2026-03-31 21:23:42 -03:00
task Don't save buffers by default when running tasks (#52976) 2026-04-02 13:09:29 +00:00
tasks_ui tasks_ui: Fix previously used task tooltip (#53104) 2026-04-07 06:14:00 +00:00
telemetry
telemetry_events
terminal Allow agent and terminal panels to be either flexible or fixed (#52694) 2026-03-30 07:56:00 -07:00
terminal_view terminal_view: Reset cursor blink on SendText and SendKeystroke actions (#53171) 2026-04-07 02:46:30 +00:00
text Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
theme theme_selector: Preserve selected theme after empty filter (#52461) 2026-04-07 23:41:34 +00:00
theme_extension theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
theme_importer theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
theme_selector theme_selector: Preserve selected theme after empty filter (#52461) 2026-04-07 23:41:34 +00:00
theme_settings ui: Make UI independent from settings crate (#52578) 2026-03-27 15:31:49 +00:00
time_format time_format: Add Windows implementation (#50227) 2026-02-28 21:47:30 -05:00
title_bar title_bar: Improve display of sign in state (#53255) 2026-04-08 07:58:50 -03:00
toolchain_selector Require multibuffer excerpts to be ordered and nonoverlapping (#52364) 2026-04-01 17:25:32 +00:00
ui csv_preview: Add independently resizable columns (#53295) 2026-04-08 07:24:37 +00:00
ui_input agent_ui: Mask API key input in Add LLM provider modal (#50379) 2026-03-13 19:37:18 -03:00
ui_macros ui: Make UI independent from settings crate (#52578) 2026-03-27 15:31:49 +00:00
ui_prompt theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
util project_panel: Add sort_order settings (#50221) 2026-04-08 18:33:00 +05:30
util_macros
vercel
vim editor: Add action to toggle block comments (#48752) 2026-04-08 22:29:16 +03:00
vim_mode_setting workspace: Only suppress auto-save on focus transfer for the Vim/Helix command palette (#51949) 2026-03-19 12:53:26 -04:00
watch Remove unreferenced dev dependencies (#51093) 2026-03-09 13:22:12 +01:00
web_search
web_search_providers language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
which_key theme: Split out theme_settings crate (#52569) 2026-03-27 14:41:25 +01:00
workspace Add some adjustments to the parallel onboarding elements (#53449) 2026-04-08 20:39:02 -03:00
worktree Gracefully handle when linked worktree .git path is outside worktree root (#53443) 2026-04-08 15:51:05 -04:00
worktree_benchmarks
x_ai language_models: Refactor deps and extract cloud (#53270) 2026-04-07 12:28:19 -03:00
zed Bump Zed to v0.233 (#53404) 2026-04-08 17:54:51 +00:00
zed_actions repl: Add notebook command/edit modes and keybindings (#51194) 2026-04-07 22:58:03 +02:00
zed_credentials_provider language_model: Decouple from Zed-specific implementation details (#52913) 2026-04-02 17:06:57 -03:00
zed_env_vars language_model: Decouple from Zed-specific implementation details (#52913) 2026-04-02 17:06:57 -03:00
zeta_prompt Consolidate prompt formatting logic into zeta_prompt (#53079) 2026-04-06 16:29:37 -04:00
zlog zlog: Fix log file rotation never truncating original file (#50571) 2026-03-03 08:37:58 +00:00
zlog_settings
ztracing
ztracing_macro