multica-ai/multica · error
issue ref %q looks like a short UUID prefix; short prefixes
Error message
issue ref %q looks like a short UUID prefix; short prefixes are no longer supported for issues. Use the issue key (e.g. MUL-123) shown by `multica issue list`, or pass the full UUID (run a list command with --full-id to copy it)
What it means
Returned by resolveIssueRef when the input normalizes as a short UUID prefix (>= 4 hex chars after dash-stripping) but is neither an issue key nor a full UUID. Short prefixes for issues were deliberately removed: resolving them required client-side paging of the entire issue list, causing 14–35s timeouts on large workspaces (GH #4701). The message offers the two supported alternatives.
Source
Thrown at server/cmd/multica/cmd_id_resolver.go:162
func resolveIssueRef(ctx context.Context, client *cli.APIClient, input string) (resolvedID, error) {
trimmed := strings.TrimSpace(input)
if trimmed == "" {
return resolvedID{}, fmt.Errorf("issue id is required")
}
if looksLikeIssueIdentifier(trimmed) {
return fetchIssueRef(ctx, client, trimmed)
}
if uuidRegexp.MatchString(trimmed) {
return fetchIssueRef(ctx, client, trimmed)
}
// Detect the common "I copied a truncated UUID" case and give a
// tailored hint. normalizeUUIDPrefix succeeds for any input that is
// ≥4 hex chars (after stripping dashes), which matches what the old
// resolver used to accept as a prefix.
if _, err := normalizeUUIDPrefix(trimmed); err == nil {
return resolvedID{}, fmt.Errorf(
"issue ref %q looks like a short UUID prefix; short prefixes are no longer supported for issues. "+
"Use the issue key (e.g. MUL-123) shown by `multica issue list`, or pass the full UUID (run a list command with --full-id to copy it)",
input,
)
}
return resolvedID{}, fmt.Errorf(
"issue ref %q is not a recognized issue reference; use the issue key (e.g. MUL-123) shown by `multica issue list`, or pass the full UUID",
input,
)
}
func fetchIssueRef(ctx context.Context, client *cli.APIClient, ref string) (resolvedID, error) {
var issue map[string]any
if err := client.GetJSON(ctx, "/api/issues/"+url.PathEscape(ref), &issue); err != nil {
return resolvedID{}, err
}
c := issueCandidate(issue)
if c.Display == "" {View on GitHub (pinned to 2c0912b6ec)
Solutions
- Use the issue key (e.g. MUL-123) shown by multica issue list
- Or pass the full UUID — run multica issue list --full-id to copy it
- Update any scripts still passing truncated issue UUIDs to use keys or full UUIDs
Example fix
# before multica issue show 1881abcd # error: issue ref "1881abcd" looks like a short UUID prefix; ... # after multica issue show MUL-1852 # or multica issue list --full-id && multica issue show 1881abcd3e-...-full-uuid
Defensive patterns
Strategy: type-guard
Validate before calling
// isShortUUIDPrefix reports whether input would be rejected as an issue
// short prefix (hex, >= 4 chars, but not a full UUID or issue key).
func isShortUUIDPrefix(input string) bool {
t := strings.TrimSpace(input)
if isFullUUID(t) || looksLikeIssueKey(t) {
return false
}
_, err := normalizeUUIDPrefix(t)
return err == nil
} Type guard
// IssueRefOK narrows an input to the two accepted issue reference forms.
func IssueRefOK(input string) bool {
t := strings.TrimSpace(input)
return looksLikeIssueIdentifier(t) || uuidRegexp.MatchString(t)
} Prevention
- Never rely on short prefixes for issues — upgrade-era scripts are the main source of this error
- Extract issue keys from issue list output rather than truncating UUIDs
When it happens
Trigger: Passing a truncated issue UUID like "1881abcd" or "1881" to any issue command. normalizeUUIDPrefix succeeds on it (hex, >= 4 chars), so the tailored hint fires instead of the generic unrecognized-reference error.
Common situations: Users who relied on short issue prefixes in older CLI versions after upgrading; copying a truncated UUID from log output or a trimmed table; muscle memory from other resources (labels, projects) that still accept prefixes.
Related errors
- expected a full UUID or at least %d hex characters, got %q
- expected a UUID prefix containing only hex characters, got %
- no %s found matching id prefix %q; run the list command with
- ambiguous %s id prefix %q; matches: %s Use more characters o
- issue ref %q is not a recognized issue reference; use the is
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/7037d044835b30de.
Report an issue: GitHub.