Skip to content

Commit df6b592

Browse files
committed
fix(cli): stop parsing flags after command
1 parent 968faa0 commit df6b592

2 files changed

Lines changed: 14 additions & 1 deletion

File tree

internal/cli/flags.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ func ParseFlags(args []string) (Flags, []string) {
4343
case isStackedVerboseFlag(arg):
4444
flags.Verbose = strings.Count(arg, "v")
4545
default:
46-
remaining = append(remaining, arg)
46+
remaining = append(remaining, args[i:]...)
47+
return flags, remaining
4748
}
4849
}
4950

internal/cli/flags_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,18 @@ func TestParseFlags(t *testing.T) {
5353
wantFlags: Flags{Verbose: 1, UltraCompact: true},
5454
wantArgs: []string{"git", "status"},
5555
},
56+
{
57+
name: "command help flag is passed through",
58+
args: []string{"npx", "-y", "chrome-devtools-mcp@latest", "--help"},
59+
wantFlags: Flags{},
60+
wantArgs: []string{"npx", "-y", "chrome-devtools-mcp@latest", "--help"},
61+
},
62+
{
63+
name: "global flags stop parsing at command",
64+
args: []string{"-v", "npx", "-y", "chrome-devtools-mcp@latest", "--help"},
65+
wantFlags: Flags{Verbose: 1},
66+
wantArgs: []string{"npx", "-y", "chrome-devtools-mcp@latest", "--help"},
67+
},
5668
// "--" separator: everything after it is passed verbatim to the command.
5769
{
5870
name: "double dash passes remaining verbatim",

0 commit comments

Comments
 (0)