v1.1.0

Claude Connect

TunaIssaCoding TunaIssaCoding ← All skills

Connect Claude to Clawdbot instantly and keep it connected 24/7. Run after setup to link your subscription, then auto-refreshes tokens forever.

Downloads
2.5k
Stars
11
Versions
12
Updated
2026-02-23

Install

npx clawhub@latest install claude-connect

Documentation

claude-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:

1. Reads OAuth tokens from macOS Keychain (where Claude CLI stores them)

2. Writes them to ~/.clawdbot/agents/main/agent/auth-profiles.json in proper OAuth format:

   {

"profiles": {

"anthropic:claude-cli": {

"type": "oauth",

"provider": "anthropic",

"access": "sk-ant-...",

"refresh": "sk-ant-ort...",

"expires": 1234567890

}

}

}

3. Sets up auto-refresh (runs every 2 hours via launchd)

4. 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

1. Copy example config:

   cp claude-oauth-refresh-config.example.json claude-oauth-refresh-config.json

2. Edit config (optional):

   nano claude-oauth-refresh-config.json

3. Test refresh:

   ./refresh-token.sh --force

4. 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 activity
  • -notifications.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

1. Read from Keychain: Gets OAuth tokens from Claude Code-credentials

2. Check Expiry: Only refreshes if < 30 minutes left (or --force)

3. Call OAuth API: Gets new access + refresh tokens

4. Update auth-profiles.json: Writes proper OAuth format

5. Update Keychain: Syncs new tokens back

6. Restart Gateway: Picks up new tokens

7. 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](QUICKSTART.md) - 60-second setup guide
  • -[UPGRADE.md](UPGRADE.md) - Upgrading from older versions
  • -[Clawdbot docs](https://docs.clawd.bot) - Model authentication

---

Version: 1.1.0 Author: TunaIssaCoding License: MIT Repo: https://github.com/TunaIssaCoding/claude-connect

Launch an agent with Claude Connect on Termo.