Claude Connect
Connect Claude to Clawdbot instantly and keep it connected 24/7. Run after setup to link your subscription, then auto-refreshes tokens forever.
TunaIssaCoding
@tunaissacoding
What This Skill Does
One-time setup tool that reads Claude OAuth tokens from macOS Keychain and writes them to Clawdbot's auth-profiles.json in the correct format, then auto-refreshes tokens every 2 hours to maintain a persistent connection.
Replaces manually copying OAuth tokens and fixing the `clawdbot onboard` auth-profiles bug by automating token extraction, formatting, and continuous refresh.
When to Use It
- Link your Claude subscription to Clawdbot for the first time
- Fix broken OAuth authentication after running `clawdbot onboard`
- Keep Claude-Clawdbot connection alive without manual token refresh
- Set up persistent Claude access for automated workflows or bots
- Restore Claude connectivity after token expiry or auth-profile corruption
Install
$ openclaw skills install @tunaissacoding/claude-connectclaude-connect
Connect your Claude subscription to Clawdbot in one step.
Automatically:
- ✅ Reads Claude OAuth tokens from Keychain
- ✅ Writes them to Clawdbot in proper OAuth format
- ✅ Auto-refreshes every 2 hours (before expiry)
- ✅ Notifies you on success/failure
- ✅ Works with
clawdbot onboard(fixes OAuth auth-profiles bug)
Quick Start
1. Install the skill:
clawdhub install claude-connect
cd ~/clawd/skills/claude-connect
2. Ensure Claude CLI is logged in:
claude auth
# Follow the browser login flow
3. Run installer:
./install.sh
That's it! Tokens will refresh automatically every 2 hours.
What It Does
Fixes clawdbot onboard OAuth Bug
When you run clawdbot onboard --auth-choice claude-cli, it sometimes doesn't properly write OAuth tokens to auth-profiles.json.
This skill:
- Reads OAuth tokens from macOS Keychain (where Claude CLI stores them)
- Writes them to
~/.clawdbot/agents/main/agent/auth-profiles.jsonin proper OAuth format:{ "profiles": { "anthropic:claude-cli": { "type": "oauth", "provider": "anthropic", "access": "sk-ant-...", "refresh": "sk-ant-ort...", "expires": 1234567890 } } } - Sets up auto-refresh (runs every 2 hours via launchd)
- Keeps your connection alive 24/7
Installation
Automatic (Recommended)
cd ~/clawd/skills/claude-connect
./install.sh
The installer will:
- ✅ Verify Claude CLI is set up
- ✅ Create config file
- ✅ Set up auto-refresh job (launchd)
- ✅ Run first refresh to test
Manual
-
Copy example config:
cp claude-oauth-refresh-config.example.json claude-oauth-refresh-config.json -
Edit config (optional):
nano claude-oauth-refresh-config.json -
Test refresh:
./refresh-token.sh --force -
Install launchd job (optional - for auto-refresh):
cp com.clawdbot.claude-oauth-refresher.plist ~/Library/LaunchAgents/ launchctl load ~/Library/LaunchAgents/com.clawdbot.claude-oauth-refresher.plist
Configuration
Edit claude-oauth-refresh-config.json:
{
"refresh_buffer_minutes": 30,
"log_file": "~/clawd/logs/claude-oauth-refresh.log",
"notifications": {
"on_success": true,
"on_failure": true
},
"notification_target": "YOUR_CHAT_ID"
}
Options:
refresh_buffer_minutes: Refresh when token has this many minutes left (default: 30)log_file: Where to log refresh activitynotifications.on_success: Notify on successful refresh (default: true)notifications.on_failure: Notify on failure (default: true)notification_target: Your Telegram chat ID (or leave empty to disable)
Usage
Manual Refresh
# Refresh now (even if not expired)
./refresh-token.sh --force
# Refresh only if needed
./refresh-token.sh
Check Status
# View recent logs
tail ~/clawd/logs/claude-oauth-refresh.log
# Check auth profile
cat ~/.clawdbot/agents/main/agent/auth-profiles.json | jq '.profiles."anthropic:claude-cli"'
# Check Clawdbot status
clawdbot models status
Disable Notifications
Ask Clawdbot:
Disable Claude refresh success notifications
Or edit config:
{
"notifications": {
"on_success": false,
"on_failure": true
}
}
How It Works
Refresh Process
- Read from Keychain: Gets OAuth tokens from
Claude Code-credentials - Check Expiry: Only refreshes if < 30 minutes left (or
--force) - Call OAuth API: Gets new access + refresh tokens
- Update auth-profiles.json: Writes proper OAuth format
- Update Keychain: Syncs new tokens back
- Restart Gateway: Picks up new tokens
- Notify: Sends success/failure message (optional)
Auto-Refresh (launchd)
Runs every 2 hours via ~/Library/LaunchAgents/com.clawdbot.claude-oauth-refresher.plist
Controls:
# Stop auto-refresh
launchctl unload ~/Library/LaunchAgents/com.clawdbot.claude-oauth-refresher.plist
# Start auto-refresh
launchctl load ~/Library/LaunchAgents/com.clawdbot.claude-oauth-refresher.plist
# Check if running
launchctl list | grep claude
Troubleshooting
OAuth not working after onboard
Symptom: clawdbot onboard --auth-choice claude-cli completes but Clawdbot can't use tokens
Fix:
cd ~/clawd/skills/claude-connect
./refresh-token.sh --force
This will write tokens in proper OAuth format.
Tokens keep expiring
Symptom: Auth keeps failing after 8 hours
Fix: Ensure launchd job is running:
launchctl load ~/Library/LaunchAgents/com.clawdbot.claude-oauth-refresher.plist
launchctl list | grep claude
No tokens in Keychain
Symptom: No 'Claude Code-credentials' entries found
Fix: Log in with Claude CLI:
claude auth
# Follow browser flow
Then run refresh again:
./refresh-token.sh --force
Uninstall
cd ~/clawd/skills/claude-connect
./uninstall.sh
Or manually:
# Stop auto-refresh
launchctl unload ~/Library/LaunchAgents/com.clawdbot.claude-oauth-refresher.plist
rm ~/Library/LaunchAgents/com.clawdbot.claude-oauth-refresher.plist
# Remove skill
rm -rf ~/clawd/skills/claude-connect
Upgrade
If you previously installed an older version:
cd ~/clawd/skills/claude-connect
./validate-update.sh # Check what changed
clawdhub update claude-connect # Update to latest
./install.sh # Re-run installer if needed
See Also
- QUICKSTART.md - 60-second setup guide
- UPGRADE.md - Upgrading from older versions
- Clawdbot docs - Model authentication
Version: 1.1.0
Author: TunaIssaCoding
License: MIT
Repo: https://github.com/TunaIssaCoding/claude-connect
Top skills in this category
Polymarket Auto-Trader
@srikanthbellaryAutonomous Polymarket prediction market trading agent. Scans markets, evaluates probabilities with LLM, sizes positions with Kelly criterion, and executes trades via CLOB API. Use when user wants to trade on Polymarket, set up automated prediction market trading, or build a trading bot. Supports cron-based autonomous operation, P&L tracking, and budget management.
Macro Monitor
@hmzo每日宏观数据监控和推送。自动浏览免费数据源(Trading Economics、FRED、国家统计局、央行官网、财联社等),整理整合过去24小时发布的宏观数据和政策信息,并推送给用户。通过 cron 每天晚上10点自动触发。
LaTeX
@ivangdavilaWrite LaTeX documents with correct syntax, packages, and compilation workflow.
Career
@ivangdavilaAdvises on career decisions — offer evaluation, salary and equity negotiation, promotions, pivots, and layoff response. Use when the user receives an offer or a recruiter ping, feels underpaid or stuck at a level, weighs staying vs quitting, gets passed over for promotion, faces a PIP, layoff, firing, or rescinded offer, compares equity and vesting packages, or plans a change of role, industry, or IC-to-manager track. Not for writing the resume itself (resume) or running the application pipeline (job-search).
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection