{"record":{"id":"a6d2bf1f3d48e994","repo":"multica-ai/multica","slug":"email-is-required","errorCode":null,"errorMessage":"email is required","messagePattern":"email is required","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/cmd/multica/cmd_workspace.go","lineNumber":830,"sourceCode":"\n\theaders := []string{\"USER ID\", \"NAME\", \"EMAIL\", \"ROLE\"}\n\trows := make([][]string, 0, len(members))\n\tfor _, m := range members {\n\t\trows = append(rows, []string{\n\t\t\tstrVal(m, \"user_id\"),\n\t\t\tstrVal(m, \"name\"),\n\t\t\tstrVal(m, \"email\"),\n\t\t\tstrVal(m, \"role\"),\n\t\t})\n\t}\n\tcli.PrintTable(os.Stdout, headers, rows)\n\treturn nil\n}\n\nfunc runWorkspaceMemberInvite(cmd *cobra.Command, args []string) error {\n\temail := strings.ToLower(strings.TrimSpace(args[0]))\n\tif email == \"\" {\n\t\treturn fmt.Errorf(\"email is required\")\n\t}\n\n\t// Validate the role client-side to fail fast with a clear message; the\n\t// server enforces the same rule (normalizeMemberRole rejects unknown roles\n\t// and CreateInvitation refuses owner). Keep the accepted set in sync.\n\trole, _ := cmd.Flags().GetString(\"role\")\n\trole = strings.ToLower(strings.TrimSpace(role))\n\tif role == \"\" {\n\t\trole = \"member\"\n\t}\n\tswitch role {\n\tcase \"member\", \"admin\":\n\tcase \"owner\":\n\t\treturn fmt.Errorf(\"cannot invite as owner; use --role member or --role admin\")\n\tdefault:\n\t\treturn fmt.Errorf(\"invalid --role %q; expected member or admin\", role)\n\t}\n","sourceCodeStart":812,"sourceCodeEnd":848,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/cmd/multica/cmd_workspace.go#L812-L848","documentation":"Error \"email is required\" thrown in multica-ai/multica.","triggerScenarios":"Thrown at server/cmd/multica/cmd_workspace.go:830 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide the email address of the member to invite."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}