diff --git a/metropolis/cli/metroctl/BUILD.bazel b/metropolis/cli/metroctl/BUILD.bazel
index 5372cc5..1a43336 100644
--- a/metropolis/cli/metroctl/BUILD.bazel
+++ b/metropolis/cli/metroctl/BUILD.bazel
@@ -18,6 +18,8 @@
     name = "metroctl_lib",
     srcs = [
         "cmd_certs.go",
+        "cmd_cluster.go",
+        "cmd_cluster_takeownership.go",
         "cmd_install.go",
         "cmd_install_ssh.go",
         "cmd_install_usb.go",
@@ -28,7 +30,6 @@
         "cmd_node_logs.go",
         "cmd_node_metrics.go",
         "cmd_node_set.go",
-        "cmd_takeownership.go",
         "main.go",
         "rpc.go",
         "table_node.go",
diff --git a/metropolis/cli/metroctl/cmd_cluster.go b/metropolis/cli/metroctl/cmd_cluster.go
new file mode 100644
index 0000000..e82cb95
--- /dev/null
+++ b/metropolis/cli/metroctl/cmd_cluster.go
@@ -0,0 +1,12 @@
+package main
+
+import "github.com/spf13/cobra"
+
+var clusterCmd = &cobra.Command{
+	Short: "Manages a running Metropolis cluster.",
+	Use:   "cluster",
+}
+
+func init() {
+	rootCmd.AddCommand(clusterCmd)
+}
diff --git a/metropolis/cli/metroctl/cmd_takeownership.go b/metropolis/cli/metroctl/cmd_cluster_takeownership.go
similarity index 98%
rename from metropolis/cli/metroctl/cmd_takeownership.go
rename to metropolis/cli/metroctl/cmd_cluster_takeownership.go
index a1a205a..068dd3b 100644
--- a/metropolis/cli/metroctl/cmd_takeownership.go
+++ b/metropolis/cli/metroctl/cmd_cluster_takeownership.go
@@ -101,5 +101,5 @@
 
 func init() {
 	takeownershipCommand.Flags().String("context", "metroctl", "The name for the kubernetes context to configure")
-	rootCmd.AddCommand(takeownershipCommand)
+	clusterCmd.AddCommand(takeownershipCommand)
 }
diff --git a/metropolis/cli/metroctl/test/test.go b/metropolis/cli/metroctl/test/test.go
index 17f5f75..f4bba02 100644
--- a/metropolis/cli/metroctl/test/test.go
+++ b/metropolis/cli/metroctl/test/test.go
@@ -144,11 +144,12 @@
 
 	log.Printf("metroctl: Cluster's running, starting tests...")
 	st := t.Run("Init", func(t *testing.T) {
-		util.TestEventual(t, "metroctl takeownership", ctx, 30*time.Second, func(ctx context.Context) error {
+		util.TestEventual(t, "metroctl cluster takeownership", ctx, 30*time.Second, func(ctx context.Context) error {
 			// takeownership needs just a single endpoint pointing at the initial node.
 			var args []string
 			args = append(args, commonOpts...)
 			args = append(args, endpointOpts[0])
+			args = append(args, "cluster")
 			args = append(args, "takeownership")
 			return mctlFailIfMissing(t, ctx, args, "Successfully retrieved owner credentials")
 		})
diff --git a/metropolis/handbook/src/ch02-00-local-demo-cluster.md b/metropolis/handbook/src/ch02-00-local-demo-cluster.md
index 76a26c4..1e64e4b 100644
--- a/metropolis/handbook/src/ch02-00-local-demo-cluster.md
+++ b/metropolis/handbook/src/ch02-00-local-demo-cluster.md
@@ -71,7 +71,7 @@
 
 After the first node is set up and running, you can take ownership of the upcoming cluster:
 ```shell
-metroctl takeownership <bootstrap-node-address>
+metroctl cluster takeownership <bootstrap-node-address>
 ```
 This should result in the following output being displayed:
 ```
