OpenCrabs CLI
OpenCrabs is a self-improving AI agent in Rust as a single binary: terminal, daemon, messengers, memory and skills.
- 1,029 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent runs commands, edits files and uses the network, and daemon mode replies in your name in messengers.
- Auto-update installs new versions without confirmation until it is disabled.
Install
- Works in
Manual install
Download the OpenCrabs binary from GitHub releases, run `opencrabs`, go through the setup wizard and add keys to `keys.toml`.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent runs commands, edits files and uses the network, and daemon mode replies in your name in messengers.
- Auto-update installs new versions without confirmation until it is disabled.
This is third-party code. Review the repository files before installing.
What it does
OpenCrabs runs as a single Rust binary without a server or intermediate gateway and calls model providers directly over HTTPS. There are two modes: a terminal interface (TUI) and the headless `opencrabs daemon`, which serves Telegram, Discord, Slack and WhatsApp channels and runs scheduled jobs created with `opencrabs cron`. Agent behavior lives in plain Markdown files in `~/.opencrabs/`: `SOUL.md`, `USER.md`, `AGENTS.md`, `TOOLS.md`, `MEMORY.md`. There is three-tier memory, context auto-compaction, child agents (`spawn_agent`, `wait_agent`), a decision cache and an audit log. Provider support is wide: Anthropic Claude, OpenAI, OpenRouter, local models through Ollama and LM Studio and others. The `opencrabs acp` command serves the agent over the Agent Client Protocol to editors like Zed. `opencrabs migrate` carries settings over from OpenClaw and Hermes.
Who it is for. Developers and enthusiasts who want an always-on agent with memory, schedules and messenger access on their own hardware.
Good fit when
- The agent must run as a service and answer in Telegram or Slack while you are away from the computer.
- You need regular scheduled jobs: digest, check, report.
- The model is chosen freely, including a local one through Ollama with no data sent out.
- Agent behavior is set by plain Markdown files edited between turns.
Not a fit when
- You need a proven stable tool: some features, such as recursive self-improvement, are marked experimental.
- Automatic binary updates from the network are forbidden.
- Messenger groups are open to outsiders: the bot saves received files to disk.
Example request
Run `opencrabs daemon`, connect my Telegram channel and send a project task digest every morning.Limitations
Recursive self-improvement is marked experimental. The agent checks GitHub releases at start and once a day and installs a new version with a hot restart by itself, which `auto_update = false` under `[agent]` disables. In messenger groups the bot downloads all incoming files into `~/.opencrabs/tmp/` even without a mention. Channel access is set with `allowed_users` lists. Only one mode, terminal or daemon, runs on a single profile at a time. The license is MIT, the last commit dates from November 2026.
How to disable. Stop the service with `opencrabs service stop`, then `opencrabs service uninstall` and delete the binary together with `~/.opencrabs/`. Disable the bot in Telegram or Slack settings.
FAQ
How do I run it as a service?
Run `opencrabs service install` and `opencrabs service start`: it runs through launchd on macOS and systemd on Linux.
Which channels are supported?
Telegram, Discord, Slack and WhatsApp. Access is limited with `allowed_users` lists, separately for groups.
How do I disable auto-update?
Set `auto_update = false` in the `[agent]` section of `config.toml`. By default the check runs at start and every 24 hours.
Can I use a local model?
Yes. LM Studio, Ollama or any OpenAI-compatible endpoint works, and conversations stay on the machine.
How do I connect it to an editor?
With `opencrabs acp`: it serves the agent over Agent Client Protocol on stdio, for example for Zed.
Discussion
No questions or reviews yet.
Related
CLI toolsA terminal coding agent in one Rust binary that reads code, edits files and runs tests with any model of your choice.
AgentOS runs a team of OpenClaw agents: workspaces, scheduled tasks, activity reports and human approvals
One runtime for Claude Code, Codex, OpenCode and more: a run counts as done only when checks the agent did not write pass
A CLI agent swarm: a leader spawns workers in separate git worktrees, and they share tasks and exchange messages via files.
An open-source agent harness in Rust: GUI, CLI, headless and webapp from one binary, with multiple providers, MCP, skills and agent teams
Octomind is a coding agent in one Rust binary: safety rules in TOML instead of approval prompts, with a supervisor model on top
README in short
A Rust agent with a terminal interface, a daemon and commands for sessions, jobs and logs. Documentation is split by topic in `src/docs/reference`.