From 779416efc8511dda95a4c849b4801fa0ca4a8e85 Mon Sep 17 00:00:00 2001 From: Douwe Osinga Date: Fri, 30 Jan 2026 10:52:15 -0500 Subject: [PATCH] Proper proxy support on windows & mac --- Cargo.lock | 13 +++++++++++++ crates/goose-mcp/Cargo.toml | 2 +- crates/goose-server/Cargo.toml | 2 +- crates/goose/Cargo.toml | 4 ++-- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b51d0f1881e6..634c0c71a1b3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3537,9 +3537,11 @@ dependencies = [ "percent-encoding", "pin-project-lite", "socket2 0.6.1", + "system-configuration", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -8867,6 +8869,17 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + [[package]] name = "windows-result" version = "0.1.2" diff --git a/crates/goose-mcp/Cargo.toml b/crates/goose-mcp/Cargo.toml index 1fd2ac7f5bd2..9e8660597385 100644 --- a/crates/goose-mcp/Cargo.toml +++ b/crates/goose-mcp/Cargo.toml @@ -26,7 +26,7 @@ schemars = "1.0" shellexpand = "3.1.0" indoc = "2.0.5" xcap = "=0.4.0" -reqwest = { workspace = true, features = ["json", "rustls-tls-native-roots"], default-features = false } +reqwest = { workspace = true, features = ["json", "rustls-tls-native-roots", "system-proxy"], default-features = false } chrono = { version = "0.4.38", features = ["serde"] } etcetera = { workspace = true } tempfile = "3.8" diff --git a/crates/goose-server/Cargo.toml b/crates/goose-server/Cargo.toml index 6e2073822f7e..dd4d69e0b811 100644 --- a/crates/goose-server/Cargo.toml +++ b/crates/goose-server/Cargo.toml @@ -34,7 +34,7 @@ thiserror = "1.0" clap = { version = "4.4", features = ["derive"] } serde_yaml = "0.9.34" utoipa = { version = "4.1", features = ["axum_extras", "chrono"] } -reqwest = { workspace = true, features = ["json", "rustls-tls", "blocking", "multipart"], default-features = false } +reqwest = { workspace = true, features = ["json", "rustls-tls", "blocking", "multipart", "system-proxy"], default-features = false } tokio-util = "0.7.15" serde_path_to_error = "0.1.20" tokio-tungstenite = { version = "0.28.0", features = ["rustls-tls-native-roots"] } diff --git a/crates/goose/Cargo.toml b/crates/goose/Cargo.toml index 3aadb82adbf2..f20f1b343f12 100644 --- a/crates/goose/Cargo.toml +++ b/crates/goose/Cargo.toml @@ -12,7 +12,7 @@ workspace = true [build-dependencies] tokio = { workspace = true } -reqwest = { workspace = true, features = ["json", "rustls-tls-native-roots"], default-features = false } +reqwest = { workspace = true, features = ["json", "rustls-tls-native-roots", "system-proxy"], default-features = false } [dependencies] lru = "0.16" @@ -27,7 +27,7 @@ anyhow = { workspace = true } thiserror = "1.0" futures = { workspace = true } dirs = "5.0" -reqwest = { workspace = true, features = ["rustls-tls-native-roots", "json", "cookies", "gzip", "brotli", "deflate", "zstd", "charset", "http2", "stream", "blocking"], default-features = false } +reqwest = { workspace = true, features = ["rustls-tls-native-roots", "json", "cookies", "gzip", "brotli", "deflate", "zstd", "charset", "http2", "stream", "blocking", "system-proxy"], default-features = false } tokio = { workspace = true } serde = { version = "1.0", features = ["derive"] } serde_json = { workspace = true }