musistudio/claude-code-router · error · Error
Plugin app URL must be an http(s) URL or a CCR gateway path.
Error message
Plugin app URL must be an http(s) URL or a CCR gateway path.
What it means
Error "Plugin app URL must be an http(s) URL or a CCR gateway path." thrown in musistudio/claude-code-router.
Source
Thrown at packages/core/src/web/management-server.ts:1252
...(id ? { id } : {}),
name,
url
};
}
function normalizePluginAppUrl(value: string | undefined): string {
const trimmed = value?.trim() || "";
if (!trimmed) {
return "";
}
if (/^https?:\/\//i.test(trimmed)) {
return new URL(trimmed).toString();
}
if (trimmed.startsWith("//")) {
throw new Error("Plugin app URL cannot be protocol-relative.");
}
if (/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(trimmed)) {
throw new Error("Plugin app URL must be an http(s) URL or a CCR gateway path.");
}
return trimmed.startsWith("/") ? trimmed : `/${trimmed}`;
}
function readPluginDependencies(
directory: string,
manifest: Record<string, unknown> | undefined,
packageJsonManifest: Record<string, unknown> | undefined
): PluginDependency[] {
const values = [
manifest?.dependencies,
manifest?.pluginDependencies,
readRecord(manifest?.ccr)?.dependencies,
readRecord(manifest?.ccrPlugin)?.dependencies,
readRecord(packageJsonManifest?.ccr)?.dependencies,
readRecord(packageJsonManifest?.ccrPlugin)?.dependencies
];
const dependencies = values.flatMap((value) => parsePluginDependencies(value, directory));View on GitHub (pinned to 99f24806c6)
When it happens
Trigger: Thrown at packages/core/src/web/management-server.ts:1252 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of musistudio/claude-code-router@99f24806c6 (2026-08-27).
Data as JSON: /api/errors/d032bcd3f24d55b0.
Report an issue: GitHub.