How it works
You sign in, in your own browser, however your product actually works: Google, Okta, a magic link, an authenticator app. Then you hand the resulting session to nth Labs:
node cli.cjs session
It imports the browser storage state. The sign-in happened where you were; nothing here ever sees a password, and there is no recipe to keep working when your login page changes.
Running past the wall
node cli.cjs wander --signed-in
node cli.cjs wander --signed-in --mission onboard-a-second-user
--signed-in tells a run to use the imported session. --mission gives
the tester a goal rather than letting it roam, which is what you want once you are testing a
flow rather than a surface.
Use an account you can throw away
A run drives a real browser as a real signed-in user. It will click things. Give it a test account on a staging environment, not your own production login, and never an account with billing or admin rights.
The imported session is stored under the account directory with owner-only permissions, and it is not encrypted at rest.
When it stops working
Sessions expire. When a signed-in run starts behaving like a logged-out one, that is almost
always what happened. re-import and run again. node cli.cjs doctor checks the
session among everything else and will tell you plainly.