# Authentication Source: https://docs.circuit.org/agent-developers/cli-references/authentication CLI commands for authenticating with Circuit. ### Sign In Authenticate with Circuit. ```bash theme={null} circuit signin ``` Opens a browser to authenticate. If you don't have an account, one will be created. **How it works:** 1. The CLI generates a unique auth ID via the Circuit API 2. Opens your browser to the Circuit login page with the auth ID 3. The CLI polls the API for the session token while you authenticate 4. Once authenticated, the token is stored in `~/.config/circuit/auth-.json` (e.g. `auth-staging.json`) The login flow has a 300-second timeout. If authentication is not completed in time, the CLI exits. **Stored credentials:** ```json theme={null} { "sessionToken": "...", "refreshToken": "...", "timestamp": "2025-01-01T00:00:00.000Z", "user": { "name": "...", "email": "..." } } ``` ### Sign Out Sign out from Circuit. ```bash theme={null} circuit signout ``` **Behavior:** * Clears the stored session token from `~/.config/circuit/auth-.json` for the current environment * No parameters required ### Logged In User Info Show current authenticated user. ```bash theme={null} circuit whoami ``` **Flags:** * `--show-auth` / `-a`: Display a base64-encoded auth token for CI/CD use. **Output:** * Displays your Circuit username * Shows authentication status * With `--show-auth`: prints an auth token for non-interactive environments # Development Source: https://docs.circuit.org/agent-developers/cli-references/development CLI commands for developing and testing agents locally. ### Create New Agent Create a new agent project from a template. ```bash theme={null} circuit new ``` **Flags:** * `--language ` / `-l `: Project language (`typescript` or `python`). Skips the language prompt. * `--name ` / `-n `: Agent name. Skips the name prompt. * `--template