Recoil

Facebook's experimental atomic state management library for React using atom/selector primitives with native Suspense and Concurrent Mode support — NOTE: now in maintenance mode with significantly reduced Meta investment.

Evaluated Mar 06, 2026 (0d ago) v0.7.x
Homepage ↗ Repo ↗ Developer Tools javascript typescript react state atomic suspense meta maintenance-mode
⚙ Agent Friendliness
64
/ 100
Can an agent use this?
🔒 Security
26
/ 100
Is it safe for agents?
⚡ Reliability
49
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
78
Error Messages
72
Auth Simplicity
100
Rate Limits
100

🔒 Security

TLS Enforcement
0
Auth Strength
0
Scope Granularity
0
Dep. Hygiene
70
Secret Handling
75

Client-side library in maintenance mode; dependency updates are infrequent which increases exposure window for transitive vulnerabilities. Avoid storing sensitive data in atoms.

⚡ Reliability

Uptime/SLA
0
Version Stability
65
Breaking Changes
60
Error Recovery
72
AF Security Reliability

Best When

Maintaining existing codebases already built on Recoil or experimenting with atomic state patterns in an educational context.

Avoid When

Starting a new project — prefer Jotai (similar API, active development) or Zustand (simpler mental model) instead.

Use Cases

  • Reading and writing atomic state via useRecoilState in components that need shared state without prop drilling
  • Defining selector functions that derive computed state from one or more atoms with automatic memoization
  • Implementing async selectors that integrate with React Suspense for data fetching
  • Using atomFamily and selectorFamily for parameterized per-entity state (e.g., per-item UI state in a list)
  • Persisting or synchronizing atom state via effects (atomEffects API) for localStorage or URL sync

Not For

  • New projects starting today — Jotai offers a similar atomic API with active maintenance and smaller bundle size
  • Production applications requiring long-term vendor commitment given Recoil's maintenance-mode status
  • Teams that need time-travel debugging or strict action logs

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
Yes
Webhooks
No

Authentication

Methods: none
OAuth: No Scopes: No

Client-side React library — no authentication required.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

Open source under MIT license. Developed by Meta but not actively maintained as of 2024.

Agent Metadata

Pagination
none
Idempotent
Full
Retry Guidance
Not documented

Known Gotchas

  • MAINTENANCE MODE: Recoil development has significantly slowed since Meta reduced investment in 2023; agents should warn users and suggest Jotai as a maintained alternative with a similar API.
  • Every atom and selector requires a globally unique string key; agents generating large stores must enforce key namespacing or key collision errors will occur at runtime.
  • RecoilRoot must wrap the component tree; forgetting it causes 'useRecoilValue called outside of RecoilRoot' errors that are obvious but commonly omitted.
  • Async selectors throw a Promise (Suspense protocol) when data is loading; the consuming component must be wrapped in a Suspense boundary or the app crashes.
  • Recoil's atomEffects API (for side effects like localStorage sync) is still marked experimental and its API surface changed between minor versions — agents should flag this instability.

Alternatives

Full Evaluation Report

Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Recoil.

$99

Scores are editorial opinions as of 2026-03-06.

5215
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered