Skip to main content

IndieClaw

PyPI Python CI python-doctor License: MIT

Personal AI agent on Telegram. Self-hosted, powered by Claude.

Requires: An Anthropic API key or Claude Pro/Max subscription. IndieClaw uses Claude as its reasoning engine — you need one or the other to run it.

Install

pip install indieclaw

Or with uv:

uv tool install indieclaw

Then set up:

indieclaw setup

Setup asks for your Telegram bot token, user ID, and Claude auth. Get a bot token from @BotFather, then send /start to your bot — it will show your Telegram user ID.

Run

indieclaw start       # background daemon
indieclaw start -f    # foreground
indieclaw chat        # interactive TUI (no Telegram needed)
indieclaw logs -f     # stream logs
indieclaw stop
indieclaw restart

indieclaw chat launches a terminal UI for chatting directly with your agent — useful for testing, debugging, or when you don't want to go through Telegram.

On Linux with systemd, indieclaw setup installs and starts the service automatically.

Commands

Command
/status Model, tools, token usage
/model Switch Claude model
/effort Switch thinking effort
/reset Clear conversation history
/restart Restart the bot
/update Pull latest and restart
/cc <prompt> Live Claude Code session (streaming)

Workspace

Everything lives in ~/.indieclaw/:

File Purpose
SOUL.md Agent identity and instructions
USER.md Your profile (name, timezone, preferences)
MEMORY.md Persistent memory across sessions
crons.yaml Scheduled jobs
skills/*/SKILL.md Skill docs injected into system prompt
tools/*.py Custom tools — hot-loaded, no restart needed
sessions/*.jsonl Conversation logs
handover.md State snapshot across restarts
subconscious.yaml Background reflection threads

Override the workspace path: INDIECLAW_HOME=/path/to/dir

Subconscious

A background reflection loop that runs every 2 hours. The agent reviews open threads, recent conversations, and memory — then decides whether to act (send a message, spawn a task) or stay quiet.

Threads are tracked in ~/.indieclaw/subconscious.yaml. The agent can add, resolve, or keep threads across cycles. Disable it or change the interval in ~/.indieclaw/config.yaml:

subconscious_enabled: false
subconscious_interval_hours: 4

Custom tools

Drop a .py file in ~/.indieclaw/tools/ with a SCHEMA dict and execute() function. Available on the next message, no restart needed.

Update

indieclaw update       # from terminal
/update               # from Telegram

Saves a handover note before restarting and picks up where it left off.

License

MIT

Metadata

Release files for indieclaw 0.1.53

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for indieclaw 0.1.53
File Size Uploaded Provenance
indieclaw-0.1.53.tar.gz 185.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for indieclaw 0.1.53
File Interpreter ABI Platform
indieclaw-0.1.53-py3-none-any.whl Python 3 none any Details

Total release size: 257.2 kB

Release files / indieclaw-0.1.53.tar.gz

Download URL indieclaw-0.1.53.tar.gz
Size 185.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f835b221f484693b622fcf7f3f6bbe871b269772f2e1df8c6c2e62dd308ff86b
BLAKE2b-256 checksum
How to use checksums
5e963c13d00e01fa76b67010aa047cfcd8eef9b0ffb310e9d1717833d090ef6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 1, 2026.

Transparency log

Release files / indieclaw-0.1.53-py3-none-any.whl

Download URL indieclaw-0.1.53-py3-none-any.whl
Size 72.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7aa0d8f964611f4a204d0d7a8f3c9251eb59a2f51b6e84378970754661193b0e
BLAKE2b-256 checksum
How to use checksums
f2774f6f64c4d4502937e85b706a9b75e81acf4157545eb20d09b5ff29195ef8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 1, 2026.

Transparency log

Security for indieclaw 0.1.53

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for indieclaw-0.1.53.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.53 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page