---
title: "Authenticate the deeep CLI"
sidebarTitle: "Authentication"
description: "Authenticate the deeep CLI using browser email verification or secure API tokens. Store credentials safely in your local operating system keyring."
keywords: "deeep cli login, authenticate deeepspace, os keyring credential storage"
icon: "key"
---

Authentication connects your local development environment with deeepSpace, enabling you to link projects and sync components.

<Note>
**Before You Begin**

Make sure you have:
- A deeepSpace account (sign up at [app.deeepspace.com](https://app.deeepspace.com) if needed)
- deeep CLI installed on your machine ([Installation Guide](/guides/installation))
</Note>

## Getting Started

### Logging In

The authentication process uses email verification to ensure secure access to your deeepSpace account. Here's how to get started:

<Steps>
  <Step title="Start the authentication process">
    Run the `auth` command:

    ```bash
    deeep auth
    ```
  </Step>

  <Step title="Enter your deeepSpace email">
    Enter the email address associated with your deeepSpace account.
  </Step>

  <Step title="Verify your email with the one-time code">
    Check your inbox for the verification code and enter it in the prompt:

    The CLI allows up to three verification attempts. On success, it confirms the authenticated email and suggests running `deeep init`.
  </Step>
</Steps>

The CLI stores your access token, refresh token, and email in the operating system keyring under the `deeep` service. They are not written into `deeep.json`. A working keyring backend is required. See [Environment and local data](/reference/environment) for credentials and optional sign-in telemetry.

## Account Management

### Checking Authentication Status

You can verify your current authentication status at any time:

```bash
deeep whoami
```

### Logging Out

To log out and remove stored credentials:

```bash
deeep logout
```

Remember to log out when using shared or public computers to protect your account access.

<Note>To fully clean a machine you no longer use for deeepSpace development — removing both the stored credentials and a linked repository's local files in one step — run `deeep unlink --logout` from inside that repository. Credentials can also be cleared alone with `deeep logout`.</Note>

## Troubleshooting

Common authentication issues and solutions:

#### No verification code received
- Check your spam or junk folder.
- Request a new code by running `deeep auth` again.

#### Invalid code error
- Make sure you're using the most recent code sent to your email.

#### Session expired
- The CLI attempts token refresh when the server reports an expired access token. If refresh fails or the session expires, run `deeep auth` again.

#### Too many attempts
- Wait a few minutes before retrying. Restarting authentication does not bypass server rate limits.

#### Keyring unavailable
- Make sure the operating system keyring is available and unlocked. Headless environments need a supported keyring backend; the CLI does not offer a token flag or noninteractive login.

## Next Steps

Now that you're authenticated, you can:

1. Connect to your deeepSpace projects — see the [Connect Project](/guides/connect) guide.
2. [Sync components](/guides/sync) between your codebase and deeepSpace.
3. Access your team's shared design system in [Web Space](https://app.deeepspace.com).
