p202 system login-log

Sign-in attempts to this install, newest first: who, when, from which IP, and how each ended

All commands

01Jobs it does

Each one is a real command line. Copy it, or open it in the builder below to change it.

sign-in attempts

Also: login history, failed logins

p202 system login-log

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 system login-log

Set flags below; the command updates as you type.

04Flags

2 flags, plus the global flags every command takes.

FlagWhat it does
--limitstringHow many attempts to list, 1-500 (default 50, as on the page)
--statusstringOnly the attempts that ended so: passed, failed, not_completed
passedfailednot_completed

05How it works

The attempts Account › Settings lists (its last 50 by default; --limit up to 500). Each row is the user name typed, the time (login_time, unix seconds), the IP address and how it ended (status): passed, failed, or not_completed — the password was right but a database failure stopped the sign-in, which the sign-in throttle does not count. login_success is true for passed alone. --status lists one of them. Throttled and token-refused attempts are not recorded.

Needs an Admin or Super user key whose role has access_to_settings (as Account › Settings asks), and system:read.

06For agents

Running this from an agent

  • Read the same facts as JSON: p202 commands system login-log --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, 6 no Pro licence on the install.
p202 commands system login-log --json
{
  "path": "p202 system login-log",
  "use": "login-log",
  "short": "Sign-in attempts to this install, newest first: who, when, from which IP, and how each ended",
  "long": "The attempts Account › Settings lists (its last 50 by default; --limit up to 500). Each row\nis the user name typed, the time (login_time, unix seconds), the IP address and how it ended\n(status): passed, failed, or not_completed — the password was right but a database failure\nstopped the sign-in, which the sign-in throttle does not count. login_success is true for\npassed alone. --status lists one of them. Throttled and token-refused attempts are not recorded.\n\nNeeds an Admin or Super user key whose role has access_to_settings (as Account › Settings asks), and system:read.",
  "runnable": true,
  "example": "p202 system login-log\n  p202 system login-log --status failed --limit 200 --json\n  p202 system login-log --status not_completed",
  "tasks": [
    {
      "run": "p202 system login-log",
      "phrases": [
        "sign-in attempts",
        "login history",
        "failed logins"
      ]
    }
  ],
  "flags": [
    {
      "name": "limit",
      "type": "string",
      "default": "",
      "usage": "How many attempts to list, 1-500 (default 50, as on the page)",
      "required": false
    },
    {
      "name": "status",
      "type": "string",
      "default": "",
      "usage": "Only the attempts that ended so: passed, failed, not_completed",
      "allowed_values": [
        "passed",
        "failed",
        "not_completed"
      ],
      "required": false
    }
  ]
}