diff --git a/Cargo.lock b/Cargo.lock
index 8bad1349cc..6ee7abcb70 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -7231,6 +7231,12 @@ dependencies = [
"serde",
]
+[[package]]
+name = "urlencoding"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9"
+
[[package]]
name = "usvg"
version = "0.14.1"
@@ -8273,6 +8279,7 @@ dependencies = [
"tree-sitter-typescript",
"unindent",
"url",
+ "urlencoding",
"util",
"vim",
"workspace",
diff --git a/crates/zed/Cargo.toml b/crates/zed/Cargo.toml
index 1e3167d2b8..fc7a175355 100644
--- a/crates/zed/Cargo.toml
+++ b/crates/zed/Cargo.toml
@@ -110,6 +110,7 @@ tree-sitter-html = "0.19.0"
tree-sitter-scheme = { git = "https://github.com/6cdh/tree-sitter-scheme", rev = "af0fd1fa452cb2562dc7b5c8a8c55551c39273b9"}
tree-sitter-racket = { git = "https://github.com/zed-industries/tree-sitter-racket", rev = "eb010cf2c674c6fd9a6316a84e28ef90190fe51a"}
url = "2.2"
+urlencoding = "2.1.2"
[dev-dependencies]
call = { path = "../call", features = ["test-support"] }
diff --git a/crates/zed/src/menus.rs b/crates/zed/src/menus.rs
index 3865389e99..b46e8ad703 100644
--- a/crates/zed/src/menus.rs
+++ b/crates/zed/src/menus.rs
@@ -343,10 +343,12 @@ pub fn menus() -> Vec