{"record":{"id":"036dea87d2c58d50","repo":"multica-ai/multica","slug":"issue-prefix-cannot-be-empty-omit-it-to-use-the","errorCode":null,"errorMessage":"--issue-prefix cannot be empty; omit it to use the server-generated prefix","messagePattern":"--issue-prefix cannot be empty; omit it to use the server-generated prefix","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/cmd/multica/cmd_workspace.go","lineNumber":323,"sourceCode":"\tbody := map[string]any{\"name\": name, \"slug\": slug}\n\tif cmd.Flags().Changed(\"description\") || cmd.Flags().Changed(\"description-stdin\") {\n\t\tdesc, _, err := resolveTextFlag(cmd, \"description\")\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tbody[\"description\"] = desc\n\t}\n\tif cmd.Flags().Changed(\"context\") || cmd.Flags().Changed(\"context-stdin\") {\n\t\tctxText, _, err := resolveTextFlag(cmd, \"context\")\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tbody[\"context\"] = ctxText\n\t}\n\tif cmd.Flags().Changed(\"issue-prefix\") {\n\t\tv, _ := cmd.Flags().GetString(\"issue-prefix\")\n\t\tif strings.TrimSpace(v) == \"\" {\n\t\t\treturn nil, fmt.Errorf(\"--issue-prefix cannot be empty; omit it to use the server-generated prefix\")\n\t\t}\n\t\tbody[\"issue_prefix\"] = v\n\t}\n\treturn body, nil\n}\n\nfunc runWorkspaceCreate(cmd *cobra.Command, _ []string) error {\n\tbody, err := buildWorkspaceCreateBody(cmd)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tclient, err := newAPIClient(cmd)\n\tif err != nil {\n\t\treturn err\n\t}\n\tclient.WorkspaceID = \"\"\n","sourceCodeStart":305,"sourceCodeEnd":341,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/cmd/multica/cmd_workspace.go#L305-L341","documentation":"In `multica workspace create`, --issue-prefix was explicitly changed but its value trims to empty. An empty prefix is not a 'clear' operation — the server generates one — so the CLI tells you to omit the flag instead of silently reinterpreting it.","triggerScenarios":"Running `multica workspace create ... --issue-prefix \"\"` or `--issue-prefix \"  \"`; only fires when cmd.Flags().Changed(\"issue-prefix\") is true.","commonSituations":"Scripts templating the flag from an optional variable that expands to an empty string.","solutions":["Omit --issue-prefix entirely to get the server-generated prefix.","Or pass a real prefix, e.g. --issue-prefix ENG.","In scripts, only append the flag when the variable is non-empty: use an args array built conditionally."],"exampleFix":"# before\nmultica workspace create --name n --slug s --issue-prefix \"\"\n\n# after\nmultica workspace create --name n --slug s","handlingStrategy":"validation","validationCode":"ARGS=(--name \"$NAME\" --slug \"$SLUG\")\n[ -n \"$PREFIX\" ] && ARGS+=(--issue-prefix \"$PREFIX\")   # append only when non-empty\nmultica workspace create \"${ARGS[@]}\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Never template --issue-prefix from an optional variable without an emptiness check.","Remember there is no 'clear prefix' — omission means server-generated."],"tags":["cli","validation","flag","workspace"],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}