> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sesameterminal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Login

# Login

Single user, password only (`POST /auth/login`). No shell around it.

## Desktop and mobile

```
 ┌───────────────────────────────────────────────────────────────┐
 │                                                               │
 │                 ┌───────────────────────────────┐             │
 │                 │            [logo]             │  40 logo    │
 │                 │         sesame                │  display    │
 │                 │                               │             │
 │                 │  Password                     │  caption    │
 │                 │  [ **********          [eye] ]│  44 input   │
 │                 │  Incorrect password           │  20 error   │ line, reserved
 │                 │                               │             │
 │                 │  [          Log in          ] │  44 primary │
 │                 └───────────────────────────────┘             │
 │                                                               │
 └───────────────────────────────────────────────────────────────┘
   card 360 wide (mobile: full width − 32), --card, --radius-lg, 32 px padding,
   centred vertically at 40% of the viewport height; page --background
```

* The password field is focused on load; `Enter` submits. `autocomplete="current-password"`
  so password managers work. The `[eye]` icon button (44 × 44 hit, `[eye-off]` while
  the text shows) shows or hides the text.
* The error line's 20 px are reserved, so the button does not move when an error shows.
* **Submitting:** button in loading state (`Logging in…`), input read-only.
* **401:** `Incorrect password` in `--destructive`; the input keeps its value, selected.
* **429:** `Too many attempts · try again in 42s`. The button stays disabled and the
  seconds count down; it re-enables at zero.
* **Network error:** `No response from server`.
* **Success:** go to the route the user first asked for (default `/live`), with no
  transition beyond the normal route cross-fade.
* Theme: follows the saved theme if the browser has it cached, else the system theme,
  else dark.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.