Devices¶
Devices lists browsers and CLI installations currently linked to your
account. You approve a new CLI device by typing the user code here (or
on /device-login). You revoke a device forward-only.
Everyday CLI linking is the account intent:
The website does not create a local device identity. That is expert
ai-stp device init.
URLs and who can see them¶
| Projection | URL | Who can see it |
|---|---|---|
| Human | /{locale}/devices |
signed-in |
| Machine | /{locale}/ai/devices |
same session |
| Device-login | /{locale}/device-login |
signed-in to approve |
No session → login. Missing CSRF cookie → logout then login with
reason=session_expired. Onboarding pending → onboarding.
The account menu item Devices and the signed-in header nav both land here.
What this screen is for¶
Use Devices to:
- see which browsers and CLI installs can act as this account;
- approve a code printed by the
accountintent; - revoke a lost or old device.
Devices does not:
- run
device initordevice reset; - show the private key;
- wipe the local registry on revoke;
- approve a harness OAuth token.
Revoke stops future cloud work for that device. Local data is kept. This cannot be undone from the web.
What is on the screen¶
Each device card:
| Field | Label | Notes |
|---|---|---|
| Name | Name | summary display name, or Web browser / CLI installation |
| State | State | e.g. active |
| Current device | Current device | this browser |
| Device type | Device type | web or CLI |
| Last connected | Last connected | last_active_at |
| Approximate location | Approximate location | or Unknown |
| OS / architecture | Operating system / Architecture | from CLI summary when present |
| Detected harnesses | Detected harnesses | survey, not an install |
| Toolchain profile | Toolchain profile | when published |
| Copy device id | Copy device id | clipboard |
| Revoke | Revoke | confirm dialog |
Empty list: No devices registered. That is unusual after a browser login, because this browser is a device.
Authorize a device¶
| Field | Label |
|---|---|
| Device code | Device code (ABCD-EFGH placeholder) |
| Confirm device | Confirm device |
Hint on the page tells you to run a CLI command then confirm the code. The declared command is:
(google is the other closed provider). There is no
ai-stp auth device in the registry.
Query status=ok shows Device approved — return to the CLI.
status=error asks you to check that the code is current.
Revoke current device: You revoked the current device. You have been signed out. Stale eTag / conflict: refresh and decide again.
Human / Machine: machine Devices lists device_id, type, state,
last_active_at, location, and the everyday account start. It does not
include the approve form.
Matching CLI commands¶
ai-stp device init --json
ai-stp device show --json
ai-stp device reset --confirm --json
ai-stp task start --intent account --idempotency-key account-session-01 --json
ai-stp auth complete --json
ai-stp auth status --json
ai-stp auth logout --json
ai-stp passport device show --json
device init creates the local identity (idempotent). device show
prints where the key is kept. device reset is destructive and
needs --confirm; it is not a retry of doctor. auth login /
auth complete attach that identity to the account. auth status
reads the relationship. passport device show is the device passport
head, not this HTML list.
Dead-ends¶
| What you see | What it means | What to do |
|---|---|---|
| Redirect to login | no session | sign in |
| No devices registered | API returned empty | re-login in this browser |
| Unknown / expired code | typo or timeout | retype, or start account again |
| Code already used | resolved | start account again |
| Page went stale (CSRF) | reload | approve again |
| Revoke blocked (stale / conflict) | concurrent change | refresh |
| Revoke current → signed out | expected | sign in on a remaining device |
| CLI still works locally after revoke | local data kept | expected; cloud calls will fail |
| Approximate location Unknown | no geo | not an error |
Do not paste device codes or key material into chat. The code is a one-time approval, not a password to store.
Browser device versus CLI device¶
| This tab | ai-stp on disk |
|
|---|---|---|
| Type | web |
CLI |
| Created by | OAuth cookie | device init |
| Linked by | login itself | account intent + approve code |
| Private key | session cookie | OS secret store (or file fallback) |
| Revoke on this page | signs you out if current | cloud calls stop; files remain |
device reset |
not applicable | new local identity; --confirm |
Approve the code on either /devices or /device-login. The CLI
polls until auth complete can finish. Approving twice with a spent
code is resolved: start account again.
Machine Devices is the list. The authorize form is human-only.
Related pages¶
- Sign-in — OAuth and
/device-login. - Account — browser sign out without revoke.
- CLI device — init, show, reset.
- CLI sign-in — login, complete, status, logout.
- Passports — device passport refresh.
- Quickstart for people — local work before linking.
Browser vs CLI
This tab is a web device. ai-stp on your laptop is a CLI
device. Both can be linked. Revoking the CLI device does not
uninstall ai-stp-cli.