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, err

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Pass a plain integer: --limit 50
  2. Remove suffixes/units from the value
  3. 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

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


AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06). Data as JSON: /api/errors/1537216bdc884aa7. Report an issue: GitHub.