Fission-AI/OpenSpec · error
No tools detected and no --tools flag provided. Valid tools:
Error message
No tools detected and no --tools flag provided. Valid tools:
${validTools.join('\n ')}
Use --tools all, --tools none, or --tools claude,cursor,... What it means
Error "No tools detected and no --tools flag provided. Valid tools: ${validTools.join('\n ')} Use --tools all, --tools none, or --tools claude,cursor,..." thrown in Fission-AI/OpenSpec.
Source
Thrown at src/core/init.ts:628
return nonInteractiveSelection;
}
const validTools = getToolsWithSkillsDir();
const detectedToolIds = new Set(detectedTools.map((t) => t.value));
const configuredToolIds = new Set(
[...toolStates.entries()]
.filter(([, status]) => status.configured)
.map(([toolId]) => toolId)
);
const shouldPreselectDetected = !extendMode && configuredToolIds.size === 0;
const canPrompt = this.canPromptInteractively();
// Non-interactive mode: use detected tools as fallback (task 7.8)
if (!canPrompt) {
if (detectedToolIds.size > 0) {
return [...detectedToolIds];
}
throw new Error(
`No tools detected and no --tools flag provided. Valid tools:\n ${validTools.join('\n ')}\n\nUse --tools all, --tools none, or --tools claude,cursor,...`
);
}
if (validTools.length === 0) {
throw new Error(
`No tools available for skill generation.`
);
}
// Interactive mode: show searchable multi-select
const { searchableMultiSelect } = await import('../prompts/searchable-multi-select.js');
// Build choices: pre-select configured tools; keep detected tools visible but unselected.
const sortedChoices = validTools
.map((toolId) => {
const tool = AI_TOOLS.find((t) => t.value === toolId);
const status = toolStates.get(toolId);View on GitHub (pinned to 6926ccb18a)
When it happens
Trigger: Thrown at src/core/init.ts:628 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Fission-AI/OpenSpec@6926ccb18a (2026-08-25).
Data as JSON: /api/errors/2755f4a1c29cfc59.
Report an issue: GitHub.