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
- Only call probe for candidates with kind === 'codex'.
- For other providers, rely on their static model list instead of probing.
- 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
- Gate probe UI by candidate.kind.
- Add probe support before exposing new kinds.
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
- Unsupported OpenCode protocol: ${candidate.protocol}
- Local agent provider was not found.
- ${candidate.detail || "Local agent login is not importable."
- ${safetyIssue.message}
AI-assisted analysis of musistudio/claude-code-router@99f24806c6 (2026-08-27).
Data as JSON: /api/errors/26de91efe6992b08.
Report an issue: GitHub.