diff --git a/quiche/quic/masque/masque_ohttp_client.cc b/quiche/quic/masque/masque_ohttp_client.cc
index 1db2d45..e86e825 100644
--- a/quiche/quic/masque/masque_ohttp_client.cc
+++ b/quiche/quic/masque/masque_ohttp_client.cc
@@ -647,6 +647,10 @@
   }
   QUICHE_LOG(INFO) << ENDPOINT << "Using relay URL: " << relay_url_.ToString();
   ObliviousHttpHeaderKeyConfig key_config = key_configs->PreferredConfig();
+  if (key_configs->NumKeys() > 1) {
+    QUICHE_LOG(INFO) << ENDPOINT << "Using key ID: "
+                     << static_cast<int>(key_config.GetKeyId());
+  }
   absl::StatusOr<absl::string_view> public_key =
       key_configs->GetPublicKeyForId(key_config.GetKeyId());
   if (!public_key.ok()) {
diff --git a/quiche/quic/masque/masque_tcp_server_bin.cc b/quiche/quic/masque/masque_tcp_server_bin.cc
index e741222..f78054e 100644
--- a/quiche/quic/masque/masque_tcp_server_bin.cc
+++ b/quiche/quic/masque/masque_tcp_server_bin.cc
@@ -75,6 +75,16 @@
     "Hex-encoded bytes of the OHTTP HPKE private key.");
 
 DEFINE_QUICHE_COMMAND_LINE_FLAG(
+    bool, pq, false, "Enable OHTTP Post Quantum support via X-Wing.");
+
+DEFINE_QUICHE_COMMAND_LINE_FLAG(
+    std::string, pq_key, "",
+    "Hex-encoded bytes of the X-Wing OHTTP HPKE private key.");
+
+DEFINE_QUICHE_COMMAND_LINE_FLAG(bool, no_classic, false,
+                                "Disable X25519 for OHTTP.");
+
+DEFINE_QUICHE_COMMAND_LINE_FLAG(
     std::string, gateway_path, "",
     "Enables and configures an OHTTP gateway. Sets the path at which the "
     "gateway will respond to both key requests and encapsulated requests. "
@@ -157,9 +167,16 @@
 
   static absl::StatusOr<std::unique_ptr<MasqueOhttpGateway>> Create() {
     auto ohttp_gateway = absl::WrapUnique(new MasqueOhttpGateway());
-    QUICHE_RETURN_IF_ERROR(ohttp_gateway->AddKeyConfig(
-        /*key_id=*/0x01, EVP_HPKE_DHKEM_X25519_HKDF_SHA256,
-        quiche::GetQuicheCommandLineFlag(FLAGS_ohttp_key)));
+    if (!quiche::GetQuicheCommandLineFlag(FLAGS_no_classic)) {
+      QUICHE_RETURN_IF_ERROR(ohttp_gateway->AddKeyConfig(
+          /*key_id=*/0x01, EVP_HPKE_DHKEM_X25519_HKDF_SHA256,
+          quiche::GetQuicheCommandLineFlag(FLAGS_ohttp_key)));
+    }
+    if (quiche::GetQuicheCommandLineFlag(FLAGS_pq)) {
+      QUICHE_RETURN_IF_ERROR(ohttp_gateway->AddKeyConfig(
+          /*key_id=*/0x02, EVP_HPKE_XWING,
+          quiche::GetQuicheCommandLineFlag(FLAGS_pq_key)));
+    }
     return ohttp_gateway;
   }
 
