crimson-crab
Frameworks & Eval · tested 2026-08-09 · re-test due 2026-11-09 · by the Hlido desk, not the vendor
In short: A Rust Claude SDK built on one compile-time guarantee — no unwrap, expect, panic! or todo! anywhere in the library — with unknown API surface deserialising into catch-alls instead of breaking builds.
6 PASS · 1 FAIL of 7 public-surface claims
Quick answer
crimson-crab scores 76/100 (STEADY) on Hlido’s independent, hands-on test (reviewed 2026-08-09). STEADY (76) for a genuinely checkable core guarantee (panicking macros denied at compile time, so surprises surface as errors), forward-compatible catch-all deserialisation that survives additive API changes, and complet Pricing: Open source (free entry point documented).
crimson-crab makes an unusually specific and checkable promise for an SDK: panicking macros are denied at compile time across the whole library, so a malformed or surprising API response reaches the caller as an `Error` rather than taking down a service. That is a lint-enforceable property rather than a claim about care, which is what makes it worth something. The second design decision is forward compatibility — unknown block types, stream events and stop reasons deserialise into `Unknown` catch-alls, so a new model or content type from Anthropic does not break a build on the day it ships. Anyone who has had a strongly-typed client break on an additive API change will recognise the value. Coverage is the complete Claude surface rather than a subset: streaming via a hand-rolled SSE parser with no eventsource dependency, tool use with raw JSON schemas, adaptive/budgeted/disabled thinking modes, prompt caching with 5m/1h TTL and cache hits readable off `Usage`, message batches with a JSONL-decoding result stream, token counting, and typed errors carrying `request_id` with jittered backoff honouring retry-after. The public API exposes `futures_core::Stream` rather than tokio types, which keeps it runtime-light and checks on wasm32. The caution is maturity and standing: v0.3.0 is early, MSRV 1.75, and this is a community SDK rather than an Anthropic-published one — the surface carries no adoption numbers, no named users and no third-party review. The slug also describes it as an 'MCP template', which the captured surface does not support: this is a Claude API client.
Why STEADY
STEADY (76) for a genuinely checkable core guarantee (panicking macros denied at compile time, so surprises surface as errors), forward-compatible catch-all deserialisation that survives additive API changes, and complete rather than partial Claude API coverage including streaming, batches, caching and token counting. Held well below VITAL by v0.3.0 maturity, no adoption or third-party validation on the surface, and unofficial status — a community SDK carries different risk from a vendor-published one.
Public-surface checklist
- PASS Homepage loads (required)
- PASS Primary value prop (required) — 'The Rust SDK for Claude that can't panic on you.'
- PASS Cta present (required) — `cargo add crimson-crab` with copy button; crates.io and docs.rs links
- PASS Pricing or access — Open source, MIT OR Apache-2.0
- PASS Docs present (required) — docs.rs plus end-to-end examples for basic, streaming, tool runner and typed output
- PASS Version disclosed — v0.3.0, MSRV 1.75 stated on the page
- FAIL Third party validation — No adoption figures or independent review
What we saw
4 screenshots captured by the Hlido engine during the reviewed run (run-cd0dae69dc2f1ff0-singhpratech-github-io). Our own captures — not vendor marketing material.
What it does well
- unwrap, expect, panic! and todo! denied at compile time across the library — a lint-enforced guarantee, not a promise
- Unknown block types, stream events and stop reasons deserialise into catch-alls, so additive API changes do not break builds
- Complete Claude surface: streaming, tool use, thinking modes, prompt caching, batches, token counting
- Hand-rolled SSE parser yields fine-grained events and accumulates a final message, with no eventsource dependency
- Typed errors carry request_id; backoff with jitter honours retry-after automatically
- Public API exposes futures_core::Stream rather than tokio types — runtime-light and checks on wasm32
- Prompt caching exposes 5m/1h TTL and reads cache hits back off Usage
- Permissive dual licence (MIT OR Apache-2.0) with a stated MSRV of 1.75
What it fails at
- v0.3.0 — early, with no changelog or stability commitment on the surface
- Community SDK, not Anthropic-published; no third-party review or named users
- No adoption numbers, download figures or production references
- The registry slug calls it an 'MCP template', which the captured surface does not support — it is a Claude API client
- Not tested hands-on by Hlido; the no-panic guarantee is a build-time property that deserves verification
Best for
- Rust services calling Claude where a panic in a dependency is an availability incident
- Teams that need the full Claude surface (batches, caching, thinking, streaming) rather than a chat-completions subset
- WASM or non-tokio runtimes that a tokio-typed client would not fit
Not recommended for
- Anyone requiring an officially supported vendor SDK
- Projects that cannot take a pre-1.0 dependency on a critical path
- Anyone expecting an MCP server or template — this is a Claude API client
Pricing & access
- ModelOpen source
- Free entry pointYes — a free tier or open-source edition is documented
- Pricing findable on the public surfacePASS Open source, MIT OR Apache-2.0 (tested 2026-08-09)
Derived from Hlido-held evidence only (engine checklist + editorial text); quotes are verbatim from the scorecard; not vendor-supplied; re-derived daily. Verify current prices on the vendor's pricing page. Last verified 2026-08-09.
Related agents
Agent relevance
API SDK Behavioral-testable
Agentic-Commerce Readiness 62/100 · INTEGRABLE
Independent readiness for agent delegation & transaction. How it’s scored · check live
A Rust SDK for building agents rather than an agent itself: tool definitions take raw JSON schemas, the agentic loop is driven by the caller, and any server-tool passes through ToolUnion::Raw. Relevant to agent builders on Rust; nothing here is agent-callable at runtime.
Agent-friendly score: 6/10
Score over time
The longitudinal record — every point is the score as published on that date. Raw series.
Evidence
- unwrap, expect, panic! and todo! denied at compile time across the library — source (2026-08-09) verified
- Unknown block types, stream events and stop reasons deserialise into Unknown catch-alls — source (2026-08-09) verified
- Covers streaming, tool use, adaptive thinking, prompt caching, batches and token counting — source (2026-08-09) verified
- Public API exposes futures_core::Stream, not tokio types; checks on wasm32-unknown-unknown — source (2026-08-09) verified
- v0.3.0, MIT OR Apache-2.0, MSRV 1.75, published on crates.io — source (2026-08-09) verified
- Officially supported by Anthropic — source (2026-08-09)
- Adoption numbers, named users or third-party review — source (2026-08-09)



