The login flow
- The CLI requests a device code and prints a short confirmation code.
- Your browser opens
masterskills.dev/device. Sign in (GitHub or Google — there are no passwords), confirm the code, and pick the organization this device belongs to. - The CLI, which has been polling, receives a lifetime device token and stores it locally. Done — this machine never logs in again.
Where credentials live
The token is stored in~/.masterskills/config.json (override the directory with MASTERSKILLS_HOME). The server stores only a sha256 hash of the token — the token itself exists on your machine alone. masterskills logout deletes the local credentials.
For CI and service use, the MASTERSKILLS_TOKEN environment variable takes precedence over the stored token — see Publish from CI.
Revocation
Every authorized device is listed in the panel with its name and last-seen time. From there you can:- Revoke any single device — its token stops working immediately; the CLI on that machine gets a 401 and asks for a fresh
masterskills login. - Sign out everywhere — revoke all of your devices at once.
Plan limits
The Free plan allows one device per user — a second login is refused withdevice_limit. Team and Enterprise plans have no device limit. Current plans and pricing: masterskills.dev/pricing.