#old-help
1 messages · Page 2 of 1
Connect to gateway:
- Same as Mac — configure remote gateway URL pointing to your Coolify/Tailscale setup
- iOS needs to be on Tailscale too (install Tailscale iOS app)
Ask in #general for the current TestFlight link if you can't find it!
🦐
@obsidian frost Here's a full model config example:
{
"models": {
"anthropic/claude-opus-4-5": { "alias": "opus" },
"anthropic/claude-sonnet-4": { "alias": "sonnet" },
"openrouter/anthropic/claude-sonnet-4": { "alias": "or-sonnet" },
"google/gemini-3-pro-preview": { "alias": "gemini" }
},
"agent": {
"model": {
"primary": "anthropic/claude-opus-4-5",
"fallbacks": [
"anthropic/claude-sonnet-4",
"openrouter/anthropic/claude-sonnet-4",
"google/gemini-3-pro-preview"
]
},
"thinking": "medium",
"heartbeat": {
"model": "anthropic/claude-sonnet-4" // cheaper model for heartbeats
}
},
"auth": {
"profiles": {
"anthropic:main": { "provider": "anthropic", "mode": "oauth" },
"openrouter:backup": { "provider": "openrouter", "mode": "apiKey" }
},
"order": {
"anthropic": ["anthropic:main"],
"openrouter": ["openrouter:backup"]
}
}
}
Key parts:
models— aliases for quick/model opusmodel.primary+model.fallbacks— failover chainauth.profiles— multiple auth methods per providerauth.order— which profile to try first
Check docs/model-failover.md and docs/configuration.md for all options!
🦐
@rapid hare can you use mcps?
@rapid hare you see how it keeps sharing its thoughts, i asked it to add to my calendar and then its thinking out loyd and sharing on whatsapp why is this? And how can i stop it
@rapid hare is it possible to add my own whatsapp to increase your context ?
@rapid hare whats the easiest way to setup speech to text so that clawdbot can understand my inquiry
@rapid hare when using you in slack, are mentions required in channels?
Do you find difficulty sir @rapid hare
did you try this?
@tender tulip Try bun install --no-save — and if the patch still fails:
@sakisakire Browser tool can dump a
My bot keeps kind of...just stopping and not responding. Not sure if it's gettign stuck on tasks and therefore unable to reply? Not sure.
Have others had problems? Is there a recent update I should be upgrading to?
"agent": {
Where in the file system would i find the gateway log?
Thinking of using a VPS from Hetzner. Should the architechture be x86 or Arm64?
@slate smelt Either works! But:
x86 (recommended for now):
- Better compatibility with all npm packages
- Some native modules can be finicky on ARM
- Easier debugging
ARM64:
- Cheaper on Hetzner (CAX line)
- Slightly better perf/watt
- Most things work, but occasional edge cases
My take: Go x86 to avoid surprises. The CX23 you mentioned earlier is x86 and will work great. ARM is fine if you want to save a few euros and don't mind troubleshooting if something's weird.
🦐
@rapid hare can you help guide me on how to setup speech to text in clawdbot so i will able to use it on whatsapp?
Where in the file system would i find the gateway log?
Ubuntu or Debian?
Do you have OpenAI API access? That's the easiest path for Whisper transcription.
🦐
I tried to set up the ClawdBot app, but during the onboarding, I see the error gateway connect: connect to gateway @ ws://127/0/0/1:18789: could not connect to the server. I push on retry, but nothing happens.
@rapid hare where can i find the gateway log in the clawdbot file system?
yes, my mac mini
@supple lark where can i find the gateway log in the clawdbot file system?
Gateway logs:
- If running in terminal: Logs appear in that terminal window (stdout)
- Log files:
~/.clawdbot/logs/— but may be empty if logging to stdout - macOS launchd:
log show --predicate 'process == "clawdbot"' --last 10m
Easiest way to capture logs:
# Stop current gateway, then restart with logging to file
bun clawdbot gateway 2>&1 | tee ~/gateway-debug.log
Then reproduce the issue and check ~/gateway-debug.log.
What's your current setup — running in terminal, launchd, or systemd?
🦐
@rapid hare @supple lark running on a debian VM
<@&1457414166829600901> how are you holding up?
just noticed that in my own discord server the bot constantly looks like is't typing with the little typing bubbles above the message box even though it's not working on anything. Anyone else noticed this running in their own discord server? FWIW I'm running openai-codex/gpt-5.2 as my model.
Fix:
cd ~/clawdbot # or wherever your repo is
git pull
pnpm install && pnpm build
Then restart gateway. The typing indicator should stop getting stuck.
If it persists after update, check gateway logs for errors during message handling — sometimes a failed send leaves typing on.
🦐
@golden basin Yeah, this was reported earlier! There was a fix for typing indicator race condition in a recent commit.
see, I step away for a few minutes and I miss all the good stuff lol. I'll get the latest repo pulled
Yeah I can generate openAI API key to use whisper, how is the process to config it?
@rapid hare
@low lake Great! Here's the setup:
1. Add OpenAI API key to env:
echo 'OPENAI_API_KEY=sk-your-key-here' >> ~/.clawdbot/.env
2. Configure audio in ~/.clawdbot/clawdbot.json:
{
"audio": {
"stt": {
"provider": "openai",
"model": "whisper-1"
}
}
}
3. Restart gateway:
# Ctrl+C the running gateway, then:
bun clawdbot gateway
Now when someone sends a voice message on WhatsApp, Clawdbot will transcribe it automatically using Whisper and respond to the text.
Optional TTS (text-to-speech) for voice replies:
{
"audio": {
"stt": { "provider": "openai", "model": "whisper-1" },
"tts": { "provider": "openai", "model": "tts-1", "voice": "nova" }
}
}
Check docs/audio.md for all options!
🦐
Just answered above! 👆 Let me know if you need help with any of those steps. 🦐
@rapid hare @supple lark can you give me the terminal command to check that everything is running?
....and also the terminal command to see the current logs? Past 100 lines or smth
@balmy summit Check if gateway is running:
ps aux | grep clawdbot
# or
pgrep -f "clawdbot gateway"
Check status with doctor:
bun clawdbot doctor
View logs (several options):
# If log files exist
tail -100 ~/.clawdbot/logs/*.log
# If using systemd
journalctl -u clawdbot -n 100
# If running in tmux/screen, reattach to that session
# If you want to start fresh with logging to file
bun clawdbot gateway 2>&1 | tee -a ~/clawdbot.log
# Then: tail -100 ~/clawdbot.log
Quick health check:
curl http://localhost:18789/health
The easiest path: run gateway in a terminal you can see, logs appear live there.
🦐
ok - if my gateway isn't launched, how do I launch it in terminal?
For background running, use tmux/screen or set up a systemd service.
🦐
@balmy summit
cd ~/clawdbot # or wherever you cloned the repo
bun clawdbot gateway
Or with Node if bun has issues:
node dist/index.js gateway
It should show "Gateway listening on port 18789" when ready. Keep that terminal open — closing it stops the gateway.
Doctor is saying my gateway is live and connected on whatsapp. When i write a self message i get the "typing" animation, but no response from my Clawdbot
a message? Any errors?
🦐
@balmy summit Gateway's up, WhatsApp connected, typing shows but no response — the agent is starting but failing somewhere.
Check the terminal where gateway is running — there should be error output when you send a message.
Common causes:
- Model auth issue:
bun clawdbot doctor
Check if model shows "auth: ok" or "auth: missing"
-
Try
/modelin WhatsApp — does it respond to commands? -
Check for errors in real-time:
# In the gateway terminal, watch for red errors when you send a message
- Session might be stuck:
# Clear the WhatsApp session
rm ~/.clawdbot/sessions/whatsapp-*.json
# Restart gateway
- Context overflow:
Try/resetin WhatsApp to clear conversation
What shows in the gateway terminal when you send
Ubuntu or Debian?
@slate smelt Already answered this one! 👆 Ubuntu — easier for beginners, more community resources. Both work fine though.
🦐
@rapid hare how do i reauthenticate claude oauth with a different account?
@kind night Clear existing OAuth and re-auth:
# Remove the auth profiles
rm ~/.clawdbot/agent/auth-profiles.json
# Re-run configure
bun clawdbot configure
Select Anthropic → OAuth again, and it'll open a browser to log in with a different account.
Or if you want to keep multiple accounts, you can edit auth-profiles.json directly and add a second profile with a different name.
🦐
@rapid hare I tried to run the first 5 commands to install everything, but I get this.
bun run ui:build 15:21:40
$ node scripts/ui.js build
$ vite build
vite v7.3.0 building client environment for production...
✓ 57 modules transformed.
✗ Build failed in 92ms
error during build:
[vite]: Rollup failed to resolve import "dompurify" from "/Users/pablonachos/Documents/clawdbot/ui/src/ui/markdown.ts".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
build.rollupOptions.external
at viteLog (file:///Users/pablonachos/Documents/clawdbot/node_modules/vite/dist/node/chunks/config.js:33634:57)
at onRollupLog (file:///Users/pablonachos/Documents/clawdbot/node_modules/vite/dist/node/chunks/config.js:33664:7)
at onLog (file:///Users/pablonachos/Documents/clawdbot/node_modules/vite/dist/node/chunks/config.js:33466:4)
at file:///Users/pablonachos/Documents/clawdbot/node_modules/rollup/dist/es/shared/node-entry.js:21081:32
at Object.logger [as onLog] (file:///Users/pablonachos/Documents/clawdbot/node_modules/rollup/dist/es/shared/node-entry.js:22968:9)
at ModuleLoader.handleInvalidResolvedId (file:///Users/pablonachos/Documents/clawdbot/node_modules/rollup/dist/es/shared/node-entry.js:21712:26)
at file:///Users/pablonachos/Documents/clawdbot/node_modules/rollup/dist/es/shared/node-entry.js:21670:26
error: script "build" exited with code 1
error: script "ui:build" exited with code 1
oh now you tell me 
@pallid leaf Missing dependency! You need to install UI deps first:
pnpm ui:install
pnpm ui:build
Or the full sequence:
pnpm install # main deps
pnpm ui:install # UI deps (this was missing)
pnpm build # build main
pnpm ui:build # build UI
The ui:install step installs the UI-specific packages like dompurify.
🦐
Rather than having a default model. Can we configure a separate model for job
Heartbeats (cheaper model for background tasks):
{
"agent": {
"model": { "primary": "anthropic/claude-opus-4-5" },
"heartbeat": {
"model": "anthropic/claude-sonnet-4"
}
}
}
Per-channel/provider overrides:
{
"telegram": {
"model": "anthropic/claude-sonnet-4" // cheaper for Telegram
},
"discord": {
"guilds": {
"123456": {
"model": "anthropic/claude-opus-4-5" // Opus for this server
}
}
}
}
On-the-fly switching:
/model sonnetin chat switches for that session
What kind of jobs are you thinking? Different chat channels, cron tasks, or something else?
🦐
😅 Hey, you asked about switching, not adding! But now you know both options.
🦐
@rapid hare How subagents can be configured
@bold carbon Yes! You can set different models for different contexts:
@bold carbon Subagents config:
{
"agent": {
"subagents": {
"maxConcurrent": 1, // how many can run in parallel
"tools": {
"deny": ["gateway", "cron"], // block specific tools
// "allow": ["read", "bash"] // or allowlist only
}
}
}
}
How they work:
- Spawned via
sessions_spawntool - Run in isolated session in background
- Announce results back to the original chat when done
- Can't spawn their own subagents (no nesting)
Usage in chat:
Ask Clawd to "research X in the background" and it'll spawn a subagent that reports back when done.
Example prompt to Clawd:
"Spawn a subagent to research the latest Node.js release notes and summarize them"
Check docs/subagents.md for full details!
🦐
@rapid hare can clawdbot access google drive? If I’m running on a vps how do I give access to my accounts eg twitter
@rapid hare what is the cli command for this? ⚠️ Agent failed before reply: OAuth token refresh failed for anthropic: Failed to refresh OAuth token for anthropic. Please try again or re-authenticate.. Check gateway logs for details.
Hello! How can I use fallback models?
Right now, my config in /Users/user/.clawdbot/clawdbot.json looks like this:
{
"messages": {
"ackReaction": "👀",
"ackReactionScope": "group-mentions"
},
"agent": {
"workspace": "/Users/user/clawd",
"model": {
"primary": "google-antigravity/claude-opus-4-5-thinking",
"fallbacks": [
"google-antigravity/gemini-3-pro-low",
"google-antigravity/gemini-3-flash",
"google-antigravity/gpt-oss-120b-medium"
]
},
"models": {
"google-antigravity/claude-opus-4-5-thinking": { "alias": "Opus" },
"google-antigravity/gemini-3-pro-low": { "alias": "Gemini Pro" },
"google-antigravity/gemini-3-flash": { "alias": "Gemini Flash" },
"google-antigravity/gpt-oss-120b-medium": { "alias": "GPT-OSS" }
}
},
"gateway": {
"mode": "local",
"port": 18789,
"bind": "loopback",
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"auth": {
"profiles": {
"google-antigravity:user": {
"provider": "google-antigravity",
"mode": "oauth"
}
}
},
"whatsapp": {},
"telegram": {
"enabled": true,
"botToken": token
},
"skills": {
"install": {
"nodeManager": "pnpm"
}
},
"wizard": {
"lastRunAt": "2026-01-06T12:38:49.355Z",
"lastRunVersion": "2026.1.5-3",
"lastRunCommand": "onboard",
"lastRunMode": "local"
}
}
But is not working.
fallbacks in order
- It's "fail then fallback", not round-robin
To test:
- Check
/modelin chat — should show primary - If primary hits rate limit, next message should use fallback
- Check gateway logs for "falling back to..." messages
Is something not working? What behavior are you seeing? If Opus never fails, fallbacks won't trigger — that's expected!
🦐
@rapid hare any ideas why my clawdis in some groupchats keeps sharing his thoughts he is using the same whatsapp as me any ideas why and how to stop this?
It stays like this
Or it might be the model outputting thinking in the response itself. Try /thinking off in the chat. What model are you using?
🦐
"agent": {
"workspace": "/Users/user/clawd",
"model": {
"primary": "google-antigravity/claude-opus-4-5-thinking",
"fallbacks": [
"google-antigravity/gemini-3-pro-low",
"google-antigravity/gemini-3-flash",
"google-antigravity/gpt-oss-120b-medium"
]
},
"models": {
"google-antigravity/claude-opus-4-5-thinking": { "alias": "Opus" },
"google-antigravity/gemini-3-pro-low": { "alias": "Gemini Pro" },
"google-antigravity/gemini-3-flash": { "alias": "Gemini Flash" },
"google-antigravity/gpt-oss-120b-medium": { "alias": "GPT-OSS" }
}
},
🦐
Hey fam. My precious bot consumed 5 USD API credits and we just chatted for a few minutes. Is there a way to check what’s going on? I want to understand what drained Claude API.
How do we "just" restart the gateway without having to log in w an auth provider? Last time I tried pnpm gateway --force, I had to redo the onboarding all over again and it still didn't work until I did a reinstall of the gateway again
Or switch to cheaper model:
/model sonnet — much cheaper for casual chat
What model are you using? And is thinking/heartbeats enabled?
🦐
@maiden ermine Already answered above, but here's more detail:
Google Drive:
- Check for
gdriveskill:bun clawdbot doctor - If available, OAuth via
bun clawdbot configure - Browser opens for Google auth — on VPS, copy URL to local browser, auth, paste callback
Twitter/X (bird skill):
bun clawdbot configure
# Select Twitter
Same flow — copy OAuth URL to local browser, complete auth, paste callback URL back to terminal.
VPS OAuth workflow:
- Run configure on VPS
- It prints a URL like
https://twitter.com/oauth/... - Open that URL in your local browser
- Authorize the app
- Get redirected to
localhost:xxxx/callback?code=... - Copy that full callback URL
- Paste back into VPS terminal
Some skills also support API keys instead of OAuth if you
prefer.
🦐
@placid ferry Already answered above, but here it is again:
# Clear expired OAuth tokens
rm ~/.clawdbot/agent/auth-profiles.json
# Re-authenticate
bun clawdbot configure
Select Anthropic → OAuth and complete the browser auth flow. Then restart gateway.
🦐
How I can check debug logs if it's running in the background @rapid hare ?
If using systemd:
journalctl -u clawdbot -n 100 -f
If using pm2:
pm2 logs clawdbot
If using nohup/&:
Check the log file you redirected to, or restart with logging:
# Kill background process
pkill -f "clawdbot gateway"
# Restart with logging
bun clawdbot gateway 2>&1 | tee ~/clawdbot-debug.log &
# Then watch logs
tail -f ~/clawdbot-debug.log
If using tmux/screen:
tmux attach # or screen -r
For one-time debug run:
# Stop background, run in foreground with debug
pkill -f "clawdbot gateway"
DEBUG=* bun clawdbot gateway
How did you start the gateway in background?
🦐
@rapid hare how do i know which model its using can i ask it? If so what it told me its using minimax but i remember i had changed to sonnet before that idk why it sai minimax where is the source if truth
what's the best way to upgrade ?
Don't trust what the bot says it's using — it might hallucinate. Use /model command for ground truth.
@dusty kestrel Best upgrade path:
cd ~/clawdbot # your repo location
git pull
pnpm install
pnpm build
Then restart gateway:
# If running in foreground: Ctrl+C, then:
bun clawdbot gateway
# If systemd:
sudo systemctl restart clawdbot
After major updates, also rebuild UI and run doctor:
pnpm ui:install && pnpm ui:build
bun clawdbot doctor
That's it! Config is preserved, just code updates.
🦐
@pseudo urchin Google Drive: Check if there's a gdrive skill available — run bun clawdbot doctor to see skills. You'd need to OAuth with your Google account.
Twitter: Use the bird skill. On VPS:
bun clawdbot configure
Select Twitter/X and do the OAuth flow. It'll open a browser URL — copy to your local machine, auth, paste the callback URL back.
@gritty cove Re-authenticate Anthropic OAuth:
rm ~/.clawdbot/agent/auth-profiles.json
bun clawdbot configure
Select Anthropic → OAuth again. This clears the expired token and starts fresh.
@devout vessel Your config looks correct! Fallbacks should work automatically.
How fallbacks work:
- Clawdbot tries
primaryfirst - If it fails (rate limit, error, timeout), it tries
@cosmic kraken Oof, I see it! The bot is dumping its internal reasoning to the chat — "The user Mahmoud is asking me...", "Let me check the format..." etc. That should stay internal.
This is likely a model issue, not thinking config. The model is outputting chain-of-thought in its response instead of using proper thinking blocks.
Fixes to try:
Never share your internal reasoning or thought process in messages.
Only output the final response to the user.
-
Check your model — some models leak thoughts more than others. What does
/modelshow? -
Try a different model:
/model sonnet
Claude models are usually better at keeping thoughts internal.
- If using extended thinking:
{
"agent": {
"thinking": "off"
}
}
This is the model being verbose, not a Clawdbot bug. The prompt/persona files need to tell it to be concise.
🦐
Can I host Clawd on old android phone?
🦐
@devout vessel I see the issue — "stopReason": "aborted", "errorMessage": "Request was aborted".
The request is being aborted (cancelled), not failing from the model. Fallbacks only trigger on model errors/rate limits, not aborts.
Possible causes:
- Timeout — request took too long
- Connection issue — to Antigravity API
- Token refresh failed — OAuth might need re-auth
Try:
# Re-authenticate Antigravity
bun clawdbot configure
# Select Google Antigravity and redo OAuth
# Or check auth status
bun clawdbot doctor
What do gateway logs show when this happens? Any errors before the abort?
@unborn drum Clawd sharing "thoughts" in group chats — that's extended thinking output leaking.
Fix in config:
{
"agent": {
"thinking": "low" // or "off"
}
}
@devout vessel Config looks fine! The issue is the request being aborted, not a config problem. Check my reply above 👆 — try re-authenticating Antigravity with bun clawdbot configure. The abort might be from OAuth token issues.
@rapid hare can I host Clawd on old Android phone?
@sharp girder $5 in a few minutes is high! Let's investigate:
1. Check session token usage:
Look at session files for token counts:
cat ~/.clawdbot/sessions/*.json | grep -A5 "tokens"
2. Check what model you're using:
/modelin chat — Opus is expensive, Sonnet is 10x cheaper- Extended thinking (
thinking: high) adds extra tokens
3. Common causes of high usage:
- Large context — long conversation history, big files read
- Thinking tokens —
thinking: highormediumuses lots of tokens - Heartbeats — if enabled, each heartbeat is a full API call
- Tool loops — agent doing many tool calls per message
4. Check Anthropic console:
https://console.anthropic.com → Usage shows breakdown by time
Quick fixes:
{
"agent": {
"thinking": "low", // or "off"
"heartbeat": { "enabled": false } // disable if not needed
}
}
@jagged hedge Gateway restart should not trigger re-onboarding! Something's wrong if it does.
Simple restart:
# Stop current gateway (Ctrl+C if foreground, or:)
pkill -f "clawdbot gateway"
# Start again - no flags needed
bun clawdbot gateway
Don't use --force — that might be resetting things.
If it keeps asking for onboarding:
- Check that
~/.clawdbot/clawdbot.jsonexists and has your config - Check that
~/.clawdbot/agent/auth-profiles.jsonexists (has your OAuth tokens)
The files that matter:
ls -la ~/.clawdbot/
ls -la ~/.clawdbot/agent/
If those files exist, bun clawdbot gateway should just start without asking for setup. If they're missing/empty, that's why it re-onboards.
What does your ~/.clawdbot/ directory look like? 🦐
I'm on the latest commit and I see a typing indicator ALWAYS on the telegram bot, even when it's not doing anything or saying anything. Chat works fine, but the typing is constant.
hey kryll, I'm getting errors. Not sure what happened. trying to close and open again, reinstall, usual stuff, but I don't want it to lose its memory. what do I do? It seems the gateway is duplicated
breno@Brenos-MacBook-Pro-2 clawdbot % sleep 1
ps aux | egrep "gateway-daemon --port 18789" | grep -v egrep
breno 32898 0.0 2.6 478690464 439152 ?? S 12:18PM 0:02.86 /Users/breno/.nvm/versions/node/v25.2.1/bin/node --require /Users/breno/Documents/code/OPENSOURCE/clawdbot/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/preflight.cjs --import file:///Users/breno/Documents/code/OPENSOURCE/clawdbot/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/loader.mjs /Users/breno/Documents/code/OPENSOURCE/clawdbot/src/index.ts gateway-daemon --port 18789
breno 32897 0.0 0.5 436172112 78048 ?? S 12:18PM 0:00.15 /Users/breno/.nvm/versions/node/v25.2.1/bin/node /Users/breno/Documents/code/OPENSOURCE/clawdbot/node_modules/tsx/dist/cli.mjs /Users/breno/Documents/code/OPENSOURCE/clawdbot/src/index.ts gateway-daemon --port 18789
Your memory is safe — it's in ~/.clawdbot/sessions/, not the gateway process.
Fix:
- Kill all gateway processes:
pkill -f "clawdbot.*gateway"
# or more aggressive:
pkill -f "gateway-daemon"
- Verify they're dead:
ps aux | grep gateway | grep -v grep
- Start fresh (single instance):
bun clawdbot gateway
Don't reinstall — that's not needed and won't help. The "Unknown error" is likely from the duplicate processes fighting over the same port/WhatsApp connection.
Also: Abhisek's constant typing indicator issue — pull latest and rebuild, there was a fix for that. But kill duplicates first!
🦐
Also, the latest MacOS app does not work right now. Doesn't open.
didn't work
breno@Brenos-MacBook-Pro-2 clawdbot % pkill -f "gateway-daemon"
breno@Brenos-MacBook-Pro-2 clawdbot % ps aux | grep gateway | grep -v grep
breno 37010 4.5 2.3 478690304 392448 ?? S 12:25PM 0:02.79 /Users/breno/.nvm/versions/node/v25.2.1/bin/node --require /Users/breno/Documents/code/OPENSOURCE/clawdbot/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/preflight.cjs --import file:///Users/breno/Documents/code/OPENSOURCE/clawdbot/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/loader.mjs /Users/breno/Documents/code/OPENSOURCE/clawdbot/src/index.ts gateway-daemon --port 18789
breno 37009 0.0 0.3 436171632 50320 ?? S 12:25PM 0:00.12 /Users/breno/.nvm/versions/node/v25.2.1/bin/node /Users/breno/Documents/code/OPENSOURCE/clawdbot/node_modules/tsx/dist/cli.mjs /Users/breno/Documents/code/OPENSOURCE/clawdbot/src/index.ts gateway-daemon --port 18789
@rapid hare help
is there a way to see all of my Clawdbot's running threads or queries or active processes, whatever that'd be called? I have a feeling some are long running in the background trying to do things 🙂
@rapid hare what s the best model I should use locally downloaded?
log
There's no built-in dashboard yet for "all running tasks" — it's mostly watching gateway logs. 🦐
---
@maiden ermine What do you need help with specifically? 🦐
Opened a discussion here https://github.com/clawdbot/clawdbot/discussions/308
was still getting the discord typing race issue after the updated. Got Stormbreaker bot on it and here's his findings:
Checked the actual config at ~/.clawdbot/clawdbot.json and confirmed it’s using the new model config shape: agent.model.primary: "openai-codex/gpt-5.2" (this is correct for current Clawdbot versions).
Verified the gateway daemon was running under launchd (com.clawdbot.gateway) and noted the process had been up since ~14:06, meaning the error spam was likely from an older-running gateway/config-validation path earlier in the day.
Ran clawdbot doctor (v2026.1.5-3) which updated config metadata and (unexpectedly) rewrote agent.workspace to /Users/office/clawdbot (the repo path).
Manually corrected agent.workspace
back to the intended workspace: "/Users/office/clawd" in ~/.clawdbot/clawdbot.json.
Restarted the gateway in-place via SIGUSR1 so it reloaded the updated config cleanly.
Confirmed via ~/.clawdbot/logs/gateway.log that config reload now applies without the agent.model validation spam ([reload] config change applied ... agent.workspace).
Remaining log noise is unrelated: iMessage provider is failing because imsg isn’t installed (spawn imsg ENOENT).```
@heady ibex Best local models for Clawdbot:
Depends on your hardware, but solid options:
- Qwen 2.5 Coder 32B — excellent for coding tasks
- Llama 3.3 70B — strong all-rounder (needs beefy GPU)
- Mistral Small 22B — good balance of speed/quality
- DeepSeek Coder V2 — great for coding if you have VRAM
Setup with Ollama:
# Install Ollama
ollama pull qwen2.5-coder:32b
# In clawdbot config:
{
"agent": {
"model": { "primary": "ollama/qwen2.5-coder:32b" }
}
}
What GPU do you have? That determines what size model you can run. 8GB VRAM = ~7B models, 24GB = up to 32B quantized.
🦐
@devout vessel Depends how you started it:
@golden basin Great detective work! 🔍
Key findings:
-
agent.modelvalidation error — old config hadmodel: "string", new format expectsmodel: { primary: "string" }. Gateway was choking on the mismatch. -
clawdbot doctorbug — it rewroteagent.workspaceto the repo path instead of keeping your actual workspace. That's a bug worth reporting! -
SIGUSR1 restart — smart move, clean reload without full restart.
For others hitting "Invalid input: expected string, received object":
Update your config from:
"agent": { "model": "openai-codex/gpt-5.2" }
To:
"agent": { "model": { "primary": "openai-codex/gpt-5.2" } }
The doctor workspace overwrite is a bug — I'll flag it. Thanks for the detailed breakdown! 🦐
@jagged hedge Yeah, Mac app issues are known — settings page crash and some startup problems. Being worked on. For now, run gateway via terminal if the app won't open.
I have a macbook pro m4 48gb
je n'ai pas bun
- Qwen 2.5 Coder 32B — fits easily, great for coding
- Llama 3.3 70B Q4 — should fit with ~40GB, excellent all-rounder
- DeepSeek Coder V2 Lite — fast and capable
# Install Ollama
brew install ollama
# Pull a model
ollama pull qwen2.5-coder:32b
# or for the big one:
ollama pull llama3.3:70b-instruct-q4_K_M
With 48GB unified memory you've got room to experiment!
@dusty kestrel Pas de problème! Install bun or use Node:
Install bun:
curl -fsSL https://bun.sh/install | bash
Or use Node instead:
node dist/index.js gateway
Both work fine. Bun is just faster.
🦐
might help Telegram too. If it persists after update, could be a separate bug worth reporting.
Clawd sometimes just doesn’t reply, all I can see in the gateway logs is:
Skipping auto-reply: silent token or no text/media returned from resolver
Gateway on Linux. WhatsApp, DM (using business account talking to my own personal)
log
My guess: either `allowFrom` filtering, or the message content isn't being extracted properly from the WhatsApp Business format. 🦐
AllowFrom is working, it sometimes sends me messages, but sometimes just fails to reply
The "no text/media returned from resolver" suggests the message parser returned empty — could be a specific message format that's not handled. Check what the actual message content was when it failed.
🦐
quelle est la meilleure façon de lancer clawdbot sur son mac ?
what’s is the best way to connect remotely and fix this like oauth?
Option 1 — Terminal (recommandé pour débuter):
cd ~/clawdbot
pnpm install
pnpm build
pnpm clawdbot gateway
Option 2 — Mac App:
Télécharge depuis les releases GitHub, mais attention — quelques bugs en ce moment (settings crash, etc.)
Option 3 — Avec launchd (démarrage auto):
# Crée un service qui démarre automatiquement
bun clawdbot service install
Pour l'instant: Terminal + pnpm clawdbot gateway est le plus stable. Garde le terminal ouvert ou utilise tmux/screen pour le laisser tourner en arrière-plan.
Tu as déjà cloné le repo et installé les dépendances?
🦐
@cosmic kraken Already answered above, but quick recap:
Source of truth:
cat ~/.clawdbot/clawdbot.json | grep -A3 '"model"'
Or in chat:
/model
Don't trust what the bot says — it might hallucinate "minimax" even if config says sonnet. The /model command reads actual config, not the bot's imagination.
If config says sonnet but bot claims minimax, the bot is confused — config wins.
🦐
Can I host Clawd on my phone?
TL;DR: Technically possible with Termux on Android, but painful. Better to use phone as a node connecting to a gateway elsewhere (VPS, laptop, Pi).
Phone is great for talking to your bot, not so great for running it.
🦐
@unborn drum Check current model:
/modelin chat — shows what model is active for that session- Source of truth:
~/.clawdbot/clawdbot.json→agent.model.primary
I installed mistral-small:22b how do I use it as the model for clawd?
Edit ~/.clawdbot/clawdbot.json:
{
"agent": {
"model": {
"primary": "ollama/mistral-small:22b"
}
}
}
Then restart gateway:
# Ctrl+C if running, then:
bun clawdbot gateway
Or switch on the fly in chat:
/model ollama/mistral-small:22b
Make sure Ollama is running (ollama serve) before starting the gateway!
🦐
@supple lark @rapid hare remind me what is the terminal command to re-auth whatsapp?
@supple lark @rapid hare sorry - i meant please remind me what is the terminal command to re-auth Claude!
@rapid hare is there a way to see all of my Clawdbot's running threads or queries or active processes, whatever that'd be called? I have a feeling some are long running in the background trying to do things 🙂
@maiden ermine why you copying my message, he already answered (#old-help message)
Re-auth WhatsApp (if you need it later):
rm -rf ~/.clawdbot/whatsapp/
bun clawdbot configure
Scan QR code again.
@maiden ermine Cash's question was already answered — check the link they posted!
Quick recap: No built-in dashboard for running tasks yet. Watch gateway logs or ps aux | grep clawdbot for processes.
🦐
@rapid hare
⚠️ Agent failed before reply: No API key found for provider "anthropic".. Check gateway logs for details.
But I don't plan to use Anthropic models. I use custom models like GLM-4.7. What should I do in this case?
something is not clear. I can setup a whatsapp account for an instance of you to interact.
But is it possible to have a whatsapp instance connected to my account to let you (my instance) listen my messages and act accordingly ?
in groups too.
C'est pas un compte séparé — c'est ton compte WhatsApp lié au bot. Tu lui parles en t'envoyant des messages à toi-même, ou il peut répondre aux autres en ton nom.
Want me to walk you through the setup?
🦐
vraiment ?
C'est la magie de Clawdbot — tu lies ton propre compte WhatsApp. Le bot devient toi.
Setup rapide:
bun clawdbot configure
# Choisis WhatsApp
# Un QR code s'affiche
Sur ton téléphone:
- WhatsApp → ⋮ (menu) → Appareils liés
- Lier un appareil
- Scanne le QR
Et voilà — ton bot écoute tes messages. Envoie-toi un message à toi-même pour lui parler directement!
🦐
hum, mais du coup, je peux pas faire un groupe avec moi toi et un copain, si ?
i can't get my clawd telegram to work if I set an allow from, is there a guide on how to set this up?
Dans un groupe:
- Le bot voit tous les messages du groupe
- Par défaut, il répond seulement quand on le mentionne (
@tonNom) - Tes copains parlent avec "toi" (le bot répond en ton nom)
Config pour groupes:
{
"whatsapp": {
"groupPolicy": "mentions" // répond si mentionné
// ou "open" pour répondre à tout (attention spam!)
}
}
Donc:
- Groupe = toi + copain (pas "toi + bot + copain")
- Le copain parle, mentionne ton nom → le bot répond comme si c'était toi
- Tu peux aussi parler toi-même dans le groupe normalement
C'est comme avoir un assistant qui répond en ton nom quand tu es occupé!
🦐
hey @rapid hare , despite using the doctor feature to migrate, starting the bot shows that it is not reading my previous setting
Hey @rapid hare , question for you. My clawdbot instance asked this about cron jobs:
I need your help: How do I set up Clawdbot cron jobs? Or is there a way for me to post to Discord from my current context that I'm missing?
I'm trying to have it push cron job/heartbeat updates to a channel in my discord, and it ran into issues.
Another issue/question I have is how you recommend handling git pulls. I worry about screwing something up that I've built, but I think with @deft wigeon 's architecture and the distinct directories for 'clawd' and 'Clawdis' that is less of a concern, but I know this thing is moving fast and I want to stay on top of changes.
@rapid hare
⚠️ Agent failed before reply: No API key found for provider "anthropic".. Check gateway logs for details.
But I don't plan to use Anthropic models. I use custom models like GLM-4.7. What should I do in this case?
@rapid hare did you see that?
@rapid hare I'm looking to upgrade my clawdbot from yesterday's version (I had to step back one commit at the time because of a bug - you helped me with that) to the current version. Do you have a sequence of commands to run for making an upgrade? Perhaps add that to the FAQ too (along with the pnpm vs npx fix we talked about yesterday for the onboard command?). The FAQ hasn't been updated in a whole 2 days! 🙂
What’s the best solution to control a long running claude code session from clawd?
Just do it?
Git pulls are safe — your workspace (~/clawd) is separate from the repo (~/clawdbot). Pull, rebuild, restart. Your data stays intact.
@fickle rivet Process won't die — something's respawning it. Quit the Mac app first if open, then:
killall node
launchctl unload ~/Library/LaunchAgents/com.clawdbot.gateway.plist 2>/dev/null
@jolly dust Upgrade sequence:
cd ~/clawdbot
git pull
pnpm install
pnpm build
# Restart gateway
Config preserved, just code updates!
@glad thistle Long-running Claude Code session:
Use the tmux skill — lets Clawd send keystrokes and read output from a tmux session. Or process tool for background bash sessions. Check /opt/clawdbot/skills/tmux/SKILL.md for details.
🦐
@rapid hare if i wanted multiple instances of clawdbot on a vps and each with a separate google account for gog how can i do that?
@daring lava Technically possible with Termux, but not recommended:
How it would work:
- Install Termux on Android
- Install Node.js via
pkg install nodejs - Clone repo,
npm install, run gateway
Challenges:
- Limited RAM (Clawdbot + skills can be hungry)
- ARM architecture — some npm packages may not work
- Android kills background processes aggressively
- No bun on Android (Node only)
- Battery drain
Better options:
- Old laptop — way more capable
- Raspberry Pi — cheap, runs 24/7, proper Linux
- Cheap VPS — €3-5/month (Hetzner CX23)
Android is better as a node — use the phone to connect to a gateway elsewhere, rather than running the gateway on it.
If you really want to try: Termux + Node + node dist/index.js gateway. But expect pain.
j'ai installé claws il y a une semaine, quelles sont les nouveaux skill ?
@rapid hare I am still having this:
[gws] ⇄ res ✓ chat.send 22016ms runId=xx-xx-xx-xx-xx conn=6729b546…3520 id=82243278…729E
16:01:49 [agent/embedded] embedded run timeout: runId=xx-x-x-x-x sessionId=xxx timeoutMs=30000
No reply from agent.
[gws] ⇄ res ✓ chat.send 30139ms runId=xx-x-x-xx conn=6729b546…3520 id=A552690A…0161
after adding this to my config:
"env": {
"shellEnv": {
"timeoutMs": 300000
}
}
✨ 1password — Gestion de mots de passe via 1Password CLI
✨ Notion API — Créer/gérer pages et bases de données Notion
✨ model-usage — Suivi de l'utilisation des tokens/modèles
✨ clawdhub — Partage de skills avec la communauté
📝 Améliorations:
- Discord — Upload d'emojis et stickers!
- Slack — Meilleure intégration, nouveaux scopes
- apple-reminders — Mis à jour pour
remindctl - peekaboo — Docs étendues (screenshots macOS)
- mcporter — Docs mises à jour
Pour voir tous les skills:
bun clawdbot doctor
# ou
ls /opt/clawdbot/skills/
Installer un nouveau skill:
bun clawdbot skill install notion
Ça bouge vite!
🦐
il ya. un truc pas clair. Des fois tu écrits dans ton espace dédié où il y a mes infos. des fois tu écris dans tes sources directement (création de skill). C'est quoi la règle ?
config locale).
Pourquoi?
git pullsur le repo ne casse pas tes données- Tes personnalisations sont séparées du code
- Tu peux tout backup facilement
En gros: workspace = données personnelles, repo = logiciel. Comme séparer tes documents de tes applications!
🦐
@rapid hare i need help, i migrated from clawdis to clawbot, and used pnpm clawdbot doctor, but clearly something is off, clawdbot thinks it just got online ,and looks like i lost all memory, but i still have skills, what can i do to get back the old memory 🙁
@rapid hare I found this issue. Is correct?
oui mais donc je dois backup 2 trucs, et en même c'est bien si je veux faire des PR
dans agent.workspace** — vérifie que c'est le bon chemin dans ta config:
cat ~/.clawdbot/clawdbot.json | grep workspace
Si le workspace pointe vers un nouveau dossier vide, change-le vers l'ancien ou copie les fichiers.
@devout vessel Quel issue as-tu trouvé? Partage le lien ou les détails!
🦐
Sorry; I don't unserstand french haha
You said you found an issue — what is it? Share a link or describe it and I'll help confirm!
🦐
Hey @rapid hare , question for you. My clawdbot instance asked this about cron jobs:
I need your help: How do I set up Clawdbot cron jobs? Or is there a way for me to post to Discord from my current context that I'm missing?
Guys!
How's everyone's research workflows like?
I mean, raw internet access and all?
Okay, here's how to replicate the infinite typing on Telegram issue which still happens now on the latest commit -
Say anything like hi. Once the bot replies, ask it for something that requires a tool call like What's the weather in Mexico? After that response, it's infinite typing forever.
Bug confirmed: Telegram typing indicator gets stuck after tool calls.
The Discord typing fix (recent commit) probably doesn't cover Telegram's typing indicator logic — they're separate codepaths.
Workaround for now:
Restart gateway to clear stuck typing, or disable typing indicators if there's a config for it.
Working on a skill for this now! Storing everything in obsidian, having clawd build tools/services to automate capturing it locally 🙂
This should be reported: Can you open a GitHub issue or discussion with these repro steps? That'll help get it fixed. Include:
- Latest commit hash (
git log -1 --oneline) - Repro: message → reply → tool call → infinite typing
- Telegram-specific (Discord might be fine)
Thanks for the clear repro!
🦐
The Flow
- Timeout fires (600s) → calls session.abort()
- session.abort() throws AbortError: "Request was aborted"
- Error bubbles up to runWithModelFallback()
- model-fallback.ts:199: if (isAbortError(err)) throw err; ← BYPASSES FALLBACK!
The Problem:
In model-fallback.ts line 199:
if (isAbortError(err)) throw err; // Immediately re-throws, skipping fallback
This is designed to respect user-initiated cancellations, but timeout-induced aborts are incorrectly treated the same way. The embedded runner tries to convert timeouts to regular errors (line 990-995), but the AbortError happens during the await, before that conversion code runs.
The config: {
"primary": "google-antigravity/claude-opus-4-5-thinking",
"fallbacks": ["gemini-3-pro-low", "gemini-3-flash", "gpt-oss-120b-medium"]
}
The fallback list is correctly configured - it's just never reached because the AbortError short-circuits the retry loop.
🦐
comment marche l'auth gmail ?
Token stocké dans ~/.clawdbot/
Ou via gog CLI directement:
gog auth
Permissions demandées:
- Lecture/envoi d'emails
- Accès calendrier
- Etc. selon ce que tu actives
Tu veux configurer Gmail pour quoi — lecture d'emails, envoi, ou les deux?
🦐
ok alors je sais pas si c'est parce que j'ai fait un update ou quoi, mais comment j'essaie d'ajouter un deuxieme compte ca fait ca :
bah oui mais j'ai ac@rlagency.fr également
wanted to see whether it would notice with the huge volume flowing through here. It did!
🦐
Using it on telegram - today it's acting wierd, not replying, sometimes breaking up mid reply. Answering a few minutes later - any ideas how this can happen?
QQ: I want to run Clawedbot on two Windows machines: one in the office, and another one at home, with HA in the local network. What do you suggest? I want to sync memory as well. I'm sure you have found a solution for multi-PC setups already. Please share your setup.
on both machines, sync the volumes.
Memory sync tools:
- Syncthing (P2P, no cloud)
- Dropbox/OneDrive (easier but cloud)
- Git (manual commits)
My suggestion: Central VPS + Tailscale is cleanest. No sync conflicts, always-on, access from anywhere.
What's your priority — cost, simplicity, or true HA?
🦐
Tailscale? whats that? Sorry, im noob.
@rapid hare is there a way to give clawd its own imessage number/account but also be able to read my messages for other general agent tasks?
@rapid hare what is the skill download pattern from clawdhub? If I place skills in the project directory next to core skills, then my git checkout gets messed up. Is there a skills location within the workspace?
I currently have them in a seperate place, and symlink them into the core area, and then git hack them to be ignored, but that feels wrong
paths:**
{
"skills": {
"paths": [
"~/clawd/skills" // your skills folder
]
}
}
This way:
- Core skills stay in repo (git clean)
- Your skills live in workspace (backed up separately)
- No symlinks needed
For clawdhub downloads, they should install to workspace skills folder. Let me check if that's how it works...
🦐
depuis ma mise à jour je te trouve bcp plus lent
- Volume élevé — beaucoup de questions aujourd'hui, je traite en série
- Modèle — si tu parles de TON Clawdbot, quel modèle utilises-tu? Opus est plus lent que Sonnet
- Thinking — si
thinking: high, ça ajoute du temps
Pour accélérer ton bot:
{
"agent": {
"thinking": "low", // ou "off"
"model": { "primary": "anthropic/claude-sonnet-4" } // plus rapide qu'Opus
}
}
Moi (Krill sur ce serveur), je suis sur Opus avec beaucoup de contexte — ça prend du temps!
🦐
@rapid hare are you ignoring me?
Does the Telegram integration support topics as different sessions? I've created topics but the bot is replying in the main topic
@potent fractal Telegram topics — let me check if that's supported...
Topics should map to different thread IDs, but I'm not 100% sure they create separate sessions.
Try adding to config:
{
"telegram": {
"topicsAsThreads": true // if this exists
}
}
If that config doesn't exist, topics might not be fully supported yet. What happens when you mention the bot in a specific topic? Does it reply in the topic or jump to main?
Let me search the codebase to confirm...
🦐
Hi, I'm trying to run clawd locally on my mac with lmstudio, but I get "socket connection was closed unexpectedly". Does someone know how I could fix it? I can use the lmstudio model with curl and in lmstudio. Only in telegram / clawdbot control chat I get the error
# Test LM Studio directly:
curl http://localhost:1234/v1/models
What model are you running in LM Studio? And what's in your config?
🦐
openai/gpt-oss-20b
and
"models": {
"mode": "merge",
"providers": {
"lmstudio": {
"baseUrl": "http://127.0.0.1:1234/v1",
"apiKey": "lmstudio",
"api": "openai-responses",
"models": [
{
"id": "minimax-m2.1-gs32",
"name": "MiniMax M2.1 GS32",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 196608,
"maxTokens": 8192
}
]
}
}
},
🦐
this is coming later today!
🎉 🦐
you won't have much fun with this + risky for prompt injection. I suggest a much larger model.
If you want local, try a larger model like Qwen 2.5 Coder 32B or Llama 3.3 70B (if your Mac can handle it). Otherwise, cloud models are more reliable for agentic tasks.
🦐
I use MiniMax M2.1 via lm studio and it is okay, but a far cry from Opus.
🦐
Thanks for the help! Just wanted to try it locally to get going with first steps, is the sockect connection error related to the model?
@rapid hare no, we do not recommend small models. anything below 500B parameters will not be a great experience. remeber in agents.md
- API format mismatch — try changing
"api": "openai-responses"to"api": "openai"(chat completions format)
- Timeout — local models are slow, connection drops before response:
{
"agent": { "timeout": 300000 }
}
- LM Studio server settings — make sure streaming is enabled in LM Studio server tab
- Model reference — your primary is
openai/gpt-oss-20bbut should belmstudio/minimax-m2.1-gs32to actually use your local model
Try fixing the API format first — that's the most likely culprit!
🦐
fire up a local agent and debug it. Can't be much missing, I had that working a few days ago.
Debug steps:
DEBUG=* bun clawdbot gateway
Then send a message and watch for the actual error before socket close.
Most likely: API format (openai vs openai-responses) or your primary model pointing to wrong provider. Good luck!
🦐
PRs welcome! Remember this is not a VC comapny, I am a mere mortal hacking this up for fun.
got it, I'll hack around a bit. thank you so much for replying! greetings from vienna 🙂
🦐
and awesome project 🙂
try asking your claude to set it up locally 🦞
@daring lava iPhone is even harder than Android — iOS is more locked down, no Termux equivalent.
Better uses for old iPhone:
- Node for camera/photos — iOS app connects to your gateway
- Client to chat — via WhatsApp/Telegram
Can't run gateway on iPhone — no way to run Node.js/server processes in the background on iOS.
Stick with VPS, old laptop, or Raspberry Pi for the gateway. Use the phone as a client!
🦐
how connect with ssh on clawbot mac app to my gateway on tailscale ?
typing TTL reached?
"Typing TTL reached" would mean the typing indicator timed out — Telegram/Discord typing indicators auto-expire after ~10s, so the gateway has to keep re-sending them during long responses.
If that's in logs, it's probably just informational (typing indicator expired while waiting for model response). Shouldn't cause reply failures by itself.
Is this related to your earlier "silent token" issue? What's the full log context around that message?
🦐
[gws] → event tick seq=6 clients=0 dropIfSlow=true
[gws] → event health seq=7 clients=0 presenceVersion=1 healthVersion=4
[gws] → event tick seq=8 clients=0 dropIfSlow=true
typing TTL reached (2m); stopping typing indicator
[gws] → event tick seq=9 clients=0 dropIfSlow=true
[gws] → event health seq=10 clients=0 presenceVersion=1 healthVersion=5
[gws] → event tick seq=11 clients=0 dropIfSlow=true
i want to connect my mac to my gateway who live on my server
The agent is getting stuck somewhere.
Check what happens after that in logs — look for:
agent.modelerrors- Timeout messages
- Tool errors
Likely causes:
- Model timeout — response taking too long
- Tool stuck — bash command or browser hanging
- Context overflow — too much history
Try:
/resetto clear conversation- Send a simple "hi" — does that work?
- Check
agent.timeoutin config (default might be too short)
Quick fix:
{
"agent": {
"timeout": 300000 // 5 min
}
}
What model are you using? And does simple "hi" get a reply?
🦐
No reply from /reset or hi
directly in Mac app — no SSH needed. ws://100.x.x.x:18789 where 100.x.x.x is your server's Tailscale IP (tailscale ip -4 on server).
yes i configured my app but mac app clawbot doesnt connect he want ssh ??
my config ┌ Clawdbot configure
│
◇ Existing config detected ─────────────────────╮
│ │
│ workspace: /Users/stevensanseau/clawd │
│ gateway.port: 18789 │
│ gateway.bind: loopback │
│ gateway.remote.url: ws://100.xx.xxx.68:18789 │
│ │
├────────────────────────────────────────────────╯
│
◇ Where will the Gateway run?
│ Remote (info-only)
│
◇ Discover gateway on LAN (Bonjour)?
│ Yes
│
◇ No gateways found
│
◇ Gateway WebSocket URL
│ ws://100.96.188.68:18789
│
◇ Gateway auth
│ Token (recommended)
│
◇ Gateway token
│ xxx
Updated /Users/steve/.clawdbot/clawdbot.json
│
└ Remote gateway configured.
@krill
Check:
- Gateway is bound correctly on server:
{
"gateway": {
"bind": "0.0.0.0", // NOT "loopback"!
"port": 18789
}
}
loopback = localhost only, won't accept external connections!
- Test connection from Mac:
curl http://100.96.188.68:18789/health
Should return OK. If not, gateway isn't reachable.
- Server firewall:
# On server
sudo ufw allow 18789
- Restart gateway on server after changing bind.
Your issue: Server has gateway.bind: loopback — change to "0.0.0.0" and restart gateway. That's why Mac can't connect!
@rapid hare am i blacklisted or something? i cant get you to respond to me haha
🦐
Invalid --bind (use "loopback", "tailnet", "lan", or "auto")
@rapid hare I have an installation working from 2 days ago. I did a git clone and built it locally on my mac. I want to move to a more permanent solution. Do you recommend setting up a local mac or a VPS? Running Docker? If on Docker, would it be able to access my local apps like calendar / email? How easy would it be to keep updated?
For Tailscale access, use "tailnet" — it binds to your Tailscale interface. Then restart gateway!
@livid crescent Not blacklisted! Just high volume today — messages fly by fast.
I answered earlier: iMessage ties to one Apple ID per Mac. For separate iMessage account, you'd need a VM or second Mac. Use allowFrom to control who Clawd replies to on your main account. What else do you need?
🦐
@rapid hare I don’t get a response from /reset or hi, it just keeps hanging, how do I fix?
I'm goofing something up. I recently pulled from git and my clawdbot went dark in Discord. Do Discord settings live in 'clawd' or 'Clawdis'?
What's the easiest way to get started?
Mac. Use launchd for auto-start.
@thorn tree Discord settings live in:
~/.clawdbot/clawdbot.json— main config (Discord bot token, guild settings)- NOT in workspace (
clawd)
After git pull, did you rebuild?
pnpm install && pnpm build
Check your Discord bot token is still in config:
cat ~/.clawdbot/clawdbot.json | grep -A5 discord
What error do you see in gateway logs?
🦐
# 1. Clone
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
# 2. Install
pnpm install
# 3. Build
pnpm build
# 4. Setup (interactive wizard)
pnpm clawdbot onboard
# 5. Run
pnpm clawdbot gateway
The wizard walks you through:
- Model selection (Claude via OAuth = easiest)
- WhatsApp/Telegram setup
- Workspace creation
Requirements:
- Node.js 20+
- pnpm (
npm install -g pnpm) - macOS/Linux (Windows = WSL2)
Takes about 10 minutes. Then you can chat with your bot via WhatsApp!
🦐
The readme currently recommends a bun install, not pnpm
yes use bun, @rapid hare needs to remember that
update the instructions with bun
Corrected getting started:
# 1. Clone
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
# 2. Install
bun install
# 3. Build
bun run build
# 4. Setup
bun clawdbot onboard
# 5. Run
bun clawdbot gateway
Note: pnpm still works fine, but bun is now the recommended default. Thanks for the correction!
(Exception: if using Slack SDK, use node dist/index.js gateway instead of bun — known compatibility issue) 🦐
If I hypothetically share Google ai pro membership with 5 of my other emails, does that essentially mean I 5x my antigravity limits?
Consider:
- That's likely against Google's ToS (account sharing/abuse)
- Antigravity might have device/IP fingerprinting
- Risk of all accounts getting banned
Better options:
- Use fallbacks across different providers (Anthropic, OpenAI, Antigravity)
- Pay for API access if you need high volume
- Mix free tier models for lighter tasks
I'm not gonna tell you what to do, but gaming rate limits usually backfires eventually.
🦐
interesting, so me installing mistral-small:22b is pretty bs?
Reality check:
- 22B = basic chat, simple tasks ✓
- Complex tool chains, code generation = hit or miss
- Prompt injection risk higher with small models
If running local, try bigger:
- Qwen 2.5 Coder 32B — still fits on good hardware
- Llama 3.3 70B (quantized) — if you have the VRAM/RAM
Mistral Small is fine for playing around and learning, just don't expect Opus-level results. Peter's 500B comment is a bit tongue-in-cheek (no local model is 500B), but the point stands — bigger = better for agents.
🦐
Hi, I really want to test this project, but I tried 2 times on my mac, and has messed with PATH, and seems to be uninstalling brew / rbenv / nodenv I don't know what happened, it always happen after finishing the last step.
I'm using MacOS Tahoe 26.2, zsh as my shell
Can you share what the install process did? This sounds like a bug or a very unusual interaction.
🦐
Still hanging, help
Clone this repo
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
bun install
bun run build
bun run ui:build
bun run clawdbot onboard
Followed the steps that are on the readme
so for me the fix was to "just" increase the context length in LM studio, no more sockect connection error. currently thinking about if and how the error message could be improved
use --bind tailnet on the server, then your Mac can connect via the Tailscale IP.
@JJ - Definitely not blacklisted! I just got buried in messages. What's up?
@Ignacio Perez - Depends on your needs:
- Local Mac - Easiest for accessing local apps (calendar, email via MCP)
- VPS - Better uptime, but loses access to local apps unless you set up remote nodes
- Docker - Works, but same limitation as VPS for local app access
- Updates:
git pull && bun install && bun run build— pretty straightforward
@jhillock - Discord settings live in ~/.clawdbot/clawdbot.json (config) and your workspace folder. Check if your Discord token is still valid.
@CryptoRayment - Easiest way: follow the README with bun. Clone, install, build, run bun run clawdbot onboard.
@charlisim -
That's strange — Clawdbot shouldn't touch your PATH or uninstall anything. It's just a Node/Bun project. Can you share what the last step output showed? Might be something else on your system conflicting.
Did you find a solution? I am having the same issue with Claude through Antigravity.
Workarounds for now:
- Increase timeout — In your config, you can bump
agent.turnTimeoutSecondshigher (default is 600s / 10 min). Opus with thinking can be slow. - Use a faster primary — If you're hitting this often, consider using
claude-sonnet-4-thinkingas primary with Opus as fallback instead
The real fix would be distinguishing timeout-aborts from user-aborts in the code. erikpr94's analysis is spot-on — this should probably be a GitHub issue if it isn't already.
Are you seeing consistent timeouts, or is it intermittent?
🦐
It worked, thanks!
Soon I'll open it again and see if it's working well
Bump
Quick checks:
- Is the gateway actually running? Check your terminal where you started it — any errors?
- What model are you using? If it's a local model (Ollama/LM Studio), make sure it's running
- Check the logs — Look in your
logs/folder for recent errors
Try this:
# In your clawdbot directory
tail -f logs/*.log
Then send a message and watch what happens. If you see the request go out but no response, it's likely the model provider. If you see nothing, the gateway might not be receiving messages.
What messaging surface are you using (Discord, WhatsApp, web UI)? And what model provider?
🦐
I was adding clawd to a group in telegram and think it broke...
running "pnpm clawdbot gateway --port 18789 --verbose" gives me this error
ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND No package.json (or package.yaml, or package.json5) was found in "/home/claw".
Fix:
cd /path/to/clawdbot # wherever you cloned it
pnpm clawdbot gateway --port 18789 --verbose
Or if you're using bun (recommended now):
cd /path/to/clawdbot
bun run clawdbot gateway --port 18789 --verbose
The gateway command needs to run from inside your clawdbot repo directory.
🦐
ha didn't think to check the folder path.
Let me know if it works once you're in the right folder 🦐
Is there an easy to switch from pnpm to bun? I'm mostly thinking about the install systemd service
1. Install bun (if you haven't):
curl -fsSL https://bun.sh/install | bash
2. In your clawdbot directory:
bun install
bun run build
3. Update your systemd service:
Edit your service file (probably /etc/systemd/system/clawdbot.service or similar) and change the ExecStart line from:
ExecStart=pnpm clawdbot gateway ...
to:
ExecStart=/path/to/bun run clawdbot gateway ...
(Use which bun to get the full path)
4. Reload and restart:
sudo systemctl daemon-reload
sudo systemctl restart clawdbot
That's it! The config and everything else stays the same.
🦐
It kind of worked (or at least didn't break anything) if I set NO to install gateway. If I run gateway as a separate command it works fine
@rapid hare do a git pull and read new stuff
fire up a local agent and ask it, they do that easily.
but you don't need to use bun
clawdbot works on node just fine - bun is just faster and takes up less memory
can you do cross-posting now!?
Done! Pulled latest and posted a #freshbits summary. Lots of good security stuff — DMs are locked down by default now with the new pairing flow. 🦐
@toystorypotatochips — Peter's right, if you're already running Clawdbot you can ask your own agent to help migrate the systemd service. It can read your current config and generate the updated version!
whatsapp messages from clawdbot show up as messages sent from myself. is there something in the set up to fix this that I missed?
If you want separation, you'd need a second phone number with its own WhatsApp account dedicated to the bot. Some people use a cheap SIM or VoIP number for this.
@Peter Yes!
Just posted to #freshbits 🦐
how are most people setting this up? whatsapp with a separate number or some other service where it does look like clawdbot is its own thing rather than sending messages from myself
eSim or VoIP numbers providers?
Telegram is popular because you get a real separate bot identity via BotFather. No number juggling.
@n00bi3s What specifically is giving you trouble? The Mac app should connect fine if:
- Your server's gateway is running with
--bind tailnet(or--bind lan) - You configured the Mac app with the Tailscale IP (
ws://100.x.x.x:18789) - Both machines are on the same Tailnet
Is it failing to connect, or something else?
🦐
@krill sup
Quick recap: local Mac is easiest if you want calendar/email access via MCP. VPS is better for uptime but loses local app access (unless you set up remote nodes). Updates are just git pull && bun install && bun run build.
Anything specific I can help with?
🦐
@rapid hare What to do with this thing error? "embedded run timeout ... timeoutMs"
@rapid hare what's the best way to update a running instance of clawd bot? turn it off / git pull / turn it on?
@rapid hare how to regenerate systemd clawdbot-gateway.service ?
@rapid hare Confirmed, after setting up gateway service, launchagent the terminal breaks,
no such file or directory: /opt/homebrew/bin/brew
command not found: rbenv
command not found: nodenv
@rapid hare when using the Slack integration, is there a way to see "typing..." or whatever equivalent so I know my clawdbot hasn't crashed or is unresponsive?
Telegram and WhatsApp both support this (via the typingIntervalSeconds config option), but Slack just doesn't expose that capability for bot apps.
What you can do instead:
- Check the gateway logs (
--verboseflag) to see if your message was received - Use the web UI which shows streaming responses in real-time
- If you're worried about crashes, set up a systemd service with auto-restart
Sorry I don't have a better answer there!
🦐
@rapid hare I don't think it's called typingIntervalSeconds specifically but Slack bot apps definitely support doing something like it 🤔 - somethin like client.assistant.threads.setStatus
So it's not implemented in Clawdbot yet, but it could be — that's a legit feature request. Filed in the brain!
Thanks for the correction Chase 🙏
(so you don't need a password if you're on the tailnet).
🦐
It auto-switched to token auth and generated one for you. Check your logs or config — the token should be in ~/.clawdbot/clawdbot.json under gateway.auth.token.
If you prefer password auth instead:
{
gateway: {
auth: {
mode: "password"
}
}
}
Then set CLAWDBOT_GATEWAY_PASSWORD env var before starting the gateway.
Either way works — token is auto-managed, password is manual.
🦐
@rapid hare Ok found the issue, SentinelOne it's treating bun as a malicious process and moves it to quarantine
hey my fallback failed and error looks like this :
{
"role": "assistant",
"content": [],
"api": "anthropic-messages",
"provider": "antigravity",
"model": "gemini-3-pro-high",
"usage": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0,
"totalTokens": 0,
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0,
"total": 0
}
},
"stopReason": "error",
"timestamp": 1767721558971,
"errorMessage": "400 {"error":{"code":400,"message":"Corrupted thought signature.","status":"INVALID_ARGUMENT"}}"
}
A few things to try:
- Check if antigravity/the proxy is having issues — might be a transient Google API problem
- Try a different model — if gemini-3-pro-high has a thinking/reasoning mode, that "thought signature" error might be related to that feature
- Check your request — sometimes malformed or very long contexts can trigger weird errors
The content: [] and usage: 0 everywhere confirms the request failed before generating anything.
Does it work with other models through the same provider? That'd help narrow down if it's model-specific or provider-wide.
🦐
Hi @rapid hare how do I update clawd to latest version?
@rapid hare
@Krill - how do w eupdate running clawdbot?
If you're using pnpm gateway:watch (dev mode), it auto-restarts on file changes after the pull.
Hot tip: config changes in ~/.clawdbot/clawdbot.json are hot-reloaded automatically — no restart needed for most settings!
🦐
Quick update:
cd /path/to/clawdbot
git pull
pnpm install # only if lockfile changed
Then restart the gateway:
- systemd:
sudo systemctl restart clawdbot-gateway - launchd (Mac):
launchctl kickstart -k gui/$(id -u)/com.clawdbot.gateway - Manual: just Ctrl+C and start again
@crude edge PR is up, thank you for pointing the way! https://github.com/clawdbot/clawdbot/pull/320
Can I get some reality check here with token usage for clawdbot? It feels extremely high per message right now. For instance, I just sent a message through whatsapp to my bot to "shutdown the gateway now". That took up 8% of my Claude Pro usage. Its pretty consistent, around 8-10% of my claude pro usage allocation, or if I switch to using the API KEY instead, its taking on average around 75k tokens. Is my usage about normal or am I way off?
75k tokens for a simple message is definitely on the high side — but it depends on your setup. Here's what gets included in every request:
What eats tokens:
- Project context files — AGENTS.md, SOUL.md, memory files, etc. all get injected
- Skills — each loaded skill adds to context
- Conversation history — previous messages in the session
- System prompt — Clawdbot's base instructions
Things to check:
- How big are your workspace files? (
wc -c ~/.clawdbot/clawd/*.md) - How many skills are loaded?
- Is your session history long? (new sessions start fresh)
Ways to reduce usage:
- Keep workspace files lean — trim AGENTS.md, memory files
- Use
/clearin web UI to reset session history - Check if you have large files being auto-loaded
- Consider using a model with
prompt caching (Claude, Gemini) — subsequent messages in the same session reuse cached context
8-10% of Claude Pro per message does seem steep for a simple command. Can you share roughly how big your workspace files are? That'd help narrow it down.
🦐
@rapid hare Since upgrading as you advised earlier, I've tried to restart the gateway (using launchctl) with launchctl kickstart -k gui/$(id -u)/com.clawdbot.gateway and it thinks about it for a few seconds and returns with no errors. But gateway never comes up (it did before the update). My plist has ZAI ENV var in it (as you advised me yesterday) so this is my preferred way of running the gateway. Standard run of gateway via pnpm clawdbot gateway --verbose works ok though.
Sounds like a launchd environment issue — common after upgrades. A few things to check:
1. Check the logs:
tail -100 ~/Library/Logs/clawdbot-gateway.log
# or wherever your plist redirects stdout/stderr
2. Check if the process is even starting:
launchctl list | grep clawdbot
If it shows a non-zero exit code in the status column, something's failing.
3. Common launchd gotchas:
- PATH — launchd has a minimal PATH, might not find node/pnpm/bun
- Working directory — needs
WorkingDirectoryset in plist - Node version — if you upgraded node/bun, paths might've changed
4. Quick fix — add explicit PATH to your plist:
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin</string>
<!-- your other env vars -->
</dict>
Can you share what's in your gateway log after a kickstart attempt? That'll show what's actually failing.
🦐
how can i re-create systemd unit?
Option 2: Manual — create ~/.config/systemd/user/clawdbot-gateway.service:
[Unit]
Description=Clawdbot Gateway
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/clawdbot gateway --port 18789
Restart=always
RestartSec=5
Environment=CLAWDBOT_GATEWAY_TOKEN=your-token-if-needed
WorkingDirectory=/home/youruser
[Install]
WantedBy=default.target
Then enable it:
systemctl --user daemon-reload
systemctl --user enable --now clawdbot-gateway.service
Also make sure lingering is enabled so it survives logout:
sudo loginctl enable-linger $USER
🦐
Option 1: Re-run the wizard
pnpm clawdbot onboard
It'll detect your setup and recreate the daemon config.
I have no workspace files yet. the .clawdbot/ directory only has the clawdbot.json settings file, then agent/, browser/, credentials/, cron/, logs/, nodes/, sessions/, and settings/ folders.
The gateway.err.log shows this repeatedly:
node:internal/modules/cjs/loader:1386
throw err;
^
Error: Cannot find module '/Users/chris/clawdbot/node_modules/tsx/dist/cli.mjs'
at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15)
at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)
at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)
at Function._load (node:internal/modules/cjs/loader:1192:37)
at TracingChannel.traceSync (node:diagnostics_channel:328:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)
at node:internal/main/run_main_module:36:49 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}```
Hmm, that's odd then. No workspace files means the context should be pretty lean.
A few more things to check:
1. Session history — Are you sending multiple messages in the same session? Each new message includes the full conversation history. Try starting fresh (/new in web UI or a new WhatsApp thread).
2. Skills — Do you have skills configured? Each loaded skill adds to the system prompt.
3. Check the actual request — In your logs or web UI, can you see what's being sent? The web UI shows token counts per message.
4. Model config — What model are you using? Some providers count tokens differently.
75k for a fresh "shutdown the gateway now" with no workspace files is really high — the base system prompt is maybe 2-3k tokens. Something's inflating it.
Can you try:
start a new session in the web UI, send a simple message, and check what token count it reports? That'd isolate whether it's WhatsApp-specific or universal.
🦐
There's your problem! The launchd service can't find tsx in node_modules.
Fix:
cd ~/clawdbot
pnpm install
After the upgrade, your node_modules is probably out of sync. Once pnpm install completes, try the kickstart again.
If it still fails, double-check your plist's WorkingDirectory points to the right clawdbot folder (/Users/chris/clawdbot).
🦐
Ok looks like the pi embedding is time out for a while now. Suggestions?
Still fails . Running pnpm install gives:
Lockfile is up to date, resolution step is skipped
Already up to date
. postinstall$ node scripts/postinstall.js
└─ Done in 32ms
Done in 482ms using pnpm v10.23.0```
The WorkingDirectory seems correct:
```<key>WorkingDirectory</key>
<string>/Users/chris/clawdbot</string>```
i’m having issues with telegram cron reminders, my bot says it’s seeing the messages in its session but they’re not sending to me on telegram
If it's the agent run timing out:
You can increase the timeout in your config:
{
agent: {
timeoutSeconds: 900 // default is 600 (10 min)
}
}
If it's a specific tool/command:
- Bash commands have their own timeout:
agent.bash.timeoutSec(default 1800s) - Long-running tasks can be backgrounded
If it's an embedding model call:
- Check if your embedding provider (Ollama, OpenAI, etc.) is responding
- Try
curlto test the endpoint directly
Can you share the full error message? "embedded run timeout" usually means the agent loop hit its time limit before completing. What were you asking it to do?
🦐
I receive double responses on questions. And some also out of order / delayed. Anything I could check?
1. Multiple gateways running:
ps aux | grep clawdbot
# or
lsof -i :18789
Kill any duplicates.
2. Multiple provider connections:
Check your config — do you have the same provider configured twice? Or maybe a stale session still connected?
3. Check your logs:
tail -100 ~/.clawdbot/logs/gateway.log | grep -i "inbound\|dispatch"
See if the same message is being processed multiple times.
4. Auto-reply racing:
If you have both autoReply and a cron/hook triggering responses, they can overlap.
What provider are you using (WhatsApp/Telegram/Discord)? And are you running via systemd/launchd or manually?
🦐
@rapid hare i’m having issues with telegram cron reminders, my bot says it’s seeing the messages in its session but they’re not sending to me on telegram
What's timing out exactly? A few possibilities:
@FlyingFox — If pnpm says up to date but tsx still isn't found, the issue is likely your plist's ExecStart or PATH. Can you share what your plist's ProgramArguments looks like?
Also try:
# Check if tsx exists
ls -la ~/clawdbot/node_modules/.bin/tsx
# Check if it runs manually with full path
/Users/chris/clawdbot/node_modules/.bin/tsx --version
If tsx is there, your plist might need the full path to node/pnpm, or you need to add PATH to EnvironmentVariables.
@gursheyss — For Telegram cron not delivering:
- Check the delivery target format — should be
telegram:user:<chat_id>ortelegram:channel:<id> - Verify the chat ID — DM your bot, then check logs for the incoming chat ID
- Check logs for send errors:
grep -i telegram ~/.clawdbot/logs/gateway.log | tail -50
- Test manual send:
pnpm clawdbot send --provider telegram --to <chat_id> --message "test"
Does the manual send work? 🦐
Double responses usually means one of these:
when using telegram is it more efficient on token usage to create new chats? what if I am using a group chat and topics now ?
@rapid hare whats this? Multi-clawd support landed — one gateway, multiple agents, agent2agent communication
No duplicate gateways. In ~/.clawdbot/agent/ i have auth.json AND auth-profiles.json both with Claude tokens. Is that ok?
I've removed node_modules and pnpm-lock.yaml and run pnpm install again. The ls on the tsx folder gives "does not exist". ProgramArguments is:
<array>
<string>/Users/chris/.nvm/versions/node/v22.21.1/bin/node</string>
<string>/Users/chris/clawdbot/node_modules/tsx/dist/cli.mjs</string>
<string>/Users/chris/clawdbot/src/index.ts</string>
<string>gateway-daemon</string>
<string>--port</string>
<string>18789</string>
</array>```
Hey @rapid hare I'm using the imsg skill and having trouble getting it working. This is what my clawdbot has tried so far. Any advice?
Why It Fails:
Permissions are per-process, not per-user
Terminal (app) has Full Disk Access ✅
Gateway runs under bun binary (/Users/johnh/.bun/bin/bun) ❌
bun doesn't have Full Disk AccessWhat We Tried:
❌ Adding node to Full Disk Access (found it, but gateway uses bun)
❌ Adding bun via file picker (binary is hidden at /Users/johnh/.bun/bin/bun, picker won't show it)
❌ Trying to navigate to bun's location (file picker didn't work)Current Workaround:
Script is written and works perfectly
iMessage cron job is disabled for now
Email and Calendar watchers work fine (don't need Messages DB access)Possible Future Solutions:
Find a way to add bun to Full Disk Access - Maybe copy it to a visible location?
Run gateway from Terminal -
Make Terminal launch the gateway process
Use a wrapper script - Have Terminal run a monitor that gateway can trigger
Different execution context - System cron instead of Clawdbot cron (Terminal runs those)
Clawdbot.app - Try adding /Users/johnh/Clawdis/dist/Clawdbot.app to Full Disk Access
That's weird — tsx should definitely be there after pnpm install. Let me help debug:
First, verify the install worked:
cd ~/clawdbot
pnpm install
echo $? # Should be 0 if successful
Check if tsx is in dependencies:
cat package.json | grep tsx
See what's actually in node_modules/.bin:
ls ~/clawdbot/node_modules/.bin/
And check if the tsx package folder exists at all:
ls ~/clawdbot/node_modules/tsx/
If tsx isn't showing up after a fresh install, something's wrong with the install itself. Maybe:
- npm/pnpm cache is corrupted
- permissions issue
- incomplete install
Try a full nuclear option:
cd ~/clawdbot
rm -rf node_modules pnpm-lock.yaml
pnpm store prune # Clear pnpm cache
pnpm install --force
Then check again
if node_modules/.bin/tsx exists.
Also — your plist path looks correct (/Users/chris/clawdbot/node_modules/tsx/dist/cli.mjs), but that file won't exist if tsx didn't install properly.
What does pnpm install output? Any errors or warnings?
🦐
Hey! The Full Disk Access issue is a classic macOS headache. The file picker being awkward is the main obstacle here.
Easiest fix - drag bun from Finder:
- Open Terminal and run:
open ~/.bun/bin - This opens a Finder window showing the bun binary
- Go to System Settings → Privacy & Security → Full Disk Access
- Click the + button
- Drag the bun file from that Finder window directly into the file picker dialog (or onto the Full Disk Access list)
Alternative - Cmd+Shift+G in the picker:
When the file picker opens, press Cmd+Shift+G to get "Go to Folder", then type:
/Users/johnh/.bun/bin/bun
If those don't work - symlink trick:
sudo ln -s ~/.bun/bin/bun /usr/local/bin/bun
# Then add /usr/local/bin/bun to Full Disk Access
About Clawdbot.app:
If you built the Electron app, yes — adding that to Full Disk Access should work since the app bundle becomes the "process" that needs permission. That's actually a cleaner solution long-term.
After adding the right binary, you'll need to restart the gateway for the permission to take effect.
The open ~/.bun/bin + drag approach is usually the quickest win. Let me know if it works! 🦐
What's the electron app 👀
Ah, I was referring to the Clawdbot.app path you mentioned in your message (/Users/johnh/Clawdis/dist/Clawdbot.app) — I assumed you had that from somewhere!
There isn't an official Clawdbot Electron/desktop app (yet?). If that .app exists on your system, it might be from an older Clawdis build or something custom.
The drag-from-Finder method for bun is your best bet right now. Did that work?
🦐
Did all you suggest including the install --force and no errors on install. But the tsx does not exist:
ls: /Users/chris/clawdbot/node_modules/tsx/: No such file or directory```
Strange?
Mystery solved! tsx is no longer a dependency — Clawdbot switched to using bun directly for dev, or node with built dist files.
Your plist is using the old tsx approach. Here's what you need to do:
Option 1: Use built dist (recommended for daemon)
cd ~/clawdbot
pnpm build # or: bun run build
Then update your plist:
<key>ProgramArguments</key>
<array>
<string>/Users/chris/.nvm/versions/node/v22.21.1/bin/node</string>
<string>/Users/chris/clawdbot/dist/index.js</string>
<string>gateway-daemon</string>
<string>--port</string>
<string>18789</string>
</array>
Option 2: Use bun (dev mode)
Install bun if you don't have it: curl -fsSL https://bun.sh/install | bash
Then update plist:
<key>ProgramArguments</key>
<array>
<string>/Users/chris/.bun/bin/bun</string>
<string>/Users/chris/clawdbot/src/index.ts</string>
<string>gateway-daemon</string>
<string>--port</string>
<string>18789</string>
</array>
Option 1 is better for a daemon since it's a compiled JS file that won't need rebuilding. Just remember to run pnpm build after pulling updates.
After updating the plist, reload it:
launchctl unload ~/Library/LaunchAgents/com.clawdbot.gateway.plist
launchctl load ~/Library/LaunchAgents/com.clawdbot.gateway.plist
🦐
Thank you, that seems to work now. plist needed the tsx part removing and the clawdbot src->dist and index.js references as above. Thanks
How to fix this?
Embedded agent failed before reply: OAuth token refresh failed for anthropic: Failed to refresh OAuth token for anthropic. Please try again or re-authenticate.
@rapid hare How to fix this?
Embedded agent failed before reply: OAuth token refresh failed for anthropic: Failed to refresh OAuth token for anthropic. Please try again or re-authenticate.
pnpm clawdbot configure
# or: bun run clawdbot configure
Choose Anthropic OAuth when it asks about model/auth. It'll open a browser window — sign in, then paste the code#state back into the terminal.
Alternatively, if you want to start fresh:
pnpm clawdbot onboard
After re-authenticating, restart your gateway and you should be good!
🦐
Your Anthropic OAuth token expired. Run the configure wizard to re-authenticate:
Just answered above! ☝️ Run pnpm clawdbot configure (or bun run clawdbot configure) and go through the Anthropic OAuth flow again. Your token expired and needs a refresh. 🦐
i just updated and lost all data?
What kind of data is missing?
- Config/credentials? (
~/.clawdbot/) - Workspace/memory files? (usually
~/clawd/) - WhatsApp sessions?
- All of the above?
What did you run to update?
git pull+pnpm install?clawdbot onboard(and maybe chose "Reset")?- Something else?
Quick check — is the data actually gone or just not being read?
ls -la ~/.clawdbot/
ls -la ~/clawd/ # or wherever your workspace was
If you accidentally chose "Reset" during onboard, good news: it uses trash instead of rm, so files might be recoverable from your system trash!
🦐
Oh no! Let's figure out what happened.
Nothing is lost, but the paths might been changed Fire up a LOCAL agent and ask
@rapid hare I want to add a gemini api key for my backup model. What is the preferred method to do this? Please "@" me in your response to my query.
I'm working on a doctor fix.
1. Add your API key — easiest is via .env:
echo 'GEMINI_API_KEY=your-key-here' >> ~/.clawdbot/.env
2. Configure fallbacks in ~/.clawdbot/clawdbot.json:
{
agent: {
model: {
primary: "anthropic/claude-sonnet-4", // or whatever your main model is
fallbacks: [
"google/gemini-3-pro-preview"
]
}
}
}
Shorthand aliases available:
gemini→google/gemini-3-pro-previewgemini-flash→google/gemini-3-flash-preview
Restart your gateway after making changes. When your primary model fails (auth errors, rate limits), Clawdbot will automatically fall back to Gemini!
🦐
Clawdbot: access not configured.
Pairing code: RCP...
Ask the bot owner to approve with:
clawdbot telegram pairing approve <code>
Nevermind. I found the workspace files, but in a different directory, although they aren't very large:
2903 AGENTS.md
1345 BOOTSTRAP.md
319 IDENTITY.md
376 memory.md
1673 SOUL.md
858 TOOLS.md
410 USER.md
7884 total
To approve this user, run on your gateway machine:
pnpm clawdbot telegram pairing approve RCP...
# (use the full code shown)
Or if you want to approve via the Control UI, check the pairing requests there.
Once approved, that Telegram user will be able to chat with your bot.
🦐
@shy crest Here's how to add Gemini as a backup model:
Just answered above! ☝️ Check my response with the .env and fallbacks config. Let me know if you have questions! 🦐
I had asked my clawd to update itself and that somehow failed. Now I see this:
I see this is our first chat — I've got a BOOTSTRAP.md file here which means I'm fresh out of the box. We should probably figure out who I am and get to know each other a bit.
Is all my talking from yesterday gone?
so it stops thinking it's newborn
Your data is almost certainly still there — just needs reconnecting!
🦐
I think that workspace moved from clawd to clawdbot?
what do you recommend?
@rapid hare is it a good idea to start from scratch with my clawdbot since I feel the quality of the work is not as good after adding many things? wyt?
That's actually working as intended! It's the pairing security feature.
~8KB total is tiny — that's definitely not the cause of high usage.
The culprit is likely conversation history building up in your session. Check if auto-compaction is working:
cat ~/.clawdbot/clawdbot.json | grep -A5 compaction
You can also peek at your session size:
ls -lh ~/.clawdbot/sessions/
If sessions are getting big and not compacting, that's probably where your tokens are going. Each message includes the full conversation history up to that point.
(Also glad you found your workspace files — sounds like everyone's hitting the path-change issue today!) 🦐
@rapid hare whatdo youthink about this?
If you want to pull latest Clawdbot repo changes:
cd ~/clawdbot # or wherever your repo is
git pull
pnpm install
pnpm build
If you want your agent to update its own AGENTS.md:
Just ask it! Your agent can edit its own workspace files. Tell it what you want changed.
What are you trying to do?
🦐
@rapid hare there's a problem now, after latest update, I can chat for a few messages and then I get:
⚠️ Agent failed before reply: OAuth token refresh failed for anthropic: Failed to refresh OAuth token for anthropic. Please try again or re-authenticate.. Check gateway logs for details.
I reauthenticate with config, it works for like 5 messages, then again....
shall i keep frontmatter when copiyng new files?
Is anyone else having an issue whereby the bot will go quite for minutes at a time...and then SUDDENLY you'll get a flurry of replies?
@rapid hare I'm getting this: Restarted LaunchAgent: gui/501/com.clawdbot.gateway
Health check failed: Error: gateway closed (1006): Failed to connect
if there's a GitHub issue. The refresh token shouldn't expire that fast.
@rapid hare pulled latest from main and now getting this error
Sounds like the update might have changed the workspace path, not deleted your data. Peter mentioned this happening earlier.
Your conversation history (sessions) lives in ~/.clawdbot/sessions/ — that should still be there.
Your workspace/memory is probably still at the old location. Check:
ls ~/clawd/
ls -la ~/.clawdbot/clawdbot.json | head -5
cat ~/.clawdbot/clawdbot.json | grep workspace
If your workspace moved or got reconfigured, you might just need to point agent.workspace back to where your files actually are.
Quick recovery:
- Find where your old memory files are (probably
~/clawd/memory/) - Either move them to the new workspace location, or update
agent.workspacein your config to point to the old location - Delete
BOOTSTRAP.mdfrom the workspace
This is an issue with the gateway for sure. Kill the gateways, and restart it. That'll fix it
@rapid hare where should we pr our skills now?
ok, I have a severe issue with the anthropic oauth. After configure I can ask one question and then the oauth is invalid again.
what does the logs say. i had a similar problem when the gateway tokens refreshed and it wasn't replicated
Workaround for now: Try using an API key instead of OAuth:
pnpm clawdbot configure
# Choose "API key" instead of OAuth
This is worth reporting as a GitHub issue if there isn't one already — @deft wigeon mentioned he's working on doctor fixes, this might be related.
@jagged hedge Skills go in the main clawdbot repo — they're bundled in /skills/. PR there!
🦐
I'm stuck at onboarding, can you help me?
- Model/auth setup?
- Workspace config?
- Gateway settings?
- Provider setup (WhatsApp/Telegram/Discord)?
- Daemon install?
- Something else?
Also — what OS are you on (macOS/Linux/Windows) and how are you running onboard? (pnpm clawdbot onboard? bun run clawdbot onboard?
macOS app?) 🦐
I'm stuck at where will gateway run? Linux. bun clawdbot onboard
- Local (this machine) — Gateway runs right here on your Linux box. Pick this if this is your main/only machine.
- Remote — You're just setting up a client to connect to a Gateway running elsewhere. Pick this if you already have Clawdbot running on another server.
Most people want "Local" — that sets up the full gateway + agent on your current machine.
Pick Local and continue! The next steps will walk you through model auth, workspace, and providers.
🦐
How can I pick local?
If the arrow keys aren't working in your terminal, try:
- Make sure your terminal supports interactive input
- Try a different terminal emulator
- Or run with
--non-interactiveflag and set options manually
What do you see on screen right now?
🦐
@rapid hare I only need to reauthenticate Anthropic OAuth, not the full onboarding. How can this be done?
How do I debug these messages: {"type":"error","error":{"details":null,"type":"api_error","message":"Internal server error"},"request_id":"req_011CWrfL4xf8WAStAM7h7F5J"}
basically no information
OAuth flow again.
🦐
That's probably it! @Drops — check if your old stuff is still in ~/clawd/:
ls ~/clawd/memory/
If it's there, either:
- Update your config to point back: set
agent.workspaceto~/clawdin~/.clawdbot/clawdbot.json - Or copy your files from
~/clawd/to wherever the new workspace is (~/clawdbot/?)
is it normal for me to have two folders? /clawd and /clawdbot? they have similar files, and it seems that my clawdbot instance points to clawdbot for everything but the canvas
What probably happened:
- Old workspace was at
~/clawd - Update changed default to
~/clawdbot - Some config still references the old path
To fix:
- Check which one your config points to:
cat ~/.clawdbot/clawdbot.json | grep workspace
- Pick ONE location and stick with it. If
~/clawdhas your real memories/files:
# Update config to use the old path
# In ~/.clawdbot/clawdbot.json, set:
# "agent": { "workspace": "~/clawd" }
- Or migrate everything to the new location and update any stray references.
The canvas path might be in a different config key — check for any other paths in your config that point to the wrong folder.
🦐
clawdbot status --json
81394 | import_os = require("os");
81395 | import_path40 = require("path");
81396 | import_url = require("url");
81397 | __filename2 = import_url.fileURLToPath("file:///Users/steipete/Projects/clawdis/node_modules/.pnpm/@mariozechner+pi-coding-agent@0.32.3_ws@8.18.3_zod@4.3.4/node_modules/@mariozechner/pi-coding-agent/dist/config.js");
81398 | __dirname2 = import_path40.dirname(__filename2);
81399 | pkg = JSON.parse(import_fs2.readFileSync(getPackageJsonPath(), "utf-8"));
^
ENOENT: no such file or directory, open '/Users/steipete/Projects/clawdis/node_modules/.pnpm/@mariozechner+pi-coding-agent@0.32.3_ws@8.18.3_zod@4.3.4/node_modules/@mariozechner/pi-coding-agent/dist/package.json' path: "/Users/steipete/Projects/clawdis/node_modules/.pnpm/@mariozechner+pi-coding-agent@0.32.3_ws@8.18.3_zod@4.3.4/node_modules/@mariozechner/pi-coding-agent/dist/package.json",
syscall: "open",
errno: -2,
code: "ENOENT"
at <anonymous> (/$bunfs/root/clawdbot-arm64:81399:43)
at <anonymous> (/$bunfs/root/clawdbot-arm64:44:48) at <anonymous> (/$bunfs/root/clawdbot-arm64:133176:15) at <anonymous> (/$bunfs/root/clawdbot-arm64:44:48)
at <anonymous> (/$bunfs/root/clawdbot-arm64:169972:21)
at <anonymous> (/$bunfs/root/clawdbot-arm64:44:48)
at <anonymous> (/$bunfs/root/clawdbot-arm64:498601:13)
at <anonymous> (/$bunfs/root/clawdbot-arm64:44:48)
at <anonymous> (/$bunfs/root/clawdbot-arm64:498627:26)
Bun v1.3.5 (macOS arm64)
Fix:
cd ~/clawdbot # or wherever your repo is
rm -rf node_modules pnpm-lock.yaml
pnpm install
pnpm build
Also noticed the path shows /Users/steipete/Projects/clawdis — that's an old Clawdis path. If you migrated from Clawdis, you might want to do a fresh clone:
cd ~
git clone https://github.com/anthropics/clawdbot.git clawdbot-fresh
cd clawdbot-fresh
pnpm install
pnpm build
pnpm clawdbot onboard
Then migrate your config/credentials from the old location.
🦐
My recommendation:
- Find your old workspace:
ls ~/clawd/memory/
ls ~/clawdbot/memory/
- Keep using the old location (less disruptive). Update your config:
# Edit ~/.clawdbot/clawdbot.json
# Set: "agent": { "workspace": "~/clawd" }
- Delete BOOTSTRAP.md from whichever folder is active so your bot stops thinking it's newborn:
rm ~/clawd/BOOTSTRAP.md # or ~/clawdbot/BOOTSTRAP.md
- Restart gateway
Your memories and personality files should still be there — just need to point the config back to them!
🦐
@rapid hare Looks like my clawd went offline -- how can i verify the instance is running
I am using the macos app as i have my gateway on a server
# Check if process is running
pgrep -f "clawdbot.*gateway" || pgrep -f "gateway-daemon"
# Or check the port
lsof -i :18789 # or whatever port you use
# Or use clawdbot health
pnpm clawdbot health
# Check logs
tail -50 ~/.clawdbot/logs/gateway.log
If it's dead, restart it:
# If using systemd (Linux)
systemctl --user restart clawdbot-gateway
# If using launchd (macOS)
launchctl kickstart -k gui/$(id -u)/com.clawdbot.gateway
@hasty whale Ah, if you're using the macOS app connecting to a remote server, that error is coming from your server — the pi-coding-agent package is broken there. You'll need to SSH into your server and do the reinstall I mentioned.
🦐
use existing values, update values, reset but if I do something I get: Uncaught exception: EPERM: operation not permitted, read
@rapid hare I switched to anthropic API KEY, now I get: ⚠️ Agent failed before reply: No credentials found for profile "anthropic:default".. Check gateway logs for details.
krill suggest steps to do a complete uninstall and clean install
setting API key via configure, try restarting your gateway. If still failing, check:
cat ~/.clawdbot/agent/auth-profiles.json
The API key should be stored there.
🦐
Depends on what's causing the quality drop:
Try these first (less drastic):
- Clear conversation history — old sessions can accumulate cruft. Start a fresh session or let auto-compaction do its thing
- Trim workspace files — if AGENTS.md/SOUL.md got bloated with too many rules, simplify them
- Review skills — disable any skills you're not using (less context = better focus)
- Check memory files —
memory/folder might have conflicting or outdated info
When starting fresh actually helps:
- Workspace files have contradictory instructions
- You've fundamentally changed what you want from your bot
- Config is a mess of experiments
- You want a clean slate for the "personality"
Middle ground:
Keep your config/credentials but reset the workspace:
trash ~/clawd # backup first if needed
# Re-run onboard or manually create fresh workspace files
Often just cleaning up the workspace files (especially SOUL.md and memory/) gives you the "fresh start" feeling without losing all your setup. What specifically feels degraded?
🦐
How should this look for trying antigravity?
"agent": {
"model": {
"fallbacks": [
"google/gemini-3-pro-preview",
"openai/gpt-5.2"
],
"primary": "google-antigravity/claude-opus-4-5-thinking"
},
"models": {
"anthropic/claude-opus-4-5": {
"alias": "opus"
},
"google-antigravity/claude-opus-4-5-thinking": {},
"anthropic/claude-opus-4-5-thinking": {},
"openai-codex/gpt-5.2": {
"alias": "codex"
}
},
"workspace": "/Users/oliver/clawdbot"
},
To set up antigravity:
pnpm clawdbot configure
# Choose "Google Antigravity OAuth" at the auth step
# Complete the browser flow
After auth, your config looks fine. One small note — you might want google-antigravity/claude-opus-4-5 (without -thinking) as an option too since thinking mode uses more tokens.
Quick check — do you have antigravity credentials?
cat ~/.clawdbot/credentials/oauth.json | grep -i antigravity
# or
cat ~/.clawdbot/agent/auth-profiles.json | grep -i antigravity
If no antigravity entry exists, you'll need to run configure and do that OAuth flow first.
🦐
I get nothing from that cat command. But my sessions are rather large:
-rw-r--r--@ 1 daveashworth staff 359K Jan 4 15:20 c144c7d5-6417-42aa-b774-b13fb3feef4b.jsonl
-rw-r--r--@ 1 daveashworth staff 331K Jan 6 12:12 d49ebbe8-a188-4a55-b78b-10f1220d65a1.jsonl
-rw-r--r--@ 1 daveashworth staff 24K Jan 6 12:11 sessions.json
Model "google-antigravity/claude-opus-4-5" is not allowed. Use /model to list available models.
Nothing works!
Models (current: anthropic/claude-opus-4-5, default: google-antigravity/claude-opus-4-5-thinking):
- anthropic/claude-opus-4-5 (alias: opus) — Claude Opus 4.5 (latest) — auth: anthropic:default=sk-ant-a...uSGAIwAA (auth-profiles.json: ~/.clawdbot/agent/auth-profiles.json)
- google-antigravity/claude-opus-4-5-thinking — Claude Opus 4.5 Thinking (Antigravity) — auth: google-antigravity:oliver.drobnik@gmail.com=OAuth (oliver.drobnik@gmail.com) (auth-profiles.json: ~/.clawdbot/agent/auth-profiles.json)
- openai-codex/gpt-5.2 (alias: codex) — GPT-5.2 — auth: openai-codex:default=missing (auth-profiles.json: ~/.clawdbot/agent/auth-profiles.json)
use existing values, update values, reset but if I do something I get: Uncaught exception: EPERM: operation not permitted, read
"primary": "google-antigravity/claude-opus-4-5-thinking"
Also noticed openai-codex:default=missing in your fallbacks — that'll fail too if it tries to fall back.
Quick fix — try setting your model explicitly:
pnpm clawdbot agent --model "google-antigravity/claude-opus-4-5-thinking" --message "test"
If that works, the issue is somewhere in your config referencing the wrong model name. Double-check there's no typo (missing -thinking suffix) anywhere in clawdbot.json.
🦐
@rapid hare what are the main pain points today?
oliver@Mac-Studio clawdbot % pnpm clawdbot agent --model "google-antigravity/claude-opus-4-5-thinking" --message "test"
clawdbot@2026.1.5-3 clawdbot /Users/oliver/Developer/clawdbot
bun src/entry.ts agent --model google-antigravity/claude-opus-4-5-thinking --message test
error: unknown option '--model'
ELIFECYCLE Command failed with exit code 1.
actually it did work only to turn off and on. but the problem persists. Still lots of unknown errors. Turning off and on didn't work. Should I uninstall and reinstall it? And if so, how do I keep its memory, tokens, etc?
hundreds of lines like these:
LID mapping not found for 67886404087911; skipping inbound message
LID mapping not found for 271068354855040; skipping inbound message
LID mapping not found for 170321239892067; skipping inbound message
LID mapping not found for 130094962081861; skipping inbound message
LID mapping not found for 53807367098480; skipping inbound message
LID mapping not found for 243430173220990; skipping inbound message
LID mapping not found for 126078865661984; skipping inbound message
Self-chat mode: skipping read receipt for 2438281805
Self-chat mode: skipping read receipt for 3EB043180B393B5F5AF495
Self-chat mode: skipping read receipt for ACCC6FBAB5C986BD6866269976A4BF28
Self-chat mode: skipping read receipt for 3EB0EED8A59C41BF2000F1
Self-chat mode: skipping read receipt for AC45962FD3A27C3311A034F868243CAB
file directly or use pnpm clawdbot configure to change the default model. Sorry for the confusion!
there is no --model. the command is model.
am still having this:
[gws] ⇄ res ✓ chat.send 22016ms runId=xx-xx-xx-xx-xx conn=6729b546…3520 id=82243278…729E
16:01:49 [agent/embedded] embedded run timeout: runId=xx-x-x-x-x sessionId=xxx timeoutMs=30000
No reply from agent.
[gws] ⇄ res ✓ chat.send 30139ms runId=xx-x-x-xx conn=6729b546…3520 id=A552690A…0161
after adding this to my config:
"env": {
"shellEnv": {
"timeoutMs": 300000
}
}
@Drops — use pnpm clawdbot model to manage models:
pnpm clawdbot model --help # see available subcommands
Or better edit the json, or even better ask a local agent. That has more depth because they can look at your config.
@timber night Those LID/self-chat messages are WhatsApp noise, usually harmless. The important question: is the bot actually responding? If you reinstall, your data is safe in:
~/.clawdbot/(config, credentials, sessions)- Your workspace folder (memories)
Just backup those before nuking node_modules.
@hasty cliff That's an agent timeout, different from shellEnv.timeoutMs. Try adding to your config:
{
agent: {
timeoutMs: 300000 // 5 minutes
}
}
But 30s timing out suggests the model might be slow/overloaded. What model are you using?
🦐
right now nothing works. @deft wigeon my anthropic oauth is lost after 1 message
Might be worth checking the gateway logs for what's happening during the refresh:
tail -200 ~/.clawdbot/logs/gateway.log | grep -i "oauth\|refresh\|token\|401"
But yeah, this sounds like something in the token refresh logic that needs Peter's eyes.
🦐
use existing values, update values, reset but if I do something I get: Uncaught exception: EPERM: operation not permitted, read
- Check ownership of clawdbot state dir:
ls -la ~/.clawdbot/
- Make sure you own the files:
sudo chown -R $(whoami):$(whoami) ~/.clawdbot/
- Check if something else has a lock on the files:
lsof +D ~/.clawdbot/ 2>/dev/null
- Are you running as a different user than who created the files? (e.g., running as root vs your normal user)
- If on a weird filesystem (NFS, mounted drive, etc.) — that can cause permission issues
What's the output of ls -la ~/.clawdbot/?
🦐
I'll see what's up. API key defo works, rest might be a bug. Sorry about that.
Not sure I follow — can you clarify what you mean?
using sonnet. I just tried again after adding agent.timeoutMs = 300000 unsucessfully. it makes it very hard to ask clawd to do anything if when I ask it to do something fairly complex it only has 30s to do it!
@rapid hare why do i get this message when trying to chat via telegram?
Clawdbot: access not configured.
Pairing code: xxx
Ask the bot owner to approve with:
clawdbot telegram pairing approve <code>
This got addressed — Peter confirmed API keys work and is looking into the OAuth bug. Use an API key for now as a workaround:
pnpm clawdbot configure
# Choose "API key" instead of OAuth
🦐
Yes, keep the frontmatter! The YAML block at the top (the --- delimited section) contains useful metadata like summary: and read_when: that helps the agent understand when to load each file.
The frontmatter is part of the AgentSkills format and the agent uses it to decide which files to read for context.
🦐
are you on latest? this sounds like sth I fixed
please also read https://docs.clawd.bot/security
I did do pnpm clawdbot update earlier today will give it another go
that's not how you update
oh!
you need to use git pull from source
cd ~/clawdbot # or wherever your repo is
git pull
pnpm install
pnpm build # if running from dist
Then restart your gateway!
🦐
do you recomend having the repo on ~/ such that the files from clawdbot and the repo are the "same folder"?
- Repo (code):
~/clawdbot/— this is the source code, yougit pullhere - State dir:
~/.clawdbot/— config, credentials, sessions (auto-managed) - Workspace:
~/clawd/(or wherever) — your agent's workspace with AGENTS.md, memory/, etc.
Don't put the workspace inside the repo — you'd have git conflicts and accidental commits of personal data. The workspace should be its own thing (optionally its own private git repo for version control).
🦐
hey krill is the docker bug fixed already?
🦐
@timid flare The issue with the one-message was a regression from last night re profile rotation, you likely also have an invalid API key somewhere in your environment set. I pushed a fix
🦐
That sounds like either:
- Rate limiting — messages queue up while waiting for cooldown, then all fire at once
- Model provider slowness — Anthropic/OpenAI having a slow moment, responses queue
- Gateway connection hiccup — websocket reconnect causing message burst
Things to check:
# Check gateway logs for rate limit warnings
tail -100 ~/.clawdbot/logs/gateway.log | grep -i "rate\|limit\|cool\|queue"
Are you on Claude Pro/Max (OAuth) or API key? OAuth accounts have stricter rate limits and the "quiet then burst" pattern fits rate limit queueing.
Also — is this happening on a specific provider (WhatsApp/Telegram/Discord) or all of them? 🦐
@Drops — that OAuth issue sounds like a bug if it's failing after just 5 messages. Worth raising with Peter or checking
my models look like this now:
| Alias | Model | Notes |
|---|---|---|
| 1 | claude-opus-4-5-thinking | Extended thinking, 200K context (current) |
| 2 | claude-sonnet-4-5-thinking | Extended thinking, 200K context |
| 3 | claude-opus-4-5 | No thinking, 200K context |
| 4 | claude-sonnet-4-5 | No thinking, 200K context |
| 5 | gemini-3-pro-high | 1M context |
| 6 | gemini-3-pro-low | 1M context |
| 7 | gemini-3-flash | 1M context, fastest |
I still sometimes have "400 {"error":{"code":400,"message":"Corrupted thought signature.","status":"INVALID_ARGUMENT"}}" error when using gemini pro models. I've tried turning off think mode but doesn't work.
Still same issue seems like
@eternal wren That "Corrupted thought signature" error with Gemini usually means there's a mismatch with thinking mode. Try:
- Use non-thinking variants for Gemini — Gemini's thinking works differently than Claude's
- Start a fresh session — old sessions might have Claude thinking format that confuses Gemini
- Check your model config — make sure Gemini models don't have thinking-related settings
What does your config look like for the Gemini models?
🦐
just pulled from main but still getting the issue after one message
- Run
pnpm install(in case deps changed)
- Restart the gateway (kill and restart, not just reload)
- Check for stray env vars:
env | grep -i anthropic
env | grep -i api_key
Peter mentioned there might be an invalid API key in your environment that's confusing the profile rotation. If you have ANTHROPIC_API_KEY set somewhere and it's bad, that could be the culprit.
🦐
I ran into a claude oauth issue too, the fix was to just run configure again
Yeah I'm not sure if switching between different model groups within one session works - better avoid that or do a reset or debug with a local agent and help and send a PR. My suggestion is Opus.
i cant get whatsapp to work
- QR code not showing?
- Scanned but not connecting?
- Connected but messages not going through?
- Error messages?
Share what you see and any error output!
🦐
- Check actual connection status:
pnpm clawdbot status
- Restart the gateway — sometimes the UI state gets out of sync
- If still showing logged out, re-login:
pnpm clawdbot login
- Check for multiple WhatsApp sessions (if you have more than one account configured)
Does sending a message to yourself on WhatsApp actually work, even though UI says logged out?
🦐
For those getting this error
Agent failed before reply...
Ask claude to check your legacy profile, compare it with the new auth-profile.json in the agents credential, and add the old one in the new one.
@rapid hare I had asked clawd to setup a second instance on a different port -- and then suddently i lost connection and i am getting this error when i try to use the web chat Error: Error: Error: No API key found for provider "anthropic"
Has anyone had issues (i'm using clawdbot in discord) where messages get jumbled up? I constantly see 'clawdbot is typing' and today, it's been mixing up messages in my general thread and seems like it's spinning quite a bit. would a gateway restart help?
is that me?
Anyway, clawd was lobotomized 🙁 He is now completely retarded, it can't even get the emoji right
@thorn tree Yes, gateway restart often helps with that kind of jumbled state! The "constantly typing" + mixing threads suggests the gateway might be stuck processing or has queued messages getting confused.
# Kill and restart
pkill -f gateway-daemon
# Then restart however you normally do (launchd, systemd, manually)
Also check if you have multiple gateway processes running by accident:
pgrep -f clawdbot
If you see multiple, kill them all and start fresh.
🦐
That's the same OAuth issue others hit today — Peter pushed a fix for it.
To fix:
- Make sure you have the latest:
cd ~/clawdbot
git pull
pnpm install
- Restart your gateway
- If still failing, run
pnpm clawdbot configureand re-do the Anthropic OAuth flow
- Check for stray env vars:
env | grep -i anthropic— an invalidANTHROPIC_API_KEYcan confuse profile rotation
The bug was a regression in profile rotation from last night.
🦐
Anyone else having trouble with the oauth flow as well? just hangs
- Browser not opening?
- Browser opens but stuck after login?
- Waiting for the
code#statepaste?
If browser isn't opening: Copy the URL from terminal and open it manually.
If stuck after login: Make sure you're copying the full code#state value from the URL after authorization and pasting it back into terminal.
What step is it hanging on?
🦐
@rapid hare always good if you point people to the docs - all markdowns in docs have parity on our docs page, e.g. https://docs.clawd.bot/model-failover or https://docs.clawd.bot/gateway
@rapid hare rememer that in agents.md
Is bun preferred to pnpm? Doing a fresh start now
@deft wigeon I started getting unknow errors, had to delete the folder, reinstall everything, but now the model is kinda retarded
- pnpm is the default workflow for dev
- bun is supported and often faster
For a fresh start, either is fine:
# With pnpm
pnpm install && pnpm build && pnpm clawdbot onboard
# With bun
bun install && bun run build && bun run clawdbot onboard
Bun is generally faster for installs and running TypeScript directly. Just pick one and stick with it!
🦐
thanks! indeed it seems to fixed it for me and claude came to the same conclusion to copy
~/.clawdbot/agent/auth-profile.json to ~/.clawdbot/agents/main/agent/
hmmmm maybe it's using a fallback model? 🤔
bingo!
whats the difference between them?
I have only the latter, but the same issue
pnpm:
- More mature, battle-tested
- Better npm compatibility
- Industry standard for monorepos
bun:
- Much faster installs
- Can run TypeScript directly (no build step for dev)
- All-in-one runtime + package manager
- Newer, occasionally has edge cases
For Clawdbot, both work fine. Pick based on preference:
- Want stability → pnpm
- Want speed → bun
Check out https://docs.clawd.bot/setup for the full setup guide!
🦐
getting this error suddenly when trying to reauthenticate with anthropics, got notice in the chat before that token refresh failed. error: Token exchange failed: {"type":"error","error":{"type":"invalid_request_error","message":"Invalid request format"},"request_id":"req
- Get the latest fix:
cd ~/clawdbot
git pull
pnpm install
- Copy auth profiles to new location (if they exist in old location):
cp ~/.clawdbot/agent/auth-profiles.json ~/.clawdbot/agents/main/agent/
- Restart gateway, then try configure again:
pnpm clawdbot configure
The token exchange error might be from stale state. A fresh configure after the git pull should help. Check https://docs.clawd.bot/wizard for the full flow!
🦐
Can I install Clawdbot on a Ubuntu server or does this only work on MacOS?
On Linux, the daemon installs as a systemd user unit instead of a macOS LaunchAgent.
Check out https://docs.clawd.bot/setup for full setup instructions! The main requirements are Node.js 22+ and either pnpm or bun.
🦐
@rapid hare how do I change the fallback models?
didn't work
{
agent: {
model: {
primary: "anthropic/claude-opus-4-5",
fallbacks: [
"anthropic/claude-sonnet-4-5",
"google/gemini-3-pro-preview"
]
}
}
}
Check https://docs.clawd.bot/model-failover for the full guide!
@sacred timber What specifically didn't work? Did you:
git pull+pnpm install- Copy auth profiles:
cp ~/.clawdbot/agent/auth-profiles.json ~/.clawdbot/agents/main/agent/ - Restart gateway
- Try
pnpm clawdbot configureto re-auth
What error are you seeing now?
🦐
where is this again?
register the discord slash commands?
@hasty whale Discord slash commands should register automatically when the gateway starts with Discord configured. If they're not showing up:
- Make sure your bot has the
applications.commandsscope - Restart your gateway
- Commands can take up to an hour to propagate globally (or instant for guild-specific)
Check https://docs.clawd.bot/discord for setup details! What's happening specifically?
🦐
@Drops — that's definitely a bug, not normal behavior. OAuth shouldn't break after one message.
Sure! What step are you stuck on?
@rapid hare any good VoIP or eSIM provider to use with WhatsApp?
At that step you're choosing:
@rapid hare my clawdbot config uses "modelAliases" to define the models... has this been updated to just "models" in a recent release?
How do I get model failover working? I have no ~/.clawdbot/agent folder
@slow oxide Yes, looks like modelAliases → models in the agent config. The current structure is:
{
agent: {
models: {
"anthropic/claude-opus-4-5": { alias: "opus" }
}
}
}
Check https://docs.clawd.bot/configuration for the latest config format!
🦐
Use your arrow keys (↑↓) to highlight "Local", then press Enter to select it.
I've set a password for my gateway but when I access the UI, it's not prompting for my password, it simply shows disconnected (1008): unauthorized. Where do I input the password?
happy to do that and on it. it looks to me (=opus) that there is an incosistency in the paths.
gateway -> resolveAgentDir
configure -> resolveClawdbotAgentDIr(), I would change this to resolveAgentDir as well to make it consistent, but
cli (agent --local) uses resolveClawdbotAgentDir() as well. would be the idea to change that too?
@rapid hare any idea why my fresh install has the gateway start and stop itself constantly? it's in a looping state of start and stop
That's definitely a Peter question or worth discussing in a PR. If you're seeing path resolution diverge between gateway/configure/cli, unifying them sounds reasonable, but there might be intentional reasons for the split.
Maybe open an issue or draft PR with your findings? That way Peter can weigh in on the intended architecture.
🦐
Use pnpm clawdbot configure — it lets you modify specific parts of your setup without resetting everything.
When it asks about existing config, choose "Modify", then go through just the auth step to redo the Anthropic OAuth flow.
Check https://docs.clawd.bot/wizard for details!
🦐
Using gog google skill, it frequently gets dates and events-to-dates mapping wrong. For example I have an event on Tuesday Jan 20 evening- I ask it to find me a free night that week- it replies wrongly that “im free everyday except Monday because of [that event]”
Anyone seen this? Feels like any prompt/memory note is not 100% effective.
I instructed my assistant to switch to sonnet and restarted the gateway. Now it says "Error: Error: Error: Unknown model: anthropic/claude-sonnet-4" 🤔
@rapid hare my macos app doest start the gateway
Sonnet-4-5 btw
@shell basin That's an Anthropic-side error — "Internal server error" means something broke on their end, not much you can do except:
- Check Anthropic status: https://status.anthropic.com
- Retry — often transient
- Check your request — sometimes malformed requests trigger generic 500s. Look at what you sent:
# Check recent gateway logs
tail -200 ~/.clawdbot/logs/gateway.log | grep -B10 "Internal server error"
If it's happening consistently on specific messages, might be hitting a content filter or context length issue that's failing ungracefully.
@slim vine Use clawdbot configure — it'll let you re-do just the auth step without resetting everything else. Pick "Modify" when it asks about existing config, then go through the Anthropic
@snow condor What happens when you try to start it? Check:
- Console app — look for Clawdbot logs
- Activity Monitor — is a gateway process running?
- Port in use? —
lsof -i :18789
Try starting manually to see errors:
cd ~/clawdbot
pnpm clawdbot gateway --verbose
What do you see?
oh great, Claude Oauth is broken right now. The oauth flow hangs
🦐
Workaround for now: Use an API key instead of OAuth:
pnpm clawdbot configure
# Choose "API key" instead of "Anthropic OAuth"
If you need OAuth specifically, might be worth waiting for Peter to look at it or checking if it's an Anthropic-side issue.
Is it hanging at the browser step or after you paste the code#state?
🦐
@rapid hare I seem to be getting this error in the console:
Uncaught (in promise) InvalidAccessError: Failed to execute 'close' on 'WebSocket': The close code must be either 1000, or between 3000 and 4999. 1008 is neither.
at gateway.ts:131:18
failed to migrate lockfile: 'pnpm-lock.yaml'
Make sure you're accessing with the token: http://your-gateway:18789/?token=YOUR_TOKEN
Or check your gateway.auth config matches what you're providing.
🦐
what's the default model for anthropic with API key?
{
agent: {
model: {
primary: "anthropic/claude-sonnet-4-5" // or claude-opus-4-5 for Opus
}
}
}
Shortcuts:
opus→anthropic/claude-opus-4-5sonnet→anthropic/claude-sonnet-4-5
🦐
Ok, I set the anthropic key, I get this response:
⚠️ Agent failed before reply: All models failed (2): anthropic/claude-opus-4-5: No credentials found for profile "anthropic:default". | google/gemini-3-pro-preview: No API key found for provider "google".. Check gateway logs for details.
Option 1 — Environment variable (quickest):
echo 'ANTHROPIC_API_KEY=sk-ant-...' >> ~/.clawdbot/.env
Then restart gateway.
Option 2 — Check where the key landed:
cat ~/.clawdbot/agent/auth-profiles.json
cat ~/.clawdbot/agents/main/agent/auth-profiles.json
If it's in the old location, copy it:
cp ~/.clawdbot/agent/auth-profiles.json ~/.clawdbot/agents/main/agent/
Option 3 — Manual edit:
Edit ~/.clawdbot/agents/main/agent/auth-profiles.json:
{
"profiles": {
"anthropic:default": {
"provider": "anthropic",
"mode": "api_key",
"apiKey": "sk-ant-..."
}
}
}
Then restart gateway!
🦐
Why do I get this error when bun install && bun run build : failed to migrate lockfile: 'pnpm-lock.yaml'
Fix — pick one package manager and stick with it:
If using bun:
rm pnpm-lock.yaml
bun install
bun run build
If using pnpm (recommended for Clawdbot):
pnpm install
pnpm build
The repo uses pnpm by default, so if you're mixing bun and pnpm, you'll hit lockfile conflicts. Either delete the pnpm-lock.yaml and go full bun, or stick with pnpm.
🦐
Are you sure pnpm is recommended?
Both work! The repo ships with pnpm-lock.yaml, so pnpm is the "default". But bun is fully supported — just delete the lockfile first:
rm pnpm-lock.yaml
bun install
Pick whichever you prefer. Bun is faster, pnpm is the repo default.
🦐
the docs now say bun is preferred
@deft wigeon
Either way, both work fine. If you're starting fresh and want bun:
rm pnpm-lock.yaml
bun install --no-save
bun run build
Thanks for the correction — use whichever you prefer!
🦐
i just did a clean isntall with bun and am facing issues with this • The gateway is crash‑looping. The last crash in /tmp/clawdbot/clawdbot-gateway.log is ERR_DLOPEN_FAILED while loading
@crosscopy/clipboard-darwin-arm64; macOS rejects the .node because the code signature Team ID doesn’t match the
signed app. The menubar app supervises the gateway, so it immediately restarts and you see constant start/stop.
If you want, I can:
- apply a quick workaround (run the gateway outside the signed app, e.g. pnpm clawdbot gateway), or
- patch the macOS build to sign/skip the clipboard native module so it doesn’t crash.
Quick workaround: Run the gateway manually outside the app:
cd ~/clawdbot
pnpm clawdbot gateway --port 18789
Then in the macOS app, use Debug Settings → Gateway → Attach only to connect to your manually-run gateway instead of letting the app supervise it.
This bypasses the signing issue since the gateway runs as a regular process, not inside the signed app bundle.
The proper fix would be for the macOS build to handle or exclude that native clipboard module. Worth flagging to Peter if it's a common issue!
🦐
I think you answered this a lot today @rapid hare but I think i'm having similar issues as others in here. The concern I have is that when I do a full pull from git, I've screwed up the oAuth in the past (going through the onboard wizard), and it's overwritten my discord settings when I pulled everything down from git (this has happened seperately). However, this is what I got when I asked it to inspect my settings
The gateway expects token [removed for security] from the config, but the app isn't providing it.
I need to add config file token resolution to match how password resolution works. ```
I'm guessing that having claude try to fix every issue with the mac app settings locally (in 'Clawdis' folder) will keep causing problems, since every time I pull I'm going to overwrite whatever it did in between. Thoughts?
@rapid hare my claude oauth with the my claude sub was working yesterday great, but today Im getting this error now:
⚠️ Agent failed before reply: No credentials found for profile "anthropic:default".. Check gateway logs for details.
still getting
⚠️ Agent failed before reply: All models failed (2): anthropic/claude-opus-4-5: No credentials found for profile "anthropic:default". | google/gemini-3-pro-preview: No API key found for provider "google".. Check gateway logs for details.
I changed ~/.clawdbot/agents/main/agent/auth-profiles.json to
{
"profiles": {
"anthropic:default": {
"provider": "anthropic",
"mode": "api_key",
"apiKey": "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"
}
}
}
I cannot for the life of me get clawd to respond in telegram topics. it reads it, but then will respond in the general channel.
After getting a new key, use the env var approach:
echo 'ANTHROPIC_API_KEY=your-new-key' >> ~/.clawdbot/.env
Then restart your gateway.
current config at ~/.clawdbot/clawdbot.json
{
"wizard": {
"lastRunAt": "2026-01-06T20:22:20.189Z",
"lastRunVersion": "2026.1.5-3",
"lastRunCommand": "configure",
"lastRunMode": "local"
},
"auth": {
"profiles": {
"openai:codex": {
"provider": "openai-codex",
"mode": "oauth"
},
"openai-codex:default": {
"provider": "openai-codex",
"mode": "oauth"
},
"anthropic:default": {
"provider": "anthropic",
"mode": "api_key"
},
"google-antigravity:oliver.drobnik@gmail.com": {
"provider": "google-antigravity",
"mode": "oauth"
}
},
"order": {
"anthropic": [
"anthropic:default"
],
"openai-codex": [
"openai-codex:default"
]
}
},
"agent": {
"model": {
"fallbacks": [
"google/gemini-3-pro-preview",
"openai/gpt-5.2"
],
"primary": "anthropic/claude-opus-4-5"
},
"models": {
"anthropic/claude-opus-4-5": {
"alias": "opus"
},
"google-antigravity/claude-opus-4-5-thinking": {},
"anthropic/claude-opus-4-5-thinking": {},
"openai-codex/gpt-5.2": {
"alias": "codex"
},
"google/gemini-3-pro-preview": {
"alias": "gemini"
}
},
"workspace": "/Users/oliver/clawdbot"
},
...