# Error: fetch failed with 'no-store' and 'use cache' directive conflict

- **ID:** `nextjs/use-cache-no-store-fetch`
- **Domain:** nextjs
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 90%

## Root Cause

When a component or function uses the 'use cache' directive to enable caching, but the fetch call inside it uses 'cache: no-store', Next.js throws an error because the two caching strategies are incompatible.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| next@15.0.0 | active | — | — |
| next@15.1.0 | active | — | — |

## Workarounds

1. **Remove 'cache: no-store' from the fetch call and rely on the 'use cache' directive for caching behavior. If fresh data is needed, use revalidation options like 'next: { revalidate: 0 }'.** (90% success)
   ```
   Remove 'cache: no-store' from the fetch call and rely on the 'use cache' directive for caching behavior. If fresh data is needed, use revalidation options like 'next: { revalidate: 0 }'.
   ```
2. **Move the fetch call outside the 'use cache' scope by extracting it to a separate function without the directive.** (80% success)
   ```
   Move the fetch call outside the 'use cache' scope by extracting it to a separate function without the directive.
   ```

## Dead Ends

- **** — This disables caching for the entire component, which may degrade performance and is not always necessary. (60% fail)
- **** — This forces caching even when fresh data is needed, leading to stale responses. (80% fail)
