diff --git a/cumulus/polkadot-parachains/src/cli.rs b/cumulus/polkadot-parachains/src/cli.rs
index 20ec95676d92cfeeb347ece5f3351c021f5e4746..0b4bf72032385359d5c954e9539a3198751adfb2 100644
--- a/cumulus/polkadot-parachains/src/cli.rs
+++ b/cumulus/polkadot-parachains/src/cli.rs
@@ -54,6 +54,9 @@ pub enum Subcommand {
 	/// The custom benchmark subcommmand benchmarking runtime pallets.
 	#[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]
 	Benchmark(frame_benchmarking_cli::BenchmarkCmd),
+
+	/// Key management CLI utilities
+	Key(sc_cli::KeySubcommand),
 }
 
 /// Command for exporting the genesis state of the parachain
diff --git a/cumulus/polkadot-parachains/src/command.rs b/cumulus/polkadot-parachains/src/command.rs
index 5a238287e543d651fccea9b2c4157cc4760766e7..753f1bbc5df3b32a223d1cc242bd032ae795d9c7 100644
--- a/cumulus/polkadot-parachains/src/command.rs
+++ b/cumulus/polkadot-parachains/src/command.rs
@@ -399,6 +399,7 @@ pub fn run() -> Result<()> {
 				You can enable it with `--features runtime-benchmarks`."
 					.into())
 			},
+		Some(Subcommand::Key(cmd)) => Ok(cmd.run(&cli)?),
 		None => {
 			let runner = cli.create_runner(&cli.run.normalize())?;