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.

התקנה
$clawhub install claude-connect

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: bash clawdhub install claude-connect cd ~/clawd/skills/claude-connect

2. Ensure Claude CLI is logged in: ```bash claude auth

Follow the browser login flow


**3. Run installer:**
```bash
./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: json { "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

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: bash cp claude-oauth-refresh-config.example.json claude-oauth-refresh-config.json

  2. Edit config (optional): bash nano claude-oauth-refresh-config.json

  3. Test refresh: bash ./refresh-token.sh --force

  4. Install launchd job (optional - for auto-refresh): bash 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: json { "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: ```bash

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: bash 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: bash 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: ```bash claude auth

Follow browser flow


Then run refresh again:
```bash
./refresh-token.sh --force

Uninstall

cd ~/clawd/skills/claude-connect
./uninstall.sh

Or manually: ```bash

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


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