#How can I use clawdbot to use my claude pro subscription?

1 messages · Page 1 of 1 (latest)

forest furnace
#

Can i get a step by step on how to get clawdbot to utilize my claude pro subscription rather than me having to burn through tokens on openrouter? Currently hosting clawdbot on my mac mini

muted terraceBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

brisk forgeBOT
#

Claude Pro/Max subscription ≠ Anthropic API key (so you can’t just “plug in Claude Pro” like an API key). In OpenClaw/Clawdbot the supported way to use your Claude subscription is: Anthropic setup-token (generated by the Claude Code CLI), then switch your default model/provider to anthropic.

Docs (same steps):

Step-by-step (Mac mini host)

0) (Recommended) confirm version

openclaw --version

1) Generate a Claude setup-token (subscription token)

On any machine where you have Claude Code installed and logged in:

#
claude setup-token

Copy the token it prints.

2) Paste that token into OpenClaw on the Mac mini (gateway host)

On the Mac mini:

openclaw models auth paste-token --provider anthropic

Paste the setup-token when prompted.

(Alternative, same idea:)

openclaw models auth setup-token --provider anthropic
#

3) Verify Anthropic auth works

openclaw models status --probe-provider anthropic

4) Switch your default model away from OpenRouter → Anthropic

List what your install knows about, then pick an anthropic/... model:

openclaw models list | grep anthropic
openclaw models set anthropic/<model-you-picked>

5) Restart the gateway (so everything is definitely using the new default)

openclaw gateway restart
#

Common gotchas

  • Auth is per-agent. If you have multiple agents, run the same commands with --agent <id> (e.g. openclaw models status --agent <id>), otherwise you might be editing a different agent than the one your Discord route uses.
  • If you want to never fall back to OpenRouter, remove OpenRouter from your fallbacks / don’t keep OpenRouter creds configured (otherwise failover may still hit it when Anthropic is rate-limited).

If you paste back:

openclaw --version
openclaw models status

(Ideally in a code block) I can tell you exactly where it’s still selecting OpenRouter.

forest furnace
#

is the setup token the same as the oath token?

brisk forgeBOT
#

No — the setup-token is not the same thing as an OAuth token.

What’s the difference?

  • OAuth token: comes from an interactive “login” flow (browser-based), usually refreshable and managed by an OAuth client.
  • Claude setup-token: a separate token string you generate with the Claude Code CLI:
    claude setup-token
    
    OpenClaw stores/uses it basically like an API key for Anthropic subscription access (it’s not the “logged-in OAuth session token”).

OpenClaw-specific note

OpenClaw’s current guidance is: don’t try to reuse Claude Code CLI OAuth tokens; use a setup-token (or an Anthropic API key).

Docs:

#

If you tell me what command/flow you used to get the “OAuth token” you’re looking at (e.g. openclaw models auth login ... vs claude login), I can map it to the right OpenClaw auth method.

forest furnace
#

I used the claude setup-token and it provided me the auth token. below is what it responded with to the command. (Note the token i am listening below is redacted not the full one:

Your OAuth token (valid for 1 year):

sk-ant-oat01-O2GV_DPDLo0ObesrnrCzDvao9pUaXoxJUXQhaSF_(redacted)

Store this token securely. You won't be able to see it again.

Use this token by setting: export CLAUDE_CODE_OAUTH_TOKEN=<token>

brisk forgeBOT
#

That output is expected: claude setup-token prints a token that Claude labels “OAuth token” (sk-ant-oat01-...). In OpenClaw docs, that exact string is what they mean by “setup-token” for Anthropic subscription auth.

So in practice:

  • The token you got (sk-ant-oat01-...) is the setup-token you paste into OpenClaw.
  • The export CLAUDE_CODE_OAUTH_TOKEN=... line is just telling you how Claude Code would use it — OpenClaw doesn’t need that env var.

What to do on the Mac mini (gateway host)

Run one of these on the Mac mini and paste that token:

openclaw models auth paste-token --provider anthropic

Then verify:

#
openclaw models status --probe-provider anthropic

Important

Even redacted, don’t post tokens in Discord. If you ever pasted the full token anywhere public, assume it’s compromised and generate a new one (run claude setup-token again) and replace it in OpenClaw.

forest furnace
#

okay it shows antrhopic effective and openrouter effective after models status now what

brisk forgeBOT
#

“Effective” just means those providers are configured and usable. It does not mean OpenClaw is actively using both.

What you do next depends on what you want:

A) Use Anthropic by default (recommended)

  1. See what your current default model is:
openclaw models status --plain
  1. If it’s still an OpenRouter model, switch primary to an Anthropic one:
openclaw models list | grep anthropic
openclaw models set anthropic/<pick-one-from-the-list>
  1. Restart:
#
openclaw gateway restart

B) Stop OpenRouter from being used at all (no more “oops I burned OR tokens”)

Even if Anthropic is primary, OpenRouter can still get used as a fallback when Anthropic rate-limits/errors.

Check your fallbacks:

openclaw models fallbacks list --plain

If you see any openrouter/... entries and you want to prevent OpenRouter usage:

openclaw models fallbacks remove openrouter/<that-model>
# or nuke all fallbacks:
#
openclaw models fallbacks clear

Then:

openclaw gateway restart

If you’re unsure what’s happening

Paste the output of these two (they’re safe to share; no secrets):

openclaw models status --plain
openclaw models fallbacks list --plain

…and I’ll tell you exactly whether OpenRouter is only “available” or actually in your default/fallback chain.

forest furnace
#

wait for A by number 2 do i have to pick a certain one does it matter that much? just thought that was for api only

brisk forgeBOT
#

You do have to pick one, but it’s not a “right/wrong” permanent decision — you can switch later with openclaw models set ....

And yep: this is not API‑key only. In OpenClaw, the Claude subscription path is exactly “Anthropic via setup-token”. (The one thing that is API-key-only is prompt caching, but basic model usage works fine with setup-token.)

Which one should you pick?

Pick based on the tradeoffs you want:

  • General daily driver: pick a “Sonnet”-style model (balanced speed/quality)
  • Best quality / harder tasks: pick an “Opus”-style model (usually slower, but smarter)
  • Fast/cheap/simple tasks: pick a “Haiku”-style model (fastest, least capable)

On your box, just run:

openclaw models list | grep anthropic

…then choose one of the anthropic/... entries you see and set it:

#
openclaw models set anthropic/<whatever-you-chose>

If you tell me what you mainly want Clawdbot to do (coding? chat? automations?), I’ll tell you which tier to default to.

forest furnace
#

pulling up openclaw models list | grep antrhopic does nothing and the openclaw modelslist only shows the openrouter minimax im running rightn o

brisk forgeBOT
#

Two things going on there:

  1. Typos: it’s anthropic (not antrhopic) and the command is openclaw models list (with a space).
  2. By default, openclaw models list only shows models you’ve already configured, so if you haven’t set any Anthropic model yet it can look like “only OpenRouter exists” even though Anthropic auth is effective.

Do this

Option 1 (CLI, show Anthropic catalog)

openclaw models list --all --provider anthropic --plain

Pick one line from that output and set it:

openclaw models set anthropic/<paste-the-exact-model-id-from-the-list>
openclaw gateway restart
openclaw models status --plain
#

Option 2 (in chat with the bot, easiest)

In the Discord chat with Clawdbot, send:

/model list

It should show a numbered picker. Then pick one:

/model 3

If --all --provider anthropic still shows nothing

Paste these (no secrets in them):

openclaw --version
openclaw models status --plain
openclaw models list --all --plain | head -50
#

and I’ll tell you exactly why Anthropic isn’t appearing on your install.

forest furnace
#

sweet that worked, now is there a way to enable tts, and voice messaging system for my clawdbot? so it can send me voice messages if that makes sense and vice versa?

brisk forgeBOT
#

Yep — that’s two separate features:

  1. Outbound voice replies (TTS)
  2. Inbound voice notes (speech-to-text transcription) so you can talk to it

1) Enable TTS (voice replies) on Discord

On Discord the command is /voice (Discord reserves /tts).

Try in the thread:

  • /voice always (always send an audio reply)
  • or /voice inbound (only send audio replies after you send a voice note)
  • /voice status

To make it default-on (global), set config:

openclaw config set messages.tts.auto '"always"'
#
# or:
openclaw config set messages.tts.auto '"inbound"'
openclaw gateway restart

Docs: https://docs.openclaw.ai/tts

2) “Vice versa”: you send voice notes → Clawdbot understands them

Your Claude setup-token does not provide speech-to-text. For voice-note understanding you need either:

  • a local transcription CLI (free), or
  • a transcription provider (OpenAI / Deepgram / etc)

OpenClaw will auto-detect local CLIs if installed (whisper-cpp / whisper, etc). If none are available, you’ll need to configure tools.media.audio.models.

Docs (audio/voice notes): https://docs.openclaw.ai/nodes/audio

#

Discord “voice message” format (waveform bubble) note

OpenClaw can send native Discord voice messages, but it requires ffmpeg + ffprobe on the gateway host. Docs: https://docs.openclaw.ai/channels/discord#voice-messages

If you tell me which direction you want first:

  • (A) “I just want voice replies (audio attachment is fine)”
  • (B) “I want Discord-native voice message bubbles”
  • (C) “I want to send voice notes and have it reliably transcribe them without OpenAI keys”
    …I’ll give you the exact minimal config for that path.
forest furnace
#

im using only telegram and bluebubbles to communicate with my bot, can you provide better instructions for those thanks

#

Oh and I want to be able to send voice notes to it, and have it send voice notes to me

#

?