OpenCrabs Terminal Agent

A Rust single-binary terminal agent that combines multi-provider AI, local tools, channels, and autonomous task execution.

Stars
★ 1k
Last updated
today
License
MIT
Primary language
Rust

At a glance

How it runs
CLISelf-hosted service
Works with
Universal · cross-platformChatGPT · Codex · OpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Shell / CLINetwork accessLocal filesystemMCP Server
Typical use
A solo developer working in a local repository who wants a TUI agent to inspect files, run bash, and use installed tools such as git or Docker.
Not a fit if
  • Users who need Firefox browser automation; only Chromium-based browsers are supported
  • Teams unwilling to let the agent rewrite its own brain files without approval

What does this agent do, and when should you use it?

OpenCrabs is a Rust-based terminal agent with a TUI, interactive CLI, non-interactive run command, and headless daemon mode. Its documented local boundary includes workspace files, SQLite-backed sessions, brain files, and local memory, while model requests are made directly over HTTPS. The repository describes multi-provider model access, tool execution, child-agent orchestration, browser CDP automation, cron jobs, and an A2A HTTP gateway. It also documents integrations for Telegram, WhatsApp, Discord, Slack, and Trello, with session or channel-specific context isolation. It fits technical users who want one locally operated terminal interface for coding, file work, research, and channel automation, but the supplied material does not verify an installation path or every operational claim.

A user submits work through the TUI, opencrabs agent, or opencrabs run <prompt>; the agent can use file I/O, bash, web search, browser CDP, memory search, cron, and dynamic tools, while storing chats, tool history, and sessions in SQLite. It registers skills from ~/.opencrabs/skills/<name>/SKILL.md, loads HTTP or shell tools from ~/.opencrabs/tools.toml, and manages them with tool_manage. Its child-agent workflow uses spawn_agent, wait_agent, send_input, close_agent, and resume_agent; its A2A gateway exposes JSON-RPC 2.0 message/send, message/stream, tasks/get, and tasks/cancel. Results can be terminal responses, generated XLSX/DOCX/PDF/PPTX files, images, channel messages, or scheduled-job output.

  1. A solo developer working in a local repository who wants a TUI agent to inspect files, run bash, and use installed tools such as git or Docker.
  2. An engineering team that needs per-session model selection across OpenAI, Anthropic, OpenRouter, Gemini, or OpenAI-compatible endpoints, including fallback providers.
  3. A channel automation owner who needs to receive files, images, or voice messages in Telegram, Discord, or Slack and return analysis or generated documents.
  4. A personal operations user who wants a headless daemon to run cron jobs, heartbeats, or an autonomous /goal loop.
  5. A tester who needs CDP-driven navigation, clicking, typing, screenshots, and content extraction in an installed Chromium-based browser.
  6. An integrator connecting task exchange or streaming messages with other A2A Protocol RC v1.0 agents.

How do you install or deploy this agent?

The supplied material does not provide a verifiable binary download, package-manager, Cargo, or Docker installation command, so a copyable installation procedure cannot be confirmed. Once an opencrabs executable is available, run opencrabs init to initialize configuration and opencrabs onboard for the setup wizard. Configure credentials for the chosen model provider through the wizard or keys.toml.

How do you use this agent?

After configuration, run opencrabs to start the default TUI, or run opencrabs run <prompt> for a one-shot unattended task. Use opencrabs status for a system overview and opencrabs doctor to check configuration, provider connectivity, database, brain files, channels, and PATH tools. For channel-only operation without a UI, run opencrabs daemon.

What are this agent's strengths and limitations?

Pros
  • It is positioned as one Rust binary with TUI, CLI, and daemon interfaces rather than only a library or chat surface.
  • The documentation lists multiple provider paths—OpenAI, Anthropic, GitHub Copilot, OpenRouter, Gemini, Ollama, LM Studio, and OpenAI-compatible APIs—with per-session model selection and fallbacks.
  • Its documented local boundary includes SQLite sessions, brain files, embeddings, and tool execution; the README explicitly states zero telemetry and identifies the categories of outbound traffic.
  • It combines channel bots, browser CDP, A2A JSON-RPC, dynamic tools, SKILL.md skills, and cron scheduling in one process.
  • Split panes, parallel sessions, and typed child agents target concurrent coding and research work.
Limitations
  • The supplied content does not include a verifiable installation or build command, so first deployment, supported operating systems, and release acquisition cannot be established from it.
  • Model calls, web search, GitHub operations, browser automation, and dynamic HTTP tools can all make external network requests; local execution does not mean every workflow is offline.
  • Telegram, WhatsApp, Discord, Slack, Trello, voice, image, and browser features each require their own credentials, accounts, model keys, or system setup.
  • Browser automation is limited to Chromium-based browsers; the README explicitly says Firefox is unsupported because it lacks CDP support.
  • Some features depend on optional external components or services: scanned PDFs need poppler, PPTX generation needs python-pptx when available, and voice paths have backend-specific dependencies.
  • Recursive self-improvement is marked experimental, and self_improve can modify brain files without human approval, which requires deliberate governance before adoption.

How does this agent compare with similar options?

The README compares OpenCrabs with Node.js agent frameworks such as Open Claw. It positions OpenCrabs as a native Rust single binary with no Node.js runtime, local SQLite storage, outbound HTTPS, and zero telemetry. The stated size, security, and cost advantages will depend on the actual version, selected provider, and deployment environment.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
OpenCrabs Terminal Agent This agent 53 · Major gaps CLIFree + model costs ★ 1k today Rust ChatGPT · Codex · OpenAI API · Claude API
AGF Local Coding Session Finder 96 · Excellent CLIFree ★ 162 1mo ago Rust Codex · Claude Code
browser-control 72 · Some gaps CLIFree ★ 3.2k 2mo ago Rust —
Sprix SAGE Router 69 · Some gaps CLIFree ★ 3.6k 2mo ago Python —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
53/ 100 5-point scale 2.7 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 16 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 13/29
Reliability 8/14
Adaptability 10/18
Convention 10/18
Effectiveness 9/13
Verifiability 3/8
Why each dimension lost points
Trust13 / 29 · 2.2/5

Evidence: README claims zero telemetry, local data storage, API keys cleared with zeroize, but no code-level verification. Subagents with auto-approve and autonomous self-improvement (self_improve without human approval) indicate high permissions. Dependency audit has ignore list but no full vulnerability details. External effects include network calls, file operations, bash execution, but user confirmation mechanism unclear. Rollback only mentions backups, not detailed. Source attribution: author identified, but publisher unverified. Deductions: lack of code evidence for security claims, auto-approve and autonomous improvement reduce least privilege and user confirmation scores.

Reliability8 / 14 · 2.9/5

Evidence: README and Cargo.toml descriptions consistent, feature list detailed, but no test results or runtime verification. Dependencies pinned, but some from git references, availability depends on upstream. Failure messages: README mentions diagnostic logs, but no specific error handling examples. Deductions: static review cannot verify runtime reliability, failure message evidence insufficient.

Adaptability10 / 18 · 2.8/5

Evidence: Target users are developers, scenarios include terminal use, multi-channel integration, local LLMs. Capability boundaries described in README, but trigger precision (e.g., command triggers) not detailed. Environment fit: supports multiple platforms, but no specific system requirements. Deductions: trigger precision evidence insufficient, environment fit details limited.

Convention10 / 18 · 2.8/5

Evidence: README structure clear, includes installation, configuration, usage. Naming stable, version number clear. Examples and FAQ present, but known limitations not explicitly listed. License MIT, but changelog not provided. Maintenance responsibility: author identified, but no contribution guide or maintenance plan. Deductions: missing known limitations and changelog, maintenance responsibility evidence insufficient.

Effectiveness9 / 13 · 3.5/5

Evidence: Output usability high, provides multiple output formats (documents, voice). Marginal value: advantages over Node.js frameworks, but no performance benchmarks. Cost-benefit: claims zero telemetry and local processing, but no cost analysis. Deductions: lack of runtime data to support effectiveness claims.

Verifiability3 / 8 · 1.9/5

Evidence: Claims in README not backed by code references or test evidence. Cross-source corroboration: only README, no other sources. Fact-inference separation: not clearly distinguished. Deductions: all claims unverified, lack traceability.

Risks and how to mitigate them
  • Auto-approve subagents and autonomous self-improvement may pose security risks; use with caution.
  • Dependency audit ignore list lacks detailed explanations; users should review themselves.
  • Security claims in README (e.g., zero telemetry) are not code-verified; treat with caution.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 3a53794e4ce5 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.5.15
    Release notes excerpt
    16 commits since v0.5.14. 41 files changed, +2,821 / -572 lines. 🔧 Fixes - 83c8eea81 Queue row softened to a gray hierarchy: every span now sits under the thinking line's luma instead of above it; the amber is gone and a rendered test pins the colours, so a brightness regression fails CI instead of shipping (#2244) - 3f3cff3fa A turn halted by suggest_options no longer renders intermediate narration as its answer (#2240) - f8ef89d3a Dropped the in-flight border title from the input box: the row claimed attention the queue row was built for (#2243) …
    View on GitHub ↗
  2. v0.5.14
    Release notes excerpt
    26 commits since v0.5.13, 5 contributors. 64 files changed, +7,493 / -365 lines. This release reaches more people and breaks fewer files. Two new language packs land next to the existing ones, Arabic and Chinese, each with its own script detection, and the non-English packs now carry intent phrases at the same order of magnitude as English instead of a third of it. European Portuguese continuous narration is detected. Four edit-tool defects are fixed: the line operations in edit_file no longer drop the final newline or turn a CRLF file into LF, hashline_edit joins its output with the file …
    View on GitHub ↗
  3. v0.5.13
    Release notes excerpt
    61 commits since v0.5.12, 5 contributors. 188 files changed, +14,367 / -1,600 lines. The channels carried most of this release, and the theme is one task, one place. A detached task now updates its own row instead of posting a second message on Telegram, Slack, Discord and WhatsApp, and a Telegram turn ends with its answer in one bubble rather than two. Discord interactions were hardened end to end: they obey the session turn slot, the turn group lock is no longer held across a governor sleep, reactions get the same identity check as messages, pending approvals drop on every exit from the wai …
    View on GitHub ↗

FAQ

Do I have to buy access from one specific model provider?
No. The documentation lists several cloud providers, GitHub Copilot and Codex CLI subscription paths, plus Ollama, LM Studio, and other OpenAI-compatible endpoints. Actual availability depends on configuration and credentials.
What data leaves the machine?
The README says chats, sessions, memory, tool records, and configuration stay local. Messages sent to model providers, optional search queries, GitHub CLI activity, browser automation, and dynamic HTTP tool requests can leave the machine.
Can it run on a server without a terminal UI?
Yes. The documented opencrabs daemon mode runs channels without the TUI, and the CLI includes service-management commands.
Can tool execution get stuck?
The README says it rejects interactive commands that could hang and short-circuits repeated failing bash commands. You should still configure approval and access policies appropriate to your environment.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents