cline/cline · error

Invalid npm plugin source: npm:${spec}

Error message

Invalid npm plugin source: npm:${spec}

What it means

Error "Invalid npm plugin source: npm:${spec}" thrown in cline/cline.

Source

Thrown at sdk/packages/core/src/services/plugin-install.ts:193

		}
	}
	const sanitized = trimDashes(output);
	return sanitized || "plugin";
}

export function isOfficialPluginSlug(source: string): boolean {
	return /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(source.trim());
}

function resolveOfficialPluginsRepo(override: string | undefined): string {
	return override?.trim() || OFFICIAL_PLUGINS_REPO;
}

function parseNpmSpec(spec: string): { name: string } {
	const trimmed = spec.trim();
	const match = trimmed.match(/^(@?[^@/]+(?:\/[^@/]+)?)(?:@.+)?$/);
	if (!match?.[1]) {
		throw new Error(`Invalid npm plugin source: npm:${spec}`);
	}
	return { name: match[1] };
}

function looksLikeHostnamePath(source: string): boolean {
	if (
		source.startsWith(".") ||
		source.startsWith("/") ||
		source === "~" ||
		source.startsWith("~/") ||
		/^[A-Za-z]:[\\/]|^\\\\/.test(source)
	) {
		return false;
	}
	const [host, ...pathParts] = source.split("/");
	return (
		!!host &&
		pathParts.length >= 2 &&

View on GitHub (pinned to 491b30b806)

When it happens

Trigger: Thrown at sdk/packages/core/src/services/plugin-install.ts:193 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of cline/cline@491b30b806 (2026-08-25). Data as JSON: /api/errors/81813bc828b718ff. Report an issue: GitHub.