login command authenticates you via GitHub, unlocking higher rate limits and additional features.
Usage
What Happens
When you runsher login:
- A local server starts on a random port
- Your browser opens to GitHub OAuth
- You authorize Sher to access your GitHub identity
- The server receives an authentication token
- Your credentials are saved to
~/.sher/auth.json - The browser shows a success message
Example Flow
Benefits of Logging In
Logging in upgrades you from Anonymous to Starter (Free) tier:| Feature | Anonymous | Starter (Free) |
|---|---|---|
| Links per day | 5 | 25 |
| Max upload size | 50MB | 50MB |
| Max TTL | 24 hours | 24 hours |
| List deployments | ❌ | ✅ |
| Delete deployments | ❌ | ✅ |
| Password protection | ❌ | ❌ |
Already Logged In
If you’re already logged in:Browser Not Opening?
If the browser doesn’t open automatically:Authentication Flow Details
- Local server: Sher starts a temporary HTTP server on
localhostto receive the OAuth callback - GitHub OAuth: You’re redirected to GitHub to authorize Sher
- Token exchange: GitHub sends an auth token to the local server
- Token verification: Sher verifies the token with the API server
- Storage: The token and username are saved locally
Your authentication token is stored in
~/.sher/auth.json. Keep this file secure.Timeout
The login flow times out after 2 minutes. If you don’t complete authentication within that window:sher login again.
Security
- Authentication uses GitHub OAuth
- No passwords are stored
- The token is used for API requests
- Token is stored locally in
~/.sher/auth.json - You can revoke access anytime via GitHub settings
Switching Accounts
To switch GitHub accounts:Related Commands
sher logout- Remove stored credentialssher whoami- Check current login statussher upgrade- Upgrade to Pro