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

  1. Pass at least one of --name, --description, or --details-file to the edit command.
  2. If you only wanted to view the role, use `pulumi org role list --output=json` or the GetOrgRole API instead of edit.
  3. 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

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


AI-assisted analysis of pulumi/pulumi@793f7b2e16 (2026-08-31). Data as JSON: /api/errors/2a1ba613110aacf2. Report an issue: GitHub.