#porting to clawdbot from claude code
1 messages Β· Page 1 of 1 (latest)
Based on the docs, here's what porting over looks like:
Memory log & claude.md β
- Clawdbot uses
memory/YYYY-MM-DD.md(daily logs) + optionalMEMORY.md(long-term) in the workspace - Claude's
claude.mdconcepts map to Clawdbot'sAGENTS.md,SOUL.md,USER.md,IDENTITY.md,HEARTBEAT.mdβ just copy your content into these files - Memory is plain Markdown and portable
Discord bot bridge β οΈ
- Clawdbot has native Discord support via
channels.discordconfig (not a bridge) - Your existing bridge config will need to be adapted to Clawdbot's native config structure (guild allowlists, channel permissions, etc.)
- Docs: https://docs.clawd.bot/concepts/groups and https://docs.clawd.bot/gateway/configuration
ElevenLabs API β
- Set
ELEVENLABS_API_KEYenv var or usetalk.apiKeyin config - Works out of the box for TTS voice mode
- Docs: https://docs.clawd.bot/nodes/talk
Bottom line: Memory files are straightforward copy-paste. Discord needs config adaptation (not a direct migration). ElevenLabs is just an env var.
Want me to point you to the exact config sections for Discord or walk through the memory file layout?
i haven't started the clawdbot configuration process yet because i'm a bit nervous to, lolπ¬
No worries at all! The onboarding wizard is genuinely beginner-friendly β it walks you through everything step by step, and you can take it as slow as you want.
A few things that might help:
- Nothing is permanent β you can change any config later
- You can skip providers you don't need β if you only want Discord, just set that up
- The wizard won't bite β it mostly asks about your messaging surfaces and API keys
Here's the quick start:
curl -fsSL https://clawd.bot/install.sh | bash
clawdbot onboard
Just run those commands when you're ready, and go through the prompts. If you get stuck, the #help channel is here for you.
You've got this! π¦
how do i make an imsg cli path?
You need to install imsg first β it's a Homebrew formula:
brew install steipete/tap/imsg
Once installed, Clawdbot config points to it:
{
channels: {
imessage: {
enabled: true,
cliPath: "/usr/local/bin/imsg",
dbPath: "/Users/YOUR_USERNAME/Library/Messages/chat.db"
}
}
}
Requirements:
- macOS with Messages signed in
- Full Disk Access (System Settings β Privacy & Security β Full Disk Access)
- Automation permission (System Settings β Privacy & Security β Automation)
Just run the brew install command and you're done with the CLI part. π¦
how do i know which gateway bind mode to select when configuring clawdbot?
Hey! π¦ Great question about the gateway bind mode!
Honestly, I don't have the specific details on gateway bind modes loaded in my context right now. Let me point you to the right resources:
π Check the docs:
- FAQ: https://docs.clawd.bot/start/faq
- Gateway config: https://docs.clawd.bot/gateway/configuration
- Troubleshooting: https://docs.clawd.bot/gateway/troubleshooting
Quick thought: Gateway bind mode typically relates to how Clawdbot exposes its interface β things like:
localhostonly (most secure, local access)0.0.0.0(all interfaces, network access)
But I'd hate to guess and give you wrong info! The docs above should have the specifics.
Also helpful: When you do start configuring, knowing your version early helps:
clawdbot --version
This is super common stuff though β the docs will walk you through it! Don't be nervous, the community's here to help if you get stuck. π
Want me to look up the specific bind mode options once you find the docs section? Happy to help you parse through it!
yes please
Got it! π¦ Here's the rundown on gateway bind modes:
Gateway Bind Modes
| Mode | Description | When to Use |
|---|---|---|
loopback |
Listens on 127.0.0.1 only |
Most common choice! Local access only, most secure |
lan |
Listens on 0.0.0.0 (all interfaces) |
Access from other machines on your network |
tailnet |
Binds to Tailscale IP | Access via Tailscale network |
auto |
Auto-detects (falls back if loopback unavailable) | Usually not recommended |
Which one should you pick?
π If you're just getting started β pick loopback
This is:
- β Most secure (local machine only)
- β No auth token required
- β Simplest setup
- Works great with Tailscale Serve if you need remote access later
Quick tip from the docs:
"Short version: keep the Gateway loopback-only unless you're sure you need a bind."
If you do need non-loopback later:
Non-loopback modes (lan/tailnet/custom) require auth tokens:
{
gateway: {
bind: "loopback", // or lan/tailnet
auth: {
mode: "token",
token: "your-secure-token"
}
}
}
TL;DR: Start with loopback. You can always change it later if your needs evolve! π
does loopback allow me to use the imessage channel to communicate on my phone?
Great question! π¦ The bind mode is actually about how you access the Clawdbot Control UI/CLI β not directly about which messaging channels work.
The short answer:
Yes, iMessage can work with loopback, but there's a catch:
loopback= only accessible from the machine running Clawdbot- iMessage on your phone = needs remote access to the gateway running on your Mac
How iMessage remote access works:
For you to message via iMessage from your phone, you need a way to reach your Clawdbot gateway remotely. Options:
| Approach | Bind Mode | Auth Needed? |
|---|---|---|
| Tailscale Serve (recommended) | loopback β
|
No extra auth |
| Direct LAN access | lan |
Yes (gateway.auth.token) |
| Tailnet-only | tailnet | Yes (gateway.auth.token) |
Recommended setup:
- Keep
gateway.bind: "loopback"(secure, simple) - Use Tailscale Serve to expose it remotely β docs say:
"Best UX: keep gateway.bind: loopback and use Tailscale Serve for the Control UI"
This gives you secure local access + easy remote access via Tailscale without exposing ports or managing auth tokens manually!
π More details: https://docs.clawd.bot/gateway/tailscale
i need to install tailscale serve separately?
Nope, not separately! π¦
Tailscale Serve is a built-in feature of Tailscale itself. You just need:
- Tailscale installed on your Mac (the app, not a separate Serve thing)
- Logged into Tailscale (same account on your devices)
- Enable it in Clawdbot config:
{
gateway: {
bind: "loopback",
tailscale: { mode: "serve" }
}
}
That's it! Clawdbot handles the rest β it auto-configures Tailscale Serve for you.
π Full docs: https://docs.clawd.bot/gateway/tailscale
should i reset serve on exit?
Nope, it's optional! π¦
You can set it if you want Clawdbot to automatically clean up Tailscale Serve when it shuts down:
{
gateway: {
tailscale: { mode: "serve", resetOnExit: true }
}
}
Without it: Tailscale Serve stays active even when Clawdbot is stopped (useful if you want to keep accessing your other Tailnet stuff)
With it: Clawdbot removes the Serve config on shutdown
Either way works β just depends on your preference! π
why would i not receive messages in chat from my clawdbot while in the gateway dashboard? does it have to do with claude api usage?
Good question! π¦ A few things to check:
The likely issue:
The Gateway Dashboard is mainly for configuration and monitoring β it's not where you send/receive messages. You chat through your actual channels (iMessage, Discord, WhatsApp, etc.) or via WebChat.
Common reasons messages don't arrive:
| Check | How to verify |
|---|---|
| Claude API quota | clawdbot models status β look for quota/credits issues |
| Model configured? | Check agents.defaults.model.primary in your config |
| Bindings set up? | Messages need bindings[] to route to an agent |
| Channel connected? | clawdbot channels status |
| Sender allowlisted? | channels.<channel>.allowFrom includes you |
Quick diagnostic:
clawdbot status
clawdbot logs --follow
The logs will show exactly why messages are being blocked or where they're going (or not going!).
Also check:
- Group policy β are group messages allowed? (
channels.<channel>.groupPolicy) - Mention required β do you need to @mention the bot in groups?
Which channel are you trying to receive messages on? That'll help narrow it down! π
it's sending me back "(no output)" in the gateway dashboard
Ah, that helps! π¦
"(no output)" usually means the agent ran but didn't produce visible text, or you're trying to use a tool/command that doesn't return anything.
A few questions:
- What command or action are you running when you get "(no output)"?
- Are you trying to chat with the agent? (The Gateway Dashboard is for config/monitoring β not chatting)
How to actually chat:
- Use your configured channels (iMessage, Discord, WhatsApp, etc.)
- Or use WebChat:
clawdbot web(opens the chat UI)
The dashboard isn't a chat interface β it's for checking status, config, and logs. What were you trying to do when you saw "(no output)"? π
the gateway chat session sent "(no output)"
Ah, got it! π¦ That's the CLI chat interface. "(no output)" means something's blocking the agent from responding.
Quick checks:
# 1. Check if model is configured and working
clawdbot models status
# 2. Check agent config
clawdbot agent status
# 3. Check for errors in logs
clawdbot logs --follow
Common causes:
| Issue | Fix |
|---|---|
| No API key for the model | Set ANTHROPIC_API_KEY or configure provider |
| Model not specified | Check agents.defaults.model.primary in config |
| No credits/quota | Check Anthropic billing |
| Agent config invalid | clawdbot doctor |
Quick test:
# Try listing available models
clawdbot models list
What does clawdbot models status say? That usually points to the exact issue! π
Looks like you DO have an API key configured! π¦ (sk-ant-a...6aaMhQAA)
Next steps to debug:
1. Test the model directly:
clawdbot models scan
This will show what's actually available.
2. Check for auth issues:
clawdbot logs --follow | grep -i "auth\|401\|403\|quota\|credit"
3. Try a simpler model:
If opus-4-5 is having issues, try a cheaper/faster model in your config temporarily:
{
agents: {
defaults: {
model: {
primary: "anthropic/claude-sonnet-4-5"
}
}
}
}
4. Verify the API key works:
The key prefix shows, but sometimes keys get revoked or expire. You might want to double-check at console.anthropic.com that:
- The key is still valid
- You have credits remaining
- No usage limits hit
The "(no output)" with no error usually means the API call never completed or returned nothing. Check the logs β they should show if the Anthropic request went out and what came back! π
If I install clawd on my Ubuntu server as the gateway, can I setup a sub-gateway on my Mac, so I can use iMessage? I don't want my mac to be the main gateway, I want Clawd to technically run on my Ubuntu server
Yes, absolutely! π¦ This is a supported setup.
The architecture:
Ubuntu Server (Main Gateway)
βββ Runs the agent
βββ Handles Discord, WhatsApp, etc.
βββ Connected via SSH/Bridge to...
Mac (Node Mode)
βββ Handles iMessage (macOS native)
βββ Provides browser, voice, etc.
βββ Acts as a peripheral
How to set it up:
1. On your Ubuntu server:
# Install Clawdbot normally
curl -fsSL https://clawd.bot/install.sh | bash
2. On your Mac:
- Use the macOS app in "Remote over SSH" mode
- Configure it to connect to your Ubuntu server
This way:
- β iMessage runs on your Mac (native requirement)
- β The "brains" run on your Ubuntu server
- β Your Mac is just a node/peripheral, not the main gateway
π Docs: https://docs.clawd.bot/platforms/mac/remote
The macOS app handles all the node peripherals (iMessage, browser, voice) and connects back to the remote gateway. This is exactly the use case it's designed for! π
how do i get a pairing code from my agent on imessage?