{"record":{"id":"0bf4a4fb47ca675d","repo":"multica-ai/multica","slug":"get-label-w","errorCode":null,"errorMessage":"get label: %w","messagePattern":"get label: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/cmd/multica/cmd_label.go","lineNumber":144,"sourceCode":"\treturn nil\n}\n\nfunc runLabelGet(cmd *cobra.Command, args []string) error {\n\tclient, err := newAPIClient(cmd)\n\tif err != nil {\n\t\treturn err\n\t}\n\tctx, cancel := cli.APIContext(context.Background())\n\tdefer cancel()\n\n\tlabelRef, err := resolveLabelID(ctx, client, args[0])\n\tif err != nil {\n\t\treturn fmt.Errorf(\"resolve label: %w\", err)\n\t}\n\n\tvar label map[string]any\n\tif err := client.GetJSON(ctx, \"/api/labels/\"+labelRef.ID, &label); err != nil {\n\t\treturn fmt.Errorf(\"get label: %w\", err)\n\t}\n\n\toutput, _ := cmd.Flags().GetString(\"output\")\n\tif output == \"table\" {\n\t\theaders := []string{\"ID\", \"NAME\", \"COLOR\", \"CREATED\"}\n\t\tcreated := strVal(label, \"created_at\")\n\t\tif len(created) >= 10 {\n\t\t\tcreated = created[:10]\n\t\t}\n\t\trows := [][]string{{\n\t\t\tstrVal(label, \"id\"),\n\t\t\tstrVal(label, \"name\"),\n\t\t\tstrVal(label, \"color\"),\n\t\t\tcreated,\n\t\t}}\n\t\tcli.PrintTable(os.Stdout, headers, rows)\n\t\treturn nil\n\t}","sourceCodeStart":126,"sourceCodeEnd":162,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/cmd/multica/cmd_label.go#L126-L162","documentation":"Wraps a failed GET /api/labels/{labelID} in `multica label get`, executed after the reference was already resolved. This is a straight fetch-by-ID, so a failure here means the resolved ID is no longer valid on the server, or the request failed on transport/auth grounds.","triggerScenarios":"Label deleted between resolution and fetch (race); 401/403 from an expired token or missing permissions; server 5xx; network drop mid-request.","commonSituations":"Concurrent sessions deleting labels; long-lived scripts with stale resolved IDs; token expiry mid-run.","solutions":["Re-run `multica label list` to confirm the label still exists","Re-authenticate if the wrapped error indicates 401","Retry once for transient failures; use fresh references in long-running scripts instead of cached IDs"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"if err := client.GetJSON(ctx, \"/api/labels/\"+id, &label); err != nil {\n\tif isNotFound(err) { /* label vanished: re-list and warn */ }\n\tif isTransient(err) { retry once }\n\treturn fmt.Errorf(\"get label: %w\", err)\n}","preventionTips":["Resolve and fetch in quick succession to avoid races","Re-list labels on unexpected 404s","Refresh credentials before batch reads"],"tags":["cli","http","labels"],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}