p202 user update

Update a user: rename, name, email, timezone, active, password

Writessupports --staged
All commands

01Run it

Replace the <placeholders> with your own values, or use the builder below.

p202 user update <id>

02What you get

Pick the shape you need. People get a table. Add --json, --csv or --ndjson for scripts, or -q for ids only. An AI agent gets compact JSON without asking. All output formats

03Build your command

Pick values and the command line writes itself, quoted and ready to paste.

p202 user update

Set flags below; the command updates as you type.

04Flags

9 flags, plus the global flags every command takes.

FlagWhat it does
--current-passwordboolSend your current password, which changing your OWN password needs (asked without echo, or the first line of piped stdin)
--set-passwordboolSet a new password, read without echo: asked twice at a terminal, or one line of piped stdin
--user-activestring1=active, 0=inactive: 0, 1
01
--user-emailstringEmail
--user-fnamestringFirst name
--user-lnamestringLast name
--user-namestringNew username (the sign-in name): renames the account, as the Users page does; needs a user you may manage, even yourself
--user-passstringNew password, 8-72 characters (prefer --set-password: a value here stays in shell history)
--user-timezonestringTime zone, e.g. America/New_York (a PHP time zone name)

05For agents

Running this from an agent

  • Read the same facts as JSON: p202 commands user update --json.
  • With AI_AGENT, CLAUDECODE or another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with a hint.
  • Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure.
  • This command writes. Add --staged to record it as a proposal a person applies with p202 change apply.
p202 commands user update --json
{
  "path": "p202 user update",
  "use": "update <id>",
  "short": "Update a user: rename, name, email, timezone, active, password",
  "runnable": true,
  "flags": [
    {
      "name": "current-password",
      "type": "bool",
      "default": "false",
      "usage": "Send your current password, which changing your OWN password needs (asked without echo, or the first line of piped stdin)",
      "required": false
    },
    {
      "name": "set-password",
      "type": "bool",
      "default": "false",
      "usage": "Set a new password, read without echo: asked twice at a terminal, or one line of piped stdin",
      "required": false
    },
    {
      "name": "user-active",
      "type": "string",
      "default": "",
      "usage": "1=active, 0=inactive: 0, 1",
      "allowed_values": [
        "0",
        "1"
      ],
      "required": false
    },
    {
      "name": "user-email",
      "type": "string",
      "default": "",
      "usage": "Email",
      "required": false
    },
    {
      "name": "user-fname",
      "type": "string",
      "default": "",
      "usage": "First name",
      "required": false
    },
    {
      "name": "user-lname",
      "type": "string",
      "default": "",
      "usage": "Last name",
      "required": false
    },
    {
      "name": "user-name",
      "type": "string",
      "default": "",
      "usage": "New username (the sign-in name): renames the account, as the Users page does; needs a user you may manage, even yourself",
      "required": false
    },
    {
      "name": "user-pass",
      "type": "string",
      "default": "",
      "usage": "New password, 8-72 characters (prefer --set-password: a value here stays in shell history)",
      "required": false
    },
    {
      "name": "user-timezone",
      "type": "string",
      "default": "",
      "usage": "Time zone, e.g. America/New_York (a PHP time zone name)",
      "required": false
    }
  ]
}