musistudio/claude-code-router · error

${source + " item " + JSON.stringify(key) + " is missing."}

Error message

${source + " item " + JSON.stringify(key) + " is missing."}

What it means

Error "${source + " item " + JSON.stringify(key) + " is missing."}" thrown in musistudio/claude-code-router.

Source

Thrown at packages/electron/src/main/provider-account-webcontent.ts:137

    credentials: normalizeRequestCredentials(request.credentials),
    endpoint: request.endpoint,
    headerTemplates: normalizeHeaderTemplates(request.headerTemplates),
    headers: normalizeRequestHeaders(request.headers),
    maxResponseBytes,
    method: request.method,
    timeoutMs
  });

  return `
    (async () => {
      const request = ${serializedRequest};
      const headers = { ...request.headers };
      const storagePattern = /\\$\\{(localStorage|sessionStorage)(?:\\.([A-Za-z_$][\\w$]*)|\\[['"]([^'"]+)['"]\\])\\}/g;
      const readStorageValue = (source, key) => {
        const storage = source === "sessionStorage" ? sessionStorage : localStorage;
        const value = storage.getItem(key);
        if (value === null) {
          throw new Error(source + " item " + JSON.stringify(key) + " is missing.");
        }
        return value;
      };
      const renderHeaderTemplate = (template) => {
        const rendered = String(template).replace(storagePattern, (_match, source, dotKey, quotedKey) => readStorageValue(source, dotKey || quotedKey));
        if (rendered.includes("\${localStorage") || rendered.includes("\${sessionStorage")) {
          throw new Error("Unsupported browser header template expression.");
        }
        return rendered;
      };
      if (request.method === "POST" && !Object.keys(headers).some((key) => key.toLowerCase() === "content-type")) {
        headers["content-type"] = "application/json";
      }
      const controller = new AbortController();
      const timer = setTimeout(() => controller.abort(), request.timeoutMs);
      try {
        for (const [key, template] of Object.entries(request.headerTemplates || {})) {
          headers[key] = renderHeaderTemplate(template);

View on GitHub (pinned to 99f24806c6)

When it happens

Trigger: Thrown at packages/electron/src/main/provider-account-webcontent.ts:137 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/b497e23877196a09. Report an issue: GitHub.