Crates / Compare / anyhow vs thiserror
Rust crates side by side · data Oct 24, 2026
anyhow vs thiserror
Short answerSame author, different jobs. Libraries use thiserror, binaries use anyhow, many projects use both. By steady daily use, thiserror is bigger: 5,048,791 real downloads a day against 2,875,638 for anyhow (1.8x). 52,113 crates depend on anyhow and 75,923 on thiserror. anyhow last shipped 3 months ago, thiserror 31 days ago.
anyhow
FoundationalFoundational and steady.
52,113 crates depend on it; no release in the last 90 days, so its count is all steady use.
Flexible concrete Error type built on std::error::Error
thiserror
FoundationalFoundational and steady.
75,923 crates depend on it; downloads don't spike on releases.
derive(Error)
anyhowthiserror · 100% = that crate's normal quiet day, so a spike to 300% is triple its usual traffic
Every number, side by side
| Same window, same method | anyhow | thiserror |
|---|---|---|
| Real downloads a day | 2,875,638 | 5,048,791 |
| Crates that depend on it | 52,113 | 75,923 |
| Last release | 1.0.104, 3 months ago | 2.0.21, 31 days ago |
| Trend vs the field | -2% | +2% |
| Release-window share | 0.0% | 3.8% |
| Downloads in the window | 256,699,337 | 456,070,996 |
| All-time downloads | 1,083,793,627 | 1,690,852,060 |
| Versions published | 106 | 92 |
| License | MIT OR Apache-2.0 | MIT OR Apache-2.0 |
| MSRV | 1.68 | 1.77 |
| First published | Oct 5, 2019 | Oct 9, 2019 |
Which to pick
- Pick anyhow if you write an application: one error type,
?everywhere,.context()for messages. - Pick thiserror if you write a library: callers need an error enum they can match on.
- Bottom line: Same author, different jobs. Libraries use thiserror, binaries use anyhow, many projects use both. (checked against each project's docs, Oct 24, 2026)
- Downloads tell you what is common, not what fits. Each crate's own description above says what it is for; when the jobs differ, pick by the job.
- When both fit, prefer the one more crates depend on (thiserror, 75,923 dependents): more eyes, more answered questions, and you may already have it in your tree.
- Check the release dates against your own pace: anyhow 3 months ago, thiserror 31 days ago.
Also in this space
Method
Real downloads = the median day with no release that day or the day before, from the crates.io API (Jul 27, 2026 to Oct 23, 2026). Raw crates.io counts include CI and bots and run high (why); the method is from our 90-day study. People search for this pair: Google suggests "anyhow vs thiserror".