multica-ai/multica · error
nothing to update; pass --description, --description-stdin,
Error message
nothing to update; pass --description, --description-stdin, --description-file, or --clear
What it means
`multica user profile update` was invoked with none of the mutating flags: no --description (or its -stdin/-file variants) and no --clear. Because the command would otherwise send a no-op PATCH, it fails fast and lists the accepted flags.
Source
Thrown at server/cmd/multica/cmd_user.go:105
return nil
}
func runUserProfileUpdate(cmd *cobra.Command, _ []string) error {
// `--clear` is its own flag (not "pass an empty string") because cobra's
// default value for a Changed("") flag would otherwise be ambiguous with
// "user typed `--description ""`". Keep both forms supported — the inline
// empty string is what someone scripting bash would reach for.
clearFlag, _ := cmd.Flags().GetBool("clear")
desc, hasDesc, err := resolveTextFlag(cmd, "description")
if err != nil {
return err
}
if clearFlag && hasDesc {
return fmt.Errorf("--clear cannot be combined with --description / --description-stdin / --description-file")
}
if !clearFlag && !hasDesc && !cmd.Flags().Changed("description") {
return fmt.Errorf("nothing to update; pass --description, --description-stdin, --description-file, or --clear")
}
if clearFlag {
desc = ""
}
body := map[string]any{"profile_description": desc}
client, err := newAPIClient(cmd)
if err != nil {
return err
}
ctx, cancel := cli.APIContext(context.Background())
defer cancel()
var me map[string]any
if err := client.PatchJSON(ctx, "/api/me", body, &me); err != nil {View on GitHub (pinned to 2c0912b6ec)
Solutions
- Pass exactly one of --description "text", --description-stdin (pipe text), --description-file path, or --clear.
- In scripts, guard before invoking: only run the command when at least one of those inputs is non-empty.
- Use `multica user profile get` if you only wanted to view the profile.
Example fix
# before multica user profile update # after echo "bio text" | multica user profile update --description-stdin
Defensive patterns
Strategy: validation
Validate before calling
[ -n "$DESC" ] || [ "$CLEAR" = "true" ] || { echo 'nothing to update: pass a description or --clear'; exit 1; } Prevention
- Guard scripts: skip the command entirely when no field is being changed.
- Prefer --description-file for scripted edits; empty file is still a deliberate clear via --clear.
When it happens
Trigger: Running bare `multica user profile update`, or passing only non-mutating flags like --output. The guard `!clearFlag && !hasDesc && !Changed("description")` covers both the explicit-empty-string case and the absent case.
Common situations: Scripts where the description variable expands to empty, or users exploring the command without arguments.
Related errors
- --clear cannot be combined with --description / --descriptio
- download timeout must be greater than zero
- --name is required
- --slug is required
- --issue-prefix cannot be empty; omit it to use the server-ge
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/b30b2dd779be2dee.
Report an issue: GitHub.