From kernel-cli
Setup and manage Kernel authentication connections for any website (Gmail, GitHub, Outlook, or custom domains). Handles managed auth flows with automatic reauthentication support.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kernel-cli:kernel-authThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Setup and manage Kernel managed authentication connections for **any website** with safety checks and reauthentication support.
Setup and manage Kernel managed authentication connections for any website with safety checks and reauthentication support.
kernel-auth setup gmail
Then visit the URL printed to complete login.
Works for any website — See Using Custom Domains for any other site.
kernel-auth setup <service> [--profile-name <name>]
gmail → gmail.comgithub → github.comoutlook → outlook.comFor any other website, use the --domain flag:
kernel-auth setup --domain amazon.com --profile-name amazon-main
kernel-auth setup --domain linkedin.com
kernel-auth setup --domain example.com --profile-name custom-site
kernel-auth setup gmail
kernel-auth setup github --profile-name github-work
kernel-auth setup outlook
AUTHENTICATED (user completed login, state stored) or NEEDS_AUTH (never logged in or login session expired)Check connection status:
kernel auth connections list # Check status
kernel auth connections get <id> # Get connection details
If a connection shows NEEDS_AUTH:
kernel-auth setup <service> # Re-initiate login session with fresh URL
# List all auth connections
kernel auth connections list -o json
# Check specific connection
kernel auth connections get <connection-id> -o json | jq '.status'
Once auth is connected, create browser sessions with that profile:
# Create browser with Gmail auth already loaded
kernel browser create --profile-name gmail-main --stealth -o json
# Browser will be logged into Gmail automatically
Deleting a Kernel profile deletes ALL connections attached to it:
kernel profile delete gmail-main # Deletes ALL gmail-main connections
Use sparingly. Better to refresh auth than delete and recreate.
If you send auth URLs via Telegram, disable link previews in settings:
Otherwise Telegram auto-opens the URL and consumes the code.
Kernel auth requires:
setup — Create connection, generate login URL, display instructionsThe auth code was consumed. This happens if:
Solution: Run kernel-auth setup <service> again to get a fresh code.
Codes expire after ~40 minutes. Re-run setup to generate a new one.
The connection may have been deleted. Run setup again to create it.
You didn't complete the login within the session window, or you need to re-authenticate. Re-initiate login:
kernel-auth setup gmail
The auth skill integrates with OpenClaw cron jobs:
AUTHENTICATED, proceeds with browser automationExample from GMAIL_DAILY_WORKFLOW.md:
# Daily cron checks this before scraping
AUTH_STATUS=$(kernel auth connections list -o json | jq -r ".[] | select(.domain == \"gmail.com\") | .status")
if [ "$AUTH_STATUS" != "AUTHENTICATED" ]; then
echo "Reauthentication needed"
exit 1
fi
# Get auth status
kernel auth connections list -o json | jq '.[] | {id, status, domain}'
# Delete and recreate
kernel profile delete gmail-main --yes
kernel-auth setup gmail
Create separate profiles for each account:
kernel-auth setup gmail --profile-name gmail-personal
kernel-auth setup gmail --profile-name gmail-work
Then use the appropriate profile when creating browsers:
kernel browser create --profile-name gmail-work --stealth
npx claudepluginhub kernel/skills --plugin kernel-cliProvides Python patterns for external service authentication using API keys, OAuth, tokens. Includes verification flows, smoke tests, env checks, and error handling with leyline.
Syncs cookies from local Chrome to a Browserbase persistent context so the browse CLI can access authenticated sites. Supports domain filtering, context reuse, verified browser mode, and residential proxy with geolocation.
Inspects, enables, disables, and configures CloudBase auth providers, login methods, publishable keys, and SMS/email sender setup before implementing client or backend auth flows.