diff --git a/commands/cli/parse.go b/commands/cli/parse.go
index 9858a997e46f7d313c7800a6a9894b1b81d439aa..b8447961cc302979ef75c4ca11165e075f0ad7c1 100644
--- a/commands/cli/parse.go
+++ b/commands/cli/parse.go
@@ -54,13 +54,13 @@ func Parse(input []string, stdin *os.File, root *cmds.Command) (cmds.Request, *c
 	if recursiveOpt != nil && recursiveOpt.Definition() == cmds.OptionRecursivePath {
 		recursive, _, err = recursiveOpt.Bool()
 		if err != nil {
-			return nil, nil, nil, u.ErrCast()
+			return req, nil, nil, u.ErrCast()
 		}
 	}
 
 	stringArgs, fileArgs, err := parseArgs(stringVals, stdin, cmd.Arguments, recursive)
 	if err != nil {
-		return nil, cmd, path, err
+		return req, cmd, path, err
 	}
 	req.SetArguments(stringArgs)