diff --git a/Cargo.toml b/Cargo.toml
index 77941f77499..136d5fe1c1c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -121,7 +121,7 @@ tracing-subscriber = { version = "0.3.18", features = [
 tracing-opentelemetry = "0.24.0"
 getrandom = { version = "0.2.14", features = ["js"] }
 prometheus = "0.13.4"
-tonic = { version = "0.11.0", default-features = false }
+tonic = { version = "0.12.0", default-features = false }
 opentelemetry-semantic-conventions = "0.15.0"
 opentelemetry = { version = "0.23.0", features = ["trace", "logs", "metrics"] }
 opentelemetry_sdk = { version = "0.23.0", features = [
diff --git a/tailcall-upstream-grpc/Cargo.toml b/tailcall-upstream-grpc/Cargo.toml
index 97b6b4ecb5c..554bc8855a3 100644
--- a/tailcall-upstream-grpc/Cargo.toml
+++ b/tailcall-upstream-grpc/Cargo.toml
@@ -10,8 +10,8 @@ publish = false
 hyper = { version = "0.14.28", features = ["full"] }
 tokio = { version = "1.37.0", features = ["full"] }
 headers = { workspace = true }
-tonic = "0.11.0"
-tonic-reflection = "0.11.0"
+tonic = "0.12.0"
+tonic-reflection = "0.12.0"
 prost = "0.12.4"
 prost-types = "0.12.4"
 tower = "0.4.13"
@@ -37,5 +37,5 @@ http = { workspace = true }
 
 [build-dependencies]
 protoc-bin-vendored = "3.0.0"
-tonic-build = "0.11.0"
+tonic-build = "0.12.0"
 tailcall-fixtures = { path = "../tailcall-fixtures" }