Nuxt · NUXT0039
Do not treat immediate:false async data as manual-only
Flags manual action useFetch in Nuxt project code before it leaks into runtime behavior.
nuxt/no-manual-action-usefetchsrc/rule-packs/nuxt/rules/nuxt/no-manual-action-usefetch.ts Upstream docs Run this rule
pnpm nuxt doctor --rules nuxt/no-manual-action-usefetch
Why it matters
Nuxt data fetching relies on stable keys, payload serialization, and request context. Bypassing those contracts can duplicate requests or lose SSR data.
Recommended fix
Remove manual action useFetch, or move it to the Nuxt runtime/API that owns that behavior.
Useful links
Example
Use $fetch for manual mutations
Before
const { execute } = await useFetch('/api/orders', {
method: 'POST',
immediate: false,
})
After
async function submitOrder() {
await $fetch('/api/orders', { method: 'POST' })
}