eyaltoledano/claude-task-master · warning
No recognized project type detected
Error message
No recognized project type detected
What it means
preflight-checker.service.ts validateRequiredTools() detects the project's types (e.g. node, python, go) and checks their required tools. If no recognized project type is found it logs this warning and proceeds with only generic checks (like gh CLI), so type-specific tool requirements are not validated.
Source
Thrown at packages/tm-core/src/modules/tasks/services/preflight-checker.service.ts:229
return toolMap[type] || [];
}
/**
* Validate required tools availability
*/
async validateRequiredTools(): Promise<CheckResult> {
const tools: ToolCheck[] = [];
// Always check git and gh CLI
tools.push(this.checkTool('git', ['--version']));
tools.push(await this.checkGhCli());
// Detect project types and check their tools
const projectTypes = this.detectProjectTypes();
if (projectTypes.length === 0) {
logger.warn('No recognized project type detected');
} else {
logger.info(`Detected project types: ${projectTypes.join(', ')}`);
}
for (const type of projectTypes) {
const typeTools = this.getToolsForProjectType(type);
for (const tool of typeTools) {
tools.push(this.checkTool(tool.command, tool.args));
}
}
// Determine overall success
const allAvailable = tools.every((tool) => tool.available);
const missingTools = tools
.filter((tool) => !tool.available)
.map((tool) => tool.name);
if (!allAvailable) {View on GitHub (pinned to c0c98d367c)
Solutions
- Run the preflight from the project root where the manifest lives
- Add a recognized manifest file (package.json, go.mod, requirements.txt, etc.) appropriate to the stack
- Install the tools the checker would require for your stack manually if detection can't be fixed
- Ignore the warning if the project genuinely needs no type-specific tools
Example fix
// before cd ~/somewhere && taskmaster preflight // after cd /path/to/project && taskmaster preflight # directory contains package.json
Defensive patterns
Strategy: validation
Validate before calling
import { existsSync } from 'fs';
const manifests = ['package.json', 'go.mod', 'requirements.txt', 'pyproject.toml', 'Cargo.toml', 'pom.xml'];
if (!manifests.some(m => existsSync(m))) console.warn('No recognized project manifest in cwd; type-specific tool checks will be skipped'); Prevention
- Run preflight checks from the project root
- Keep a recognized manifest at the repo root even in monorepos
- Install type-specific tools (node, python, go, gh) in dev/CI images
- Treat the warning as a signal you're in the wrong directory
When it happens
Trigger: Calling validateRequiredTools() in a directory with no package manifest the detector knows (no package.json, requirements.txt, go.mod, Cargo.toml, etc.), or when detection runs in the wrong working directory.
Common situations: Running the CLI from a subdirectory or the home directory instead of the project root, a project using an unsupported stack, monorepo root lacking any top-level manifest, empty scratch directory.
AI-assisted analysis of eyaltoledano/claude-task-master@c0c98d367c (2026-08-29).
Data as JSON: /api/errors/3cbb1e88d03c44be.
Report an issue: GitHub.