For the complete documentation index, see llms.txt. This page is also available as Markdown.

p0 login

Fix common p0 login errors, including missing organization IDs, SSO failures, unsupported providers, and token expiry, when authenticating to P0 with the CLI.

Below is a troubleshooting guide for p0 login


Symptom
Cause
Resolution

Error: The P0 organization ID is required. Please provide it as an argument or set P0_ORG.

You ran p0 login without supplying <org-id> and haven’t defined the P0_ORG environment variable.

1. One-off login: bash p0 login my-org-id 2. Persistent env var: bash export P0_ORG=my-org-id p0 login 3. Verify: bash echo $P0_ORG # should output your org slug

Error: Could not find organization

The CLI reached Firestore but did not match any record to your <org-id>.

Exact match: Confirm the slug matches (case-sensitive) your P0 admin’s value.- Network: Ensure outbound HTTPS to *.firebaseio.com isn’t blocked by VPN/firewall. Reset var: bash<br> unset P0_ORG<br> p0 login correct-org-id<br> -

Debug: Run with DEBUG=plugin-login p0 login my-org-id to see request/response details.

Symptom: No browser window appears and “Waiting for authentication…” hangs indefinitely.

• No default browser is configured (or $BROWSER isn’t set).• A pop-up blocker or privacy setting is preventing the SSO window.

Set browser manually: bash<br> export BROWSER=google-chrome # or "firefox" / "open" on macOS<br>

Allow pop-ups: Enable pop-ups for the P0 login domain in your browser settings.

Headless/server: • Use SSH with X11 forwarding (ssh -X). • Or run p0 login locally on your desktop.

Error: EACCES: permission denied, open '~/.p0/config.json'

Your home directory or the ~/.p0 folder isn’t owned or writable by your user account.

1. Fix permissions: bash<br> mkdir -p ~/.p0<br> chown $(whoami):$(whoami) ~/.p0<br> chmod 700 ~/.p0<br>

2. Verify ownership: bash<br> ls -ld ~/.p0<br>

3. Retry login: bash<br> p0 login my-org-id<br>

Symptom: Every command asks you to login again, or you see “Please run p0 login <organization> to use CLI.”

Your saved token has expired or could not be auto-refreshed due to clock skew or missing refresh grant.

Full logout & login: bash<br> p0 logout # clears ~/.p0/config.json and identity token<br> p0 login my-org-id<br>

Clock sync: Ensure your system clock is accurate: bash<br> sudo ntpdate pool.ntp.org # or use your OS’s time-sync service<br>

Error: Could not find organization, logging out immediately after SSO

You authenticated successfully, but the tenant-access check failed because your user isn’t in that P0 org.

1. Access rights: Confirm your user account is added to the correct P0 tenant in the P0 web UI.

2. Org slug: Verify you’re logging into the exact org slug your admin provided.

3. Support: If everything looks correct, share your SSO assertion logs with support@p0.dev.

Quick Cleanup & Full Retry

p0 logout
rm -rf ~/.p0
p0 login <your-org-id>

Still having trouble? Email support@p0.dev with:

  • Your org slug

  • Full error message and stack trace

  • Relevant env vars (P0_ORG, BROWSER, system time, etc.)

Last updated