pulumi/pulumi · error
nothing to update: pass at least one of --name, --descriptio
Error message
nothing to update: pass at least one of --name, --description, or --details-file
What it means
This validation error is returned by the `pulumi org role edit` command (org_role_edit.go:82) when the RunE handler detects that none of the update flags (--name, --description, --details-file) were passed, so there is nothing to change. The command uses cmd.Flags().Changed(...) with ternary semantics, so flags absent from the command line mean "leave unchanged"; with all absent, the update is a no-op and is rejected before any API call.
Source
Thrown at pkg/cmd/pulumi/org/org_role_edit.go:82
if cmd.Flags().Changed("name") {
editArgs.SetName = true
editArgs.Name = newName
}
if cmd.Flags().Changed("description") {
editArgs.SetDescription = true
editArgs.Description = description
}
if cmd.Flags().Changed("details-file") {
details, err := readRoleDetails(cmd.InOrStdin(), detailsFile)
if err != nil {
return err
}
editArgs.SetDetails = true
editArgs.Details = details
}
if !editArgs.SetName && !editArgs.SetDescription && !editArgs.SetDetails {
return errors.New(
"nothing to update: pass at least one of --name, --description, or --details-file")
}
return runOrgRoleEdit(cmd.Context(), cmd.OutOrStdout(), factory, org, editArgs, output.Get())
},
}
constrictor.AttachArguments(cmd, &constrictor.Arguments{
Arguments: []constrictor.Argument{
{Name: "role-id"},
},
Required: 1,
})
cmd.Flags().StringVar(&org, "org", "",
"The organization that owns the role. Defaults to the current default organization")
cmd.Flags().StringVar(&newName, "name", "", "Rename the role")
cmd.Flags().StringVar(&description, "description", "", "Update the role's description")View on GitHub (pinned to 793f7b2e16)
Solutions
- Pass at least one of --name, --description, or --details-file to the edit command.
- If you only wanted to view the role, use `pulumi org role list --output=json` or the GetOrgRole API instead of edit.
- In scripts, validate that at least one update variable is non-empty before invoking `org role edit`.
Example fix
# before $ pulumi org role edit role-123 error: nothing to update: pass at least one of --name, --description, or --details-file # after $ pulumi org role edit role-123 --description "Read-only auditor" # or $ pulumi org role edit role-123 --details-file ./updated.json
Defensive patterns
Strategy: validation
Validate before calling
# shell: ensure at least one update flag before invoking edit if [ -z "$NAME" ] && [ -z "$DESC" ] && [ -z "$DETAILS_FILE" ]; then echo "error: pass at least one of --name, --description, or --details-file" >&2; exit 1 fi
Prevention
- In scripts, assert at least one of the update variables is non-empty before calling edit.
- Use edit only for actual changes; inspect roles via `org role list --output=json`.
- Watch flag spelling — unrecognized flags won't count as 'changed'.
- Remember ternary semantics: omitted flag = unchanged, not cleared.
When it happens
Trigger: Running `pulumi org role edit <role-id>` with only the role-id argument and no --name, --description, or --details-file flags.
Common situations: Typing the edit command intending to inspect a role (use `pulumi org role list` or the API instead); scripting where flag values are empty shell variables ($NAME unset) so the flags are omitted; typos like --Name or --desc that cobra doesn't recognize as the tracked flags.
Related errors
- --count must be non-negative
- --count must be non-negative
- exactly one of --cron or --once must be set
- only one of --cron or --once may be set
- invalid type %q; must be one of string, int, bool, or float
AI-assisted analysis of pulumi/pulumi@793f7b2e16 (2026-08-31).
Data as JSON: /api/errors/2a1ba613110aacf2.
Report an issue: GitHub.