Added --no-recursive flag to up and get.
diff --git a/cmd/recursive_glide.go b/cmd/recursive_glide.go
index d4e5fb2..e9f5b67 100644
--- a/cmd/recursive_glide.go
+++ b/cmd/recursive_glide.go
@@ -12,6 +12,9 @@
 // Recurse looks in all known packages for a glide.yaml files and installs for
 // each one it finds.
 func Recurse(c cookoo.Context, p *cookoo.Params) (interface{}, cookoo.Interrupt) {
+	if !p.Get("enable", true).(bool) {
+		return nil, nil
+	}
 	Info("Checking dependencies for updates.\n")
 	conf := p.Get("conf", &Config{}).(*Config)
 	vend, _ := VendorPath(c)
@@ -68,9 +71,6 @@
 			continue
 		}
 
-		// How do we want to do this? Should we run the glide command,
-		// which would allow environmental control, or should we just
-		// run the update route in that directory?
 		if err := VcsGet(imp, wd); err != nil {
 			Warn("Skipped getting %s: %s\n", imp.Name, err)
 			continue
diff --git a/glide.go b/glide.go
index b5b43fe..0f1dee5 100644
--- a/glide.go
+++ b/glide.go
@@ -133,13 +133,26 @@
 		$ glide get github.com/Masterminds/cookoo/web
 
 	The above will install the package github.com/Masterminds/cookoo and add
-	the subpackage 'web'.`,
+	the subpackage 'web'.
+
+	If a fetched dependency has a glide.yaml file, 'get' will also install
+	all of the dependencies for that dependency. Those are installed in a scoped
+	vendir directory. So dependency vendor/foo/bar has its dependencies stored
+	in vendor/foo/bar/vendor. This behavior can be disabled using
+	'--no-recursive'`,
+			Flags: []cli.Flag{
+				cli.BoolFlag{
+					Name:  "no-recursive",
+					Usage: "Disable updating dependencies' dependencies.",
+				},
+			},
 			Action: func(c *cli.Context) {
 				if len(c.Args()) < 1 {
 					fmt.Println("Oops! Package name is required.")
 					os.Exit(1)
 				}
 				cxt.Put("package", c.Args()[0])
+				cxt.Put("recursiveDependencies", !c.Bool("no-recursive"))
 				setupHandler(c, "get", cxt, router)
 			},
 		},
@@ -221,15 +234,26 @@
 			Description: `This uses the native VCS of each package to try to
 	pull the most applicable updates. Packages with fixed refs (Versions or
 	tags) will not be updated. Packages with no ref or with a branch ref will
-	be updated as expected.`,
+	be updated as expected.
+
+	If a dependency has a glide.yaml file, update will read that file and
+	update those dependencies accordingly. Those dependencies are maintained in
+	a scoped vendor directory. 'vendor/foo/bar' will have its dependencies
+	stored in 'vendor/foo/bar/vendor'. This behavior can be disabled with
+	'--no-recursive'.`,
 			Flags: []cli.Flag{
 				cli.BoolFlag{
 					Name:  "delete",
 					Usage: "Delete vendor packages not specified in config.",
 				},
+				cli.BoolFlag{
+					Name:  "no-recursive",
+					Usage: "Disable updating dependencies' dependencies.",
+				},
 			},
 			Action: func(c *cli.Context) {
 				cxt.Put("deleteOptIn", c.Bool("delete"))
+				cxt.Put("recursiveDependencies", !c.Bool("no-recursive"))
 				setupHandler(c, "update", cxt, router)
 			},
 		},
@@ -294,6 +318,7 @@
 		Using("conf").From("cxt:cfg").
 		Does(cmd.MergeToYaml, "merged").Using("conf").From("cxt:cfg").
 		Does(cmd.Recurse, "recurse").Using("conf").From("cxt:cfg").
+		Using("enable").From("cxt:recursiveDependencies").
 		Does(cmd.WriteYaml, "out").
 		Using("yaml.Node").From("cxt:merged").
 		Using("filename").WithDefault("glide.yaml").From("cxt:yaml")
@@ -315,7 +340,8 @@
 		Using("optIn").From("cxt:deleteOptIn").
 		Does(cmd.UpdateImports, "dependencies").Using("conf").From("cxt:cfg").
 		Does(cmd.SetReference, "version").Using("conf").From("cxt:cfg").
-		Does(cmd.Recurse, "recurse").Using("conf").From("cxt:cfg")
+		Does(cmd.Recurse, "recurse").Using("conf").From("cxt:cfg").
+		Using("enable").From("cxt:recursiveDependencies")
 
 	//Does(cmd.Rebuild, "rebuild").Using("conf").From("cxt:cfg")