yamadashy/repomix · error · RepomixError
Invalid number for --include-logs-count
Error message
Invalid number for --include-logs-count: '${v}'. Must be a non-negative integer. What it means
`--include-logs-count` controls how many recent git commits are included with `--include-logs`. The CLI enforces `/^\d+$/` (non-negative integer) in its parser, throwing this RepomixError for anything else.
Solutions
- Pass a plain non-negative integer: `--include-logs-count 50`
- Omit the option entirely to use the default (50)
- Verify script variables expand to valid integers
Example fix
// before repomix --include-logs --include-logs-count all // after repomix --include-logs --include-logs-count 100
Defensive patterns
Strategy: validation
Validate before calling
const i = process.argv.indexOf('--include-logs-count');
const v = i !== -1 ? process.argv[i + 1] : undefined;
if (v !== undefined && !/^\d+$/.test(v)) {
throw new Error(`--include-logs-count needs a non-negative integer, got: ${v}`);
} Type guard
const isNonNegativeInt = (v: unknown): v is number => typeof v === 'number' && Number.isInteger(v) && v >= 0;
Try / catch
try {
parseArgv(argv);
} catch (e) {
if (e instanceof RepomixError && e.message.includes('--include-logs-count')) {
console.error('Usage: --include-logs-count 50 (non-negative integer)');
}
process.exitCode = 1;
} Prevention
- Use plain integers only; omit the flag to accept the default (50)
- Ensure the value immediately follows the flag so it isn't consumed from the next token
When it happens
Trigger: Passing `--include-logs-count` with a negative, decimal, or non-numeric value (e.g. `-5`, `50.0`, `all`), or the option consuming the next flag when the value is omitted.
Common situations: Users trying semantic values like `--include-logs-count all`, typos in scripts, or missing the value so the next flag is parsed as the count.
Understand the failure class
Background: "Invalid ... format", "must be in format X", "does not look like a ..." — invalid argument format errors across CLI tools and libraries — this error's family across 17 libraries.
Related errors
- Invalid number for --top-files-len
- Invalid token count threshold
- --force can only be used with --skill-generate
- cannot be used with .
- --skill-output can only be used with --skill-generate
AI-assisted analysis of yamadashy/repomix@f465ad9093 (2026-08-29).
Data as JSON: /api/errors/2de594777a1f466c.
Report an issue: GitHub.
Appendix: source
Thrown at src/cli/cliRun.ts:150
).argParser(parseHumanSizeToBytes),
)
.option('--include-empty-directories', 'Include folders with no files in directory structure')
.option(
'--include-full-directory-structure',
'Show entire repository tree in the Directory Structure section, even when using --include patterns',
)
.option(
'--no-git-sort-by-changes',
"Don't sort files by git change frequency (default: most changed files first)",
)
.option('--include-diffs', 'Add git diff section showing working tree and staged changes')
.option('--include-logs', 'Add git commit history with messages and changed files')
.option(
'--include-logs-count <count>',
'Number of recent commits to include with --include-logs (default: 50)',
(v: string) => {
if (!/^\d+$/.test(v)) {
throw new RepomixError(`Invalid number for --include-logs-count: '${v}'. Must be a non-negative integer.`);
}
return Number(v);
},
)
// File Selection Options
.optionsGroup('File Selection Options')
.option(
'--include <patterns>',
'Include only files matching these glob patterns (comma-separated, e.g., "src/**/*.js,*.md")',
)
.option('-i, --ignore <patterns>', 'Additional patterns to exclude (comma-separated, e.g., "*.test.js,docs/**")')
.option('--no-gitignore', "Don't use .gitignore rules for filtering files")
.option('--no-dot-ignore', "Don't use .ignore rules for filtering files")
.option('--no-default-patterns', "Don't apply built-in ignore patterns (node_modules, .git, build dirs, etc.)")
// Remote Repository Options
.optionsGroup('Remote Repository Options')
.option('--remote <url>', 'Clone and pack a remote repository (GitHub URL or user/repo format)')
.option('--remote-branch <name>', "Specific branch, tag, or commit to use (default: repository's default branch)")View on GitHub (pinned to f465ad9093)