Skip to main content
The expo login command authenticates you with your Expo account, allowing you to use services like EAS Build, EAS Submit, and EAS Update.

Usage

Options

string
Your Expo account username or email. Alias: -u
string
Your Expo account password. Alias: -p
string
One-time password from your two-factor authentication device.
boolean
Log in using Single Sign-On (SSO). Alias: -s
boolean
Log in using your web browser. Alias: -b

Authentication Methods

Interactive Login (Default)

The simplest way to log in:
This prompts you for:
  1. Username or email
  2. Password
  3. OTP code (if 2FA is enabled)

Browser-Based Login

Log in using your web browser:
This:
  1. Opens your default browser
  2. Redirects to Expo authentication page
  3. Returns authentication token to CLI
  4. Completes login automatically
Benefits:
  • More secure (no password in terminal)
  • Supports SSO providers
  • Works with password managers
  • Better for shared machines

SSO Login

For organizations using Single Sign-On:
Supports:
  • SAML-based SSO
  • Enterprise identity providers
  • Organization-managed accounts

Command-Line Credentials

Provide credentials directly (useful for automation):
Warning: This is less secure as credentials may be visible in:
  • Shell history
  • Process lists
  • CI/CD logs

With Two-Factor Authentication

If you have 2FA enabled:
Or interactively:

Examples

Interactive Login

Output:

Browser Login

Output:

SSO Login

Output:

Automated Login (CI/CD)

For automation, use access tokens instead:
Generate access tokens at: https://expo.dev/accounts/[username]/settings/access-tokens

Where Credentials Are Stored

After successful login, credentials are stored in:
  • macOS: Keychain
  • Linux: Encrypted file in ~/.expo
  • Windows: Credential Manager

Viewing Stored Credentials

Check if you’re logged in:

Account Requirements

Creating an Account

If you don’t have an Expo account:
Or create one at: https://expo.dev/signup

Account Types

  • Personal - Free tier for individuals
  • Team - Collaborative features for teams
  • Enterprise - Advanced features for organizations

Common Use Cases

First-Time Setup

Switching Accounts

Team Collaboration

Each team member logs in with their own account:
Projects can be shared via Expo organizations.

CI/CD Authentication

Use access tokens instead of expo login:

Two-Factor Authentication

Why Enable 2FA

Two-factor authentication adds security by requiring:
  1. Your password (something you know)
  2. OTP code (something you have)

Enabling 2FA

  1. Go to https://expo.dev/settings/security
  2. Enable two-factor authentication
  3. Scan QR code with authenticator app
  4. Save backup codes

Logging In with 2FA

Or provide OTP directly:

Troubleshooting

Invalid Credentials

Solutions:

2FA Issues

Solutions:
  • Ensure device time is synchronized
  • Use backup codes if authenticator unavailable
  • Regenerate 2FA codes in account settings

Network Errors

Solutions:
  • Check internet connection
  • Verify firewall settings
  • Try again with: npx expo login --browser
  • Check Expo status: https://status.expo.dev

Already Logged In

To switch accounts:

SSO Not Available

Solutions:
  • Contact organization administrator
  • Use regular login method
  • Verify organization has SSO enabled

Security Best Practices

Use Browser Login

Prefer browser-based authentication:
Benefits:
  • No password in terminal
  • No credentials in history
  • Supports password managers

Enable 2FA

Protect your account with two-factor authentication:
  1. Enable at https://expo.dev/settings/security
  2. Use authenticator app (not SMS)
  3. Save backup codes securely

Use Access Tokens for CI/CD

Never store passwords in CI/CD:
Generate tokens at: https://expo.dev/accounts/[username]/settings/access-tokens

Logout on Shared Machines

Always logout after using shared computers:

Rotate Access Tokens

Regularly rotate access tokens:
  1. Revoke old tokens
  2. Generate new tokens
  3. Update CI/CD secrets

Access Tokens

What Are Access Tokens

Access tokens are:
  • Long-lived authentication credentials
  • Alternative to username/password
  • Ideal for automation and CI/CD
  • Can be revoked independently

Creating Access Tokens

  1. Go to https://expo.dev/accounts/[username]/settings/access-tokens
  2. Click “Create Token”
  3. Name your token
  4. Copy token (shown only once)

Using Access Tokens

Set as environment variable:
Or in CI/CD:

Token Permissions

Tokens can:
  • Build with EAS Build
  • Submit to app stores
  • Publish with EAS Update
  • Access project resources

Revoking Tokens

Revoke compromised or unused tokens:
  1. Go to token settings
  2. Click “Revoke”
  3. Generate new token if needed

Organizations

Joining an Organization

After logging in, access organization resources:

Organization Accounts

Organizations provide:
  • Shared projects
  • Team collaboration
  • Centralized billing
  • Access control
After logging in, you can use:
  • expo whoami - Check current user
  • expo logout - Sign out
  • eas build - Build with EAS Build
  • eas submit - Submit to app stores
  • eas update - Publish OTA updates