musistudio/claude-code-router · warning · Error

Local agent provider model probing is not supported.

Error message

Local agent provider model probing is not supported.

What it means

Model probing is only implemented for codex candidates; any other kind that reaches the end of probeLocalAgentProvider throws this.

Source

Thrown at packages/core/src/agents/local-providers/service.ts:68

  }
  if (candidate.kind === "kimi") {
    return importKimiProvider(candidate, request.providerNames ?? []);
  }
  if (candidate.kind === "opencode") {
    return importOpenCodeProvider(candidate, request.providerNames ?? []);
  }
  return importZcodeProvider(candidate, request.providerNames ?? []);
}

export async function probeLocalAgentProvider(request: LocalAgentProviderProbeRequest): Promise<LocalAgentProviderProbeResult> {
  const candidate = getLocalAgentProviderCandidates().find((item) => item.id === request.id);
  if (!candidate) {
    throw new Error("Local agent provider was not found.");
  }
  if (candidate.kind === "codex") {
    return probeCodexProvider(candidate);
  }
  throw new Error("Local agent provider model probing is not supported.");
}

View on GitHub (pinned to 99f24806c6)

Solutions

  1. Only call probe for candidates with kind === 'codex'.
  2. For other providers, rely on their static model list instead of probing.
  3. Hide/disable probe affordances for unsupported kinds in the UI.

Example fix

// before
await probeLocalAgentProvider({ id: candidate.id });
// after
if (candidate.kind === "codex") {
  await probeLocalAgentProvider({ id: candidate.id });
}
Defensive patterns

Strategy: type-guard

Validate before calling

if (candidate.kind !== 'codex') skipProbe(candidate);

Type guard

function isProbeable(c: LocalAgentProviderCandidate): boolean { return c.kind === 'codex'; }

Prevention

When it happens

Trigger: Calling probeLocalAgentProvider on a candidate whose kind is not 'codex' (claude-code, kimi, opencode, zcode, etc.).

Common situations: UI exposes the probe button for all providers though only codex supports it, or new provider kinds were added without probe support.

Understand the failure class

Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.

Related errors


AI-assisted analysis of musistudio/claude-code-router@99f24806c6 (2026-08-27). Data as JSON: /api/errors/26de91efe6992b08. Report an issue: GitHub.