Authentication
Logging in
Pipe uses a device authorization flow:
pipe loginThis will:
- Generate a device code and display a verification URL
- Open your browser to the verification page
- Poll for authorization until you approve the device
- Save credentials to
~/.pipe/credentials.json
If you’re already logged in, Pipe prompts for confirmation before re-authenticating.
Checking your identity
pipe whoamiVerifies your stored credentials against the Hub and displays your username. Useful for checking if credentials are still valid after revoking a device from the web dashboard.
Logging out
pipe logoutRevokes the device and API key on the server, then removes stored credentials from ~/.pipe/credentials.json. If the server is unreachable, local credentials are still deleted with a warning.
Unauthenticated access
Some Hub operations work without authentication (e.g., pulling public pipelines), but with lower API rate limits. Pushing always requires authentication.
Custom Hub URL
Override the Hub API endpoint with the PIPEHUB_URL environment variable:
export PIPEHUB_URL=https://hub.internal.example.compipe loginDefault: https://hub.getpipe.dev
Credentials storage
Credentials are stored in plain JSON at ~/.pipe/credentials.json. The file contains an API key used for Authorization: Bearer headers on all authenticated requests.