---
title: "Async Client Component (next/async-client-component)"
description: "async/await components are only supported on the server; an async Client Component never resolves on the client."
url: http://localhost:4173/rules/next/async-client-component
updated: 2026-11-11
---

# Async Client Component

> `next/async-client-component` is a vetd rule. It flags: Async Client Component. It runs on every `check`, together with the TypeScript check.

| Fact | Value |
| --- | --- |
| Rule id | `next/async-client-component` |
| Severity | error |
| Group | Server and client boundaries |
| Tags | react, correctness |

## Why it matters

async/await components are only supported on the server; an async Client Component never resolves on the client.

## How to fix it

Remove "use client" (make it a Server Component) or fetch inside a Server Component / with `use()`.

## Credit

Based on work by:

- [React team](https://react.dev): Async components are a Server Components feature; Client Components read promises with the use API instead.

## References

- [Server Components – React](https://react.dev/reference/rsc/server-components), React
- [use – React](https://react.dev/reference/react/use), React
- [Server and Client Components](https://nextjs.org/docs/app/getting-started/server-and-client-components), Next.js

## Related rules

- [`next/server-hooks`](http://localhost:4173/rules/next/server-hooks.md)
- [`next/async-effect`](http://localhost:4173/rules/next/async-effect.md)

## Get this text from vetd

MCP: call `explain` with `{ "diagnosticId": "next/async-client-component" }`. CLI: `npx vetd explain next/async-client-component`.

---

[All 92 rules](http://localhost:4173/rules.md) · Previous: [`next/client-env`](http://localhost:4173/rules/next/client-env.md) · Next: [`next/segment-config`](http://localhost:4173/rules/next/segment-config.md)
