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

  1. Run the preflight from the project root where the manifest lives
  2. Add a recognized manifest file (package.json, go.mod, requirements.txt, etc.) appropriate to the stack
  3. Install the tools the checker would require for your stack manually if detection can't be fixed
  4. 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

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.