multica-ai/multica · warning
nothing to update; pass --name, --description, --icon, or --
Error message
nothing to update; pass --name, --description, --icon, or --option
What it means
Returned by `multica property update` when none of the mutators `--name`, `--description`, `--icon`, or `--option` were passed (checked via `cmd.Flags().Changed`). The command refuses to send an empty PATCH body, so this is pure client-side input validation.
Source
Thrown at server/cmd/multica/cmd_property.go:379
body := map[string]any{}
if cmd.Flags().Changed("name") {
name, _ := cmd.Flags().GetString("name")
body["name"] = name
}
if cmd.Flags().Changed("description") {
description, _ := cmd.Flags().GetString("description")
body["description"] = description
}
if cmd.Flags().Changed("icon") {
icon, _ := cmd.Flags().GetString("icon")
body["icon"] = icon
}
if cmd.Flags().Changed("option") {
optionFlags, _ := cmd.Flags().GetStringArray("option")
body["config"] = map[string]any{"options": parseOptionFlags(optionFlags, property.Config.Options)}
}
if len(body) == 0 {
return fmt.Errorf("nothing to update; pass --name, --description, --icon, or --option")
}
var updated propertyDTO
if err := client.PatchJSON(ctx, "/api/properties/"+property.ID, body, &updated); err != nil {
return fmt.Errorf("update property: %w", err)
}
output, _ := cmd.Flags().GetString("output")
if output == "json" {
return cli.PrintJSON(os.Stdout, updated)
}
fmt.Fprintf(os.Stdout, "Property %q updated.\n", updated.Name)
printPropertyTable([]propertyDTO{updated})
return nil
}
func makePropertyArchiveRun(archive bool) func(*cobra.Command, []string) error {
return func(cmd *cobra.Command, args []string) error {
client, err := newAPIClient(cmd)View on GitHub (pinned to 2c0912b6ec)
Solutions
- Add at least one mutation flag: `--name`, `--description`, `--icon`, or `--option`.
- If you intended only to archive/restore, use `multica property archive|unarchive` instead.
- In scripts, check that at least one of the four flags was appended before invoking the command.
Example fix
// before multica property update Priority // error: nothing to update; pass --name, --description, --icon, or --option // after multica property update Priority --description "Issue urgency"
Defensive patterns
Strategy: validation
Validate before calling
# bash: only invoke update when at least one mutator is set
[ -n "$NEW_NAME$NEW_DESC$NEW_ICON$NEW_OPTS" ] || { echo 'nothing to update'; exit 0; } Type guard
func hasUpdateFlags(cmd *cobra.Command) bool {
for _, f := range []string{"name", "description", "icon", "option"} {
if cmd.Flags().Changed(f) {
return true
}
}
return false
} Prevention
- Remember the four mutators: --name, --description, --icon, --option.
- Use `archive`/`unarchive` subcommands for lifecycle changes, not update.
When it happens
Trigger: Running `multica property update <ref>` with no mutation flags, or with only the positional property reference; also when flags are set in a config file but not explicitly changed on the command line.
Common situations: User forgets which flags are mutable; scripts that conditionally build flag lists end up passing none; assuming `--name` refers to the target rather than the new name and omitting it.
Related errors
- option %q not found on property %q; valid options: %s
- invalid direction %q (want \"up\" or \"down\")
- --name is required
- --runtime-id is required
- --runtime-config must be valid JSON: %w
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/5080223412b14f95.
Report an issue: GitHub.