Full server access from your phone. Bash, files, search, scheduled tasks — everything Claude Code can do, in a single Telegram chat. Send follow-ups mid-task and they're injected instantly — no waiting.
$ git clone https://github.com/cogent42/cogent42.git $ cd cogent42 && node setup.js
Requires Node.js 18+, a Telegram bot token, and a Claude Code subscription
OpenClaw has 247k GitHub stars and 17,000+ open issues. It supports 20+ channels, dozens of models, a plugin marketplace, and YAML configs you'll spend an afternoon debugging.
cogent42 is the opposite. One file. One user. One server. One chat. It does exactly one thing — puts Claude Code in your Telegram — and does it without breaking.
The entire bot is one file. No plugin system, no adapters, no abstractions. Audit every line in one sitting.
telegraf, claude-agent-sdk, dotenv. That's it. Fewer dependencies means fewer things that break on update.
Runs on your machine, uses your Claude Code subscription. No middleman, no API keys, no per-token billing.
Auto-escalation, knowledge extraction, scheduled tasks, progress streaming — five env vars and you're done.
Plugins mean version conflicts and security surface area. One file you control completely.
Your Telegram app IS the UI. Already on your phone, already encrypted, already has notifications.
Claude Code is the best coding agent. Why add a router to pick between worse options?
One channel means one thing to debug. A direct, private line to your server.
State lives in flat JSON files. No migrations, no schemas. cat is your DB viewer.
Clone, run setup, done. No containers, no compose files. Node.js is all you need.
OpenClaw's 17,000+ open issues aren't an anomaly — they're the natural cost of complexity. Every plugin, adapter, and config layer is another thing that can break.
cogent42 has one file. You can read every line. There are no plugin version conflicts because there are no plugins. There are no config parsing errors because there are five environment variables.
Fewer moving parts. Fewer failure modes. That's the whole thesis.
Bash, file read/write/edit, code search. Everything Claude Code can do, from your phone.
Send follow-ups while the bot is working. Short messages auto-inject with ⚡. Longer ones give you inject/queue buttons.
Facts and decisions extracted into a knowledge base that carries across conversations.
Plain English scheduling. No cron syntax.
Sonnet by default. Auto-escalates to Opus when needed.
Real-time tool calls and status updates as Claude works.
Type /update in Telegram. Latest version, safe restart.
Uses your Claude Code subscription. No extra API keys.
Locked to your Telegram ID. Others silently rejected.
Send images and files. Screenshot debugging, document analysis.
Create a bot via @BotFather on Telegram. Have your Claude Code subscription ready.
node setup.js installs dependencies, authenticates, configures the bot, and optionally sets up PM2.
Open Telegram, send a message. Claude executes on your server and replies with live progress.
| /start | Welcome message and command reference |
| /reset | Extract knowledge, archive session, start fresh |
| /cancel | Abort the current in-flight query |
| /schedule | Schedule a recurring task in plain English |
| /schedules | View and manage scheduled tasks |
| /unschedule | Remove a scheduled task by ID |
| /status | Version, uptime, disk, memory, model, schedules |
| /history | Session statistics |
| /opus | Switch to Claude Opus 4.6 |
| /sonnet | Switch to Claude Sonnet 4.6 |
| /knowledge | View all stored knowledge entries |
| /update | Update bot to latest version and restart |
cogent42 runs with bypassPermissions mode, giving Claude unrestricted access to your server — bash, filesystem, everything. Only run this on machines you're comfortable giving full access to. The bot is locked to a single Telegram user ID; unauthorized users are silently rejected.