diff --git a/cmd/helm.go b/cmd/helm.go
index 8821160bfd03f5b4467040c64f85eeab6451b435..d69ebd667af871590d55536a9e8bf0128a3689ea 100644
--- a/cmd/helm.go
+++ b/cmd/helm.go
@@ -39,7 +39,21 @@ func commands() []cli.Command {
 			},
 		},
 		{
-			Name: "target",
+			Name:      "target",
+			Usage:     "Displays information about cluster.",
+			ArgsUsage: "",
+			Action: func(c *cli.Context) {
+				if err := target(c.Bool("dry-run")); err != nil {
+					format.Error(err.Error())
+					os.Exit(1)
+				}
+			},
+			Flags: []cli.Flag{
+				cli.BoolFlag{
+					Name:  "dry-run",
+					Usage: "Only display the underlying kubectl commands.",
+				},
+			},
 		},
 		{
 			Name: "doctor",
diff --git a/cmd/target.go b/cmd/target.go
new file mode 100644
index 0000000000000000000000000000000000000000..cb06c8e774cafd1cfa77ff6418a5bb677f874b44
--- /dev/null
+++ b/cmd/target.go
@@ -0,0 +1,21 @@
+package main
+
+import (
+	"fmt"
+
+	"github.com/deis/helm-dm/format"
+	"github.com/deis/helm-dm/kubectl"
+)
+
+func target(dryRun bool) error {
+	client := kubectl.Client
+	if dryRun {
+		client = kubectl.PrintRunner{}
+	}
+	out, err := client.ClusterInfo()
+	if err != nil {
+		return fmt.Errorf("%s (%s)", out, err)
+	}
+	format.Msg(string(out))
+	return nil
+}