musistudio/claude-code-router · error
Profile "${needle}" is ambiguous. Use the profile ID instead
Error message
Profile "${needle}" is ambiguous. Use the profile ID instead. What it means
Error "Profile "${needle}" is ambiguous. Use the profile ID instead." thrown in musistudio/claude-code-router.
Source
Thrown at packages/core/src/profiles/launch-core.ts:46
const profiles = config.profile.profiles.filter((profile) => profile.enabled);
const exactId = profiles.find((profile) => profile.id === needle);
if (exactId) {
return exactId;
}
const normalizedNeedle = normalizeLookupValue(needle);
const matches = profiles.filter((profile) =>
normalizeLookupValue(profile.name) === normalizedNeedle ||
normalizeLookupValue(profile.id) === normalizedNeedle ||
sanitizePathSegment(profile.name) === normalizedNeedle ||
sanitizePathSegment(profile.id) === normalizedNeedle
);
if (matches.length === 1) {
return matches[0];
}
if (matches.length > 1) {
throw new Error(`Profile "${needle}" is ambiguous. Use the profile ID instead.`);
}
throw new Error(`Profile "${needle}" was not found or is disabled.`);
}
export function profileOpenSurfaces(profile: ProfileConfig): ProfileOpenSurface[] {
if (profile.agent === "workbuddy" || profile.agent === "zcode" || profile.agent === "claude-design") {
return ["app"];
}
if (profile.agent === "grok" || profile.agent === "kimi" || profile.agent === "pi" || profile.agent === "kilo") {
return ["cli"];
}
const surface = normalizeProfileSurface(profile.surface);
if (surface === "cli") {
return ["cli"];
}
if (surface === "app") {
return ["app"];
}View on GitHub (pinned to 99f24806c6)
When it happens
Trigger: Thrown at packages/core/src/profiles/launch-core.ts:46 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/a9a80a14b660acca.
Report an issue: GitHub.