multica-ai/multica · error

resource_type must be issue, agent, or skill

Error message

resource_type must be issue, agent, or skill

What it means

Error "resource_type must be issue, agent, or skill" thrown in multica-ai/multica.

Source

Thrown at server/internal/handler/label.go:96

type UpdateLabelRequest struct {
	Name        *string `json:"name"`
	Description *string `json:"description"`
	Color       *string `json:"color"`
}

const defaultLabelResourceType = "issue"

func parseLabelResourceType(raw string) (string, error) {
	value := strings.TrimSpace(raw)
	if value == "" {
		return defaultLabelResourceType, nil
	}
	switch value {
	case "issue", "agent", "skill":
		return value, nil
	default:
		return "", errors.New("resource_type must be issue, agent, or skill")
	}
}

// 6-digit hex, with or without leading '#'.
var hexColorRE = regexp.MustCompile(`^#?[0-9a-fA-F]{6}$`)

// normalizeColor returns a canonical "#rrggbb" form or an error if invalid.
//
// LOAD-BEARING INVARIANT: LabelChip renders `style={{ backgroundColor: color }}`
// directly in the frontend. If this regex is ever relaxed to accept arbitrary
// CSS (named colors, `url(...)`, etc.), that inline style becomes an injection
// surface. Keep the regex strict.
func normalizeColor(c string) (string, error) {
	c = strings.TrimSpace(c)
	if !hexColorRE.MatchString(c) {
		return "", errors.New("color must be a 6-digit hex value like #3b82f6")
	}
	if !strings.HasPrefix(c, "#") {

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Set resource_type to one of the allowed values: issue, agent, or skill.

When it happens

Trigger: Thrown at server/internal/handler/label.go:96 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15). Data as JSON: /api/errors/6a18428b7b776a73. Report an issue: GitHub.