musistudio/claude-code-router · error

Unknown in-app browser web search tool: ${params.name}

Error message

Unknown in-app browser web search tool: ${params.name}

What it means

Error "Unknown in-app browser web search tool: ${params.name}" thrown in musistudio/claude-code-router.

Source

Thrown at packages/electron/src/main/electron-web-search-mcp.ts:355

        language: { description: "Language hint such as en, zh-CN, ja.", type: "string" },
        prompt: { description: "Natural-language query. Search engine operators already present here are preserved.", type: "string" },
        query: { description: "Alias for prompt.", type: "string" },
        safeSearch: { enum: ["off", "moderate", "strict"], type: "string" },
        site: { description: "Single domain alias for includeDomains.", type: "string" },
        timeRange: { description: "Alias for freshness.", enum: ["day", "week", "month", "year"], type: "string" },
        timeoutMs: { minimum: 100, type: "number" }
      }, ["prompt"]),
      name: this.toolName,
      title: "In-app Browser Web Search"
    };
  }

  private async callTool(params: unknown): Promise<ToolCallResult> {
    if (!isRecord(params) || typeof params.name !== "string") {
      throw new Error("tools/call params must include a tool name.");
    }
    if (params.name !== this.toolName) {
      throw new Error(`Unknown in-app browser web search tool: ${params.name}`);
    }

    const args = isRecord(params.arguments) ? params.arguments : {};
    try {
      const input = this.readSearchInput(args);
      const record = await this.search(input);
      return textResult(formatSearchResponse(record, input.includeRaw));
    } catch (error) {
      return {
        ...textResult(formatError(error)),
        isError: true
      };
    }
  }

  async searchForProtocolResult(options: { count?: number; prompt: string; timeoutMs?: number }): Promise<BrowserWebSearchProtocolRecord> {
    return await this.search(this.readSearchInput({
      count: options.count,

View on GitHub (pinned to 99f24806c6)

When it happens

Trigger: Thrown at packages/electron/src/main/electron-web-search-mcp.ts:355 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/abc2ad715e186b52. Report an issue: GitHub.