diff --git a/.github/scripts/compile-settings.jq b/.github/scripts/compile-settings.jq
index 20ff9132..24391921 100644
--- a/.github/scripts/compile-settings.jq
+++ b/.github/scripts/compile-settings.jq
@@ -26,6 +26,12 @@ if $for_release then {
   else "" end
 )
 |
+.features = (
+  if ($matrix."use-cross" // false)
+  then .features // ["zstd-thin"]
+  else .features end
+)
+|
 .features = (
   if (.features | length > 0)
   then "--no-default-features --features \(.features | join(","))"
diff --git a/crates/bin/Cargo.toml b/crates/bin/Cargo.toml
index dcf60d18..d7db1754 100644
--- a/crates/bin/Cargo.toml
+++ b/crates/bin/Cargo.toml
@@ -60,6 +60,8 @@ native-tls = ["binstalk/native-tls"]
 
 trust-dns = ["binstalk/trust-dns"]
 
+zstd-thin = ["binstalk/zstd-thin"]
+
 fancy-no-backtrace = ["miette/fancy-no-backtrace"]
 fancy-with-backtrace = ["fancy-no-backtrace", "miette/fancy"]
 
diff --git a/crates/binstalk-downloader/Cargo.toml b/crates/binstalk-downloader/Cargo.toml
index 4f9900b1..c15f887a 100644
--- a/crates/binstalk-downloader/Cargo.toml
+++ b/crates/binstalk-downloader/Cargo.toml
@@ -69,3 +69,5 @@ native-tls = ["reqwest/native-tls", "trust-dns-resolver?/dns-over-native-tls"]
 
 # Enable trust-dns-resolver so that features on it will also be enabled.
 trust-dns = ["trust-dns-resolver", "reqwest/trust-dns"]
+
+zstd-thin = ["zstd/thin"]
diff --git a/crates/binstalk/Cargo.toml b/crates/binstalk/Cargo.toml
index 4031e066..8abc3811 100644
--- a/crates/binstalk/Cargo.toml
+++ b/crates/binstalk/Cargo.toml
@@ -49,3 +49,5 @@ rustls = ["crates_io_api/rustls", "binstalk-downloader/rustls"]
 native-tls = ["binstalk-downloader/native-tls"]
 
 trust-dns = ["binstalk-downloader/trust-dns"]
+
+zstd-thin = ["binstalk-downloader/zstd-thin"]