musistudio/claude-code-router · error · Error
External URL must be a valid absolute URL.
Error message
External URL must be a valid absolute URL.
What it means
Error "External URL must be a valid absolute URL." thrown in musistudio/claude-code-router.
Source
Thrown at packages/core/src/web/management-server.ts:1463
export function normalizeExternalHttpTarget(target: unknown): string | undefined {
const url = normalizeExternalTarget(target);
if (!url?.startsWith("http://") && !url?.startsWith("https://")) {
return undefined;
}
return url;
}
function normalizeExternalTarget(target: unknown): string | undefined {
const trimmed = typeof target === "string" ? target.trim() : "";
if (!trimmed || trimmed === "about:blank") {
return undefined;
}
let url: URL;
try {
url = new URL(trimmed);
} catch {
throw new Error("External URL must be a valid absolute URL.");
}
if (url.protocol === "http:" || url.protocol === "https:") {
return url.toString();
}
if (url.protocol === "ccr:" && url.hostname.toLowerCase() === "plugin") {
return url.toString();
}
throw new Error("Only http, https, and CCR plugin URLs can be opened.");
}
function execDetached(command: string, args: string[]): Promise<void> {
return new Promise((resolve, reject) => {
const child = spawn(command, args, {
detached: true,
stdio: "ignore",
windowsHide: true
});
child.once("error", reject);View on GitHub (pinned to 99f24806c6)
When it happens
Trigger: Thrown at packages/core/src/web/management-server.ts:1463 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/06d89debac6c75c1.
Report an issue: GitHub.