multica-ai/multica · error
no %s found matching id prefix %q; run the list command with
Error message
no %s found matching id prefix %q; run the list command with --full-id to copy the full UUID
What it means
Returned by resolveIDByPrefix when the candidate list was fetched successfully but zero entries have a compact UUID starting with the given prefix. The message suggests running the list command with --full-id to copy a valid UUID, since prefix matching is client-side over the current list.
Source
Thrown at server/cmd/multica/cmd_id_resolver.go:107
candidates, err := fetch(ctx, client)
if err != nil {
return resolvedID{}, fmt.Errorf("resolve %s: %w", kind, err)
}
matches := make([]idCandidate, 0, 1)
for _, c := range candidates {
if c.ID == "" {
continue
}
if strings.HasPrefix(compactUUID(c.ID), prefix) {
matches = append(matches, c)
}
}
switch len(matches) {
case 0:
return resolvedID{}, fmt.Errorf("no %s found matching id prefix %q; run the list command with --full-id to copy the full UUID", kind, input)
case 1:
display := matches[0].Display
if display == "" {
display = matches[0].ID
}
return resolvedID{ID: matches[0].ID, Display: display}, nil
default:
return resolvedID{}, ambiguousIDPrefixError(kind, input, matches)
}
}
func ambiguousIDPrefixError(kind, input string, matches []idCandidate) error {
sort.Slice(matches, func(i, j int) bool {
return matches[i].ID < matches[j].ID
})
parts := make([]string, 0, len(matches))
for _, m := range matches {
parts = append(parts, " "+m.ID)View on GitHub (pinned to 2c0912b6ec)
Solutions
- Run the corresponding list command with --full-id and copy the current UUID
- Verify the resource still exists and belongs to the workspace the CLI is targeting
- Check for typos in the prefix — even one wrong hex digit yields zero matches
- Refresh any hardcoded ids stored in scripts or documentation
Example fix
# before multica label rm "deadbe" # error: no label found matching id prefix "deadbe" # after multica label list --full-id multica label rm "0deadbeef-...-full-uuid"
Defensive patterns
Strategy: validation
Validate before calling
// verify the prefix matches at least one known id before invoking
matches := 0
for _, id := range knownIDs {
if strings.HasPrefix(compactUUID(id), prefix) {
matches++
}
}
if matches == 0 {
return fmt.Errorf("prefix %q matches no known resource; refresh ids", prefix)
} Prevention
- Treat stored ids as perishable: re-list with --full-id when a no-match error appears
- Scope checks to the correct workspace — ids from other workspaces never match
When it happens
Trigger: Passing a valid-format prefix (>= 4 hex chars) that matches no existing resource — a deleted resource, a prefix from another workspace, or a typo. The fetch succeeded, so this is a data mismatch, not a network problem.
Common situations: Resource was deleted after the id was copied; id belongs to a different workspace than the CLI's current one; stale ids cached in scripts or notes; simple transcription errors in the prefix.
Related errors
- expected a full UUID or at least %d hex characters, got %q
- expected a UUID prefix containing only hex characters, got %
- ambiguous %s id prefix %q; matches: %s Use more characters o
- issue ref %q looks like a short UUID prefix; short prefixes
- resolve trigger: %w
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/14aa84eb4a428024.
Report an issue: GitHub.