Waymaker auth
Manage authentication with Waymaker Commander using secure OAuth 2.1 with PKCE.
Overview
Manage authentication with Waymaker Commander using secure OAuth 2.1 with PKCE.
Usage
waymaker auth <subcommand>
Subcommands
| Subcommand | Description |
|---|---|
login | Authenticate via browser OAuth |
logout | Remove stored credentials |
status | Check authentication status |
Commands
Login
Authenticate with Commander via your browser:
waymaker auth login
What happens:
- CLI generates a cryptographic code challenge (PKCE)
- Your browser opens to Commander's OAuth page
- You sign in with your Commander account
- You authorize the CLI to access your account
- Browser redirects to localhost callback
- CLI exchanges the code for access tokens
- Tokens are stored in
~/.waymaker/auth.json
Output:
Waymaker Authentication
========================
Opening browser for authentication...
If browser doesn't open, visit:
https://mcp.waymakerone.com/oauth/authorize?...
Waiting for authentication...
Authorization received. Exchanging for tokens...
Authentication successful!
User: user_xxxxxxxx
Organization: Waymaker Head Office
Logout
Remove stored credentials:
waymaker auth logout
Output:
Logged out successfully.
This deletes ~/.waymaker/auth.json.
Status
Check current authentication state:
waymaker auth status
When authenticated:
Authenticated
User ID: user_xxxxxxxx
Organization: Waymaker Head Office
Scopes: read, write, sync
Expires: 2026-02-03T20:00:00Z
When not authenticated:
Not authenticated. Run 'waymaker auth login' to authenticate.
OAuth Flow Details
The CLI uses OAuth 2.1 with PKCE (Proof Key for Code Exchange) for secure authentication:
- No API keys required - Authentication is handled via your browser
- Secure by design - PKCE prevents authorization code interception
- Token refresh - Tokens auto-refresh when expired
- Organization scope - Tokens include your organization context
Token Storage
Credentials are stored in ~/.waymaker/auth.json:
{
"access_token": "eyJ...",
"refresh_token": "eyJ...",
"expires_at": "2026-02-03T20:00:00Z",
"user_id": "user_xxxxxxxx",
"organization_id": "org_xxxxxxxx"
}
Security note: Keep this file private. It's created with 600 permissions (owner read/write only).
Troubleshooting
"Authorization Error" in Browser
Symptoms: Browser shows "Authorization Error" page.
Causes:
- Not signed in to Commander
- Not part of an organization
- Invalid OAuth parameters
Solutions:
- Ensure you have a Commander account at commander.waymakerone.com
- Verify you're part of an organization
- Try again:
waymaker auth logout && waymaker auth login
"Browser didn't open"
Symptoms: No browser window appears.
Solutions:
- Copy the URL shown in terminal and paste into browser manually
- Check your default browser settings
- On headless systems, use the URL to authenticate on another device
"Token expired"
Symptoms: Commands fail with authentication errors.
Solutions:
waymaker auth login
Tokens are automatically refreshed, but if refresh fails, re-login.
"No organization"
Symptoms: Auth succeeds but organization shows as null.
Solutions:
- Ensure you're part of an organization in Commander
- If you just joined, try logging out and back in
- Contact your organization admin
Related Commands
- init - Initialize project connection
- sync - Start file synchronization
- workspaces - List available workspaces