musistudio/claude-code-router · error · Error

Unsupported plugin link action: ${action}

Error message

Unsupported plugin link action: ${action}

What it means

Error "Unsupported plugin link action: ${action}" thrown in musistudio/claude-code-router.

Source

Thrown at packages/electron/src/main/deep-link.ts:325

    return undefined;
  }

  const host = url.hostname.toLowerCase();
  const pathSegments = url.pathname.split("/").filter(Boolean).map((segment) => decodeURIComponent(segment));
  const isPluginHost = host === "plugin";
  const isPluginPath = pathSegments[0]?.toLowerCase() === "plugin";
  if (!isPluginHost && !isPluginPath) {
    return undefined;
  }

  const pluginId = boundedPluginId(
    url.searchParams.get("plugin") ||
      url.searchParams.get("pluginId") ||
      (isPluginHost ? pathSegments[0] : pathSegments[1])
  );
  const action = (isPluginHost ? pathSegments[1] : pathSegments[2])?.toLowerCase();
  if (action && action !== "open") {
    throw new Error(`Unsupported plugin link action: ${action}`);
  }

  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.");
  }

View on GitHub (pinned to 99f24806c6)

When it happens

Trigger: Thrown at packages/electron/src/main/deep-link.ts:325 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/e95688f0e484bed0. Report an issue: GitHub.