chenhg5/cc-connect · error
invalid --limit %q
Error message
invalid --limit %q
What it means
The --limit flag is parsed with fmt.Sscanf("%d"); anything that is not a leading integer fails and produces "invalid --limit %q". Note Sscanf accepts leading sign/whitespace and stops at first non-digit, so values like "10abc" parse as 10 without error.
Source
Thrown at cmd/cc-connect/tuitui.go:305
case "--end-time":
v, err := value()
if err != nil {
return opts, err
}
opts.endTime = v
case "--cursor":
v, err := value()
if err != nil {
return opts, err
}
opts.cursor = v
case "--limit":
v, err := value()
if err != nil {
return opts, err
}
if _, err := fmt.Sscanf(v, "%d", &opts.limit); err != nil {
return opts, fmt.Errorf("invalid --limit %q", v)
}
case "--order-asc":
v, err := value()
if err != nil {
return opts, err
}
b := strings.EqualFold(v, "true") || v == "1" || strings.EqualFold(v, "yes")
opts.orderAsc = &b
case "--q", "--query":
v, err := value()
if err != nil {
return opts, err
}
opts.query = v
case "--url":
v, err := value()
if err != nil {
return opts, errView on GitHub (pinned to 4000b2338a)
Solutions
- Pass a plain integer: --limit 50
- Remove suffixes/units from the value
- Check quoting — an accidental "" yields an empty string
Example fix
// before cc-connect tuitui messages --limit 10x // after cc-connect tuitui messages --limit 10
Defensive patterns
Strategy: validation
Validate before calling
if n, err := strconv.Atoi(v); err != nil || n < 0 {
return fmt.Errorf("invalid --limit %q", v)
} Try / catch
if _, err := parseTuiTuiArgs(args); err != nil {
if strings.HasPrefix(err.Error(), "invalid --limit") {
fmt.Fprintf(os.Stderr, "usage: --limit <int>\n")
}
} Prevention
- Pass plain integers without units or suffixes
- Avoid Sscanf's permissiveness — prefer strconv.Atoi for strict parsing
- Sanity-check flag values in shell scripts before invoking
When it happens
Trigger: `--limit abc`, `--limit ""` (quoted empty), or any non-integer string passed to runTuiTuiMessages/runTuiTuiDownload/runTuiTuiPost via parseTuiTuiArgs.
Common situations: Typos in numeric flag; passing a count with a suffix like "1k" or "10 messages"; locale-formatted numbers.
Understand the failure class
Background: "unknown output mode", "invalid value for flag", "expects true/false": fixing invalid flag value errors in CLI tools — this error's family across 24 libraries.
Related errors
- invalid --max-bytes %q
- %s must be true or false
- timeout_mins must be an integer
- invalid value for --log-max-size: %s
- invalid --platform-type %q, want feishu or lark
AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06).
Data as JSON: /api/errors/1537216bdc884aa7.
Report an issue: GitHub.