paperclipai/paperclip · error · Error
Invalid --include value. Use one or more of…
Error message
Invalid --include value. Use one or more of: company,agents,projects,issues,tasks,skills
What it means
parseInclude splits the --include option on commas and lowercases each token; this fires when none of the resulting tokens match a known include key, so the export/include set is rejected as unrecognized input.
Solutions
- Pass --include with a comma-separated subset of: company,agents,projects,issues,tasks,skills.
- Remove --include to use the default export set.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/src/commands/client/company.ts:185 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/3e89bfc37f3fcb1a.
Report an issue: GitHub.
Appendix: source
Thrown at cli/src/commands/client/company.ts:185
function normalizeSelector(input: string): string {
return input.trim();
}
function parseInclude(
input: string | undefined,
fallback: CompanyPortabilityInclude = DEFAULT_EXPORT_INCLUDE,
): CompanyPortabilityInclude {
if (!input || !input.trim()) return { ...fallback };
const values = input.split(",").map((part) => part.trim().toLowerCase()).filter(Boolean);
const include = {
company: values.includes("company"),
agents: values.includes("agents"),
projects: values.includes("projects"),
issues: values.includes("issues") || values.includes("tasks"),
skills: values.includes("skills"),
};
if (!include.company && !include.agents && !include.projects && !include.issues && !include.skills) {
throw new Error("Invalid --include value. Use one or more of: company,agents,projects,issues,tasks,skills");
}
return include;
}
function parseAgents(input: string | undefined): "all" | string[] {
if (!input || !input.trim()) return "all";
const normalized = input.trim().toLowerCase();
if (normalized === "all") return "all";
const values = input.split(",").map((part) => part.trim()).filter(Boolean);
if (values.length === 0) return "all";
return Array.from(new Set(values));
}
function parseCsvValues(input: string | undefined): string[] {
if (!input || !input.trim()) return [];
return Array.from(new Set(input.split(",").map((part) => part.trim()).filter(Boolean)));
}
View on GitHub (pinned to 120ae5428f)