1/24/2025

Clawdbot: When Your AI Assistant Lives in Discord

How a self-hosted bot that writes its own code changed my thinking about personal AI tools.

I’ve been thinking about personal AI assistants wrong. Not wrong in the abstract sense—I get what they’re supposed to do. Wrong in the sense that I was thinking about them as products, not tools. The distinction hit me when I set up Clawdbot.

Clawdbot’s an open-source AI assistant created by Peter Steinberger (steipete). It runs in your chat apps—Discord, Telegram, WhatsApp, whatever you use. It remembers everything. It can write its own code to add features. It connects to whatever services you want. It lives on your hardware.

What caught me off guard wasn’t what it can do. It was how having it changed my relationship with automation.

What’s Actually Different

The thing about most AI tools is they live in someone else’s ecosystem. You go to their website, use their interface, abide by their constraints. Even when they’re powerful, there’s this invisible boundary between you and the tool.

Clawdbot lives where you already are. That sounds like a small detail, but it’s not. When it’s in Discord—or Telegram, or iMessage—it’s just another conversation. You don’t context switch into “AI tool mode.” You just… talk.

The other difference is that it’s not a black box. It’s code running on your machine. You can see what it’s doing. You can modify it. When it doesn’t work the way you want, you can open the files and change it. Or you can ask it to change itself—which it literally can do, because it has access to its own source.

How It Works in Practice

Here’s what my setup looks like. Clawdbot runs on a small server I have. It connects to Discord, where I’ve created a private channel just for it. I’ve also connected it to a few services: Gmail, my calendar, and a notes system I use.

When I want something done, I just message it. “Hey, can you find all the emails from last week about the X project and summarize them?” Or “Remind me tomorrow at 2pm to follow up with Y.” Or “Write a script to automate this task I keep doing.”

The bot replies in the chat. If it needs to write code to accomplish something, it does. If it needs to call an API, it does. If it gets stuck, it tells me what’s wrong.

The interesting part isn’t any individual task. It’s that the friction is low enough that I use it for things I wouldn’t otherwise automate. Things that are too small to dedicate a tool to, but annoying enough that I’d rather not do them manually.

The Self-Modifying Part

This is the feature that gets all the attention, so I want to be clear about what it actually means in practice.

Clawdbot can read and write its own code. It has access to its source files. So when you ask it to add a feature, it doesn’t just simulate adding the feature—it literally modifies its own implementation.

In practice, I’ve found this useful but not as magical as it sounds. It works well for straightforward additions: “Add a command that does X.” It struggles more with architectural changes: “Refactor the whole system to do Y differently.”

The limitation I’ve run into is that it doesn’t always understand the broader context of how pieces fit together. It can modify code, but it doesn’t always understand why certain patterns exist. You end up guiding it a lot.

But even with that limitation, there’s something powerful about the idea. It means the tool can grow and adapt without you having to write code. You describe what you want in natural language, and if it’s within its capabilities, it figures out the implementation.

What I Actually Use It For

After using it for a while, I’ve settled into a few patterns:

Information retrieval: “What did I discuss with X last week?” or “Find the email where Y mentioned Z.” Because it has persistent memory and access to my data, it’s surprisingly good at this.

Small automations: “Set up a reminder every Monday morning to check the server logs.” Things that would take 2 minutes to do manually, but that you do often enough that automating them pays off.

Exploratory coding: “Write a script that does X, then let’s iterate on it.” Sometimes I’ll use it as a pair programming partner of sorts. We’ll go back and forth refining something.

Quick questions: “What’s the command to do X in Y again?” Things I could look up but don’t want to context switch away from what I’m doing.

The common thread: none of these are critical. None of them are things I couldn’t do myself. But they’re friction reducers. They smooth out the small bumps in the day.

The Setup Reality

I should be honest about what it takes to get this running.

You need some technical comfort. You’ll need to:

  • Run Node.js applications
  • Configure environment variables for API keys
  • Sometimes debug when something breaks
  • Have a place to host it (your machine, a server, a Raspberry Pi)

It’s not turnkey. If you’re not comfortable with command-line tools and configuration files, you’ll hit friction points.

But if you are comfortable with that stuff, the setup isn’t too bad. I had it running in an evening. The more complex part is connecting it to your services—you need API keys for whatever you want to integrate with, and sometimes that’s straightforward and sometimes it’s not.

What Doesn’t Work Well

I’ve hit limitations:

Complex multi-step tasks that require judgment calls. It can follow a script, but when there’s ambiguity, it needs guidance.

Tasks where getting it wrong has consequences. I’m not going to ask it to delete files or send important emails on my behalf. The risk isn’t worth it.

Things that require deep understanding of context. It knows what I’ve told it, but it doesn’t know what I’m thinking. Sometimes that matters.

API rate limits and quotas. When it’s automating things, it can sometimes hit limits on external services. You have to be thoughtful about what you ask it to do.

Why This Matters for Personal Tools

What I keep coming back to is that Clawdbot represents a different approach to AI tools.

Most AI products are trying to be everything to everyone. They’re optimized for ease of use, for broad appeal, for not confusing anyone. That makes sense from a business perspective. But it means they’re not optimized for you specifically.

Clawdbot is optimized for whoever sets it up. You decide what it connects to. You decide how it behaves. You decide what it can and can’t do. You can modify it if it doesn’t suit your needs.

This is the old school approach to software. You run it yourself. You control it. You make it yours. It’s more work, but you get something that fits you rather than something that sort of fits everyone.

I think that’s valuable. Especially as AI tools become more central to how we work and think. Having tools that you actually control—not just in theory, but in practice—matters.

The Part That’s Hard to Quantify

There’s a psychological shift that happens when your AI assistant is just another chat window.

You stop thinking of it as A Special AI Tool You Use. It becomes part of your environment. Like your text editor or your terminal. Something that’s just there, ready when you need it.

I’ve found myself using it more casually. More experimentally. Less “I need to accomplish this specific task” and more “I wonder if it can do this” or “let’s see what happens if I ask it this.”

That’s the thing I didn’t expect. The convenience of it being where I already am, combined with the ability to modify and extend it, changes how I interact with it. It becomes less of a tool I pick up and put down, and more of a collaborator that’s always around.

If You Want to Try It

You’ll find it by searching for “steipete clawdbot”. There’s a GitHub repository with setup instructions.

I’d start with the quick start if you’re just exploring. Use it for a while before worrying about connecting it to everything. Get a feel for how it works, what it’s good at, where it struggles.

Then, if it clicks for you the way it did for me, you can start making it yours. Connect it to your services. Add your own commands. Customize how it responds.

The setup takes some effort. But for me, it’s been worth it. Not because it’s revolutionized my life—it hasn’t. But because it’s made a bunch of small things a little easier. And sometimes that’s enough.


This reflects my experience with Clawdbot after a few weeks of use. Your mileage may vary, and I’m sure I’ll discover new use cases—and new limitations—as I spend more time with it. If you try it and build something interesting, I’d love to hear about it.