musistudio/claude-code-router · error · Error
Invalid plugin id: ${normalized}
Error message
Invalid plugin id: ${normalized} What it means
Error "Invalid plugin id: ${normalized}" thrown in musistudio/claude-code-router.
Source
Thrown at packages/electron/src/main/deep-link.ts:345
const appId = boundedPluginId(url.searchParams.get("app") || url.searchParams.get("appId"), true);
return {
...(appId ? { appId } : {}),
pluginId,
rawUrl
};
}
function boundedPluginId(value: string | null | undefined, optional = false): string {
const normalized = value?.trim();
if (!normalized) {
if (optional) {
return "";
}
throw new Error("Plugin id is required.");
}
if (normalized.length > 120 || !/^[a-z0-9][a-z0-9._-]*$/i.test(normalized)) {
throw new Error(`Invalid plugin id: ${normalized}`);
}
return normalized;
}
function resolvePluginApp(config: Pick<AppConfig, "plugins">, request: PluginDeepLinkRequest): GatewayPluginAppConfig | undefined {
const plugin = config.plugins.find((candidate) => candidate.enabled !== false && candidate.id === request.pluginId);
if (!plugin) {
return resolveKnownBuiltInPluginApp(request);
}
const apps = configuredPluginApps(plugin.id, plugin.apps);
if (!apps.length) {
return undefined;
}
if (request.appId) {
return apps.find((app) => (app.id || app.name) === request.appId);
}View on GitHub (pinned to 99f24806c6)
When it happens
Trigger: Thrown at packages/electron/src/main/deep-link.ts:345 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/22718a3402dc7861.
Report an issue: GitHub.