# Forgot password

> A password-reset request card — an email field, a send-link action, and a way back to sign in.

A shadcn/ui block from the [@quill](https://www.quilldesignsystem.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/quill/forgot-password).

- Page, with a live preview: https://shadcn.exchange/r/quill/forgot-password
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/quill/forgot-password-light-b05e126afad946b2.png
- Registry item: https://www.quilldesignsystem.com/r/forgot-password.json
- Categories: auth
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://www.quilldesignsystem.com/r/forgot-password.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- Registry items: `card`, `input`, `label`, `button`, `https://www.quilldesignsystem.com/r/icon.json`

## Notes from the registry

A password-reset request card — an email field, a send-link action, and a way back to sign in. Do: Keep the ghost "Back to sign in" button so a user who clicked in by mistake isn't stuck. Don't: Ship this card as a dead end with no return path to sign-in. Use otp-verification when recovery works by a typed one-time code rather than an emailed link. Use login when the user hasn't actually forgotten anything — this card is only the detour reached from login's "Forgot your password?" link.

## Files

### `registry/blocks/forgot-password.tsx`

```tsx
import {
  Card,
  CardHeader,
  CardTitle,
  CardDescription,
  CardContent,
  CardFooter,
} from '@/components/ui/card'
import { Input } from '@/components/ui/input'
import { Label } from '@/components/ui/label'
import { Button } from '@/components/ui/button'
import { Icon } from '@/components/ui/icon'

/** A password-reset request card — an email field, a send-link action, and a way back to sign in. */
export function ForgotPassword() {
  return (
    <Card className="w-[380px]">
      <CardHeader>
        <CardTitle>Reset your password</CardTitle>
        <CardDescription>
          Enter the email you signed up with and we&rsquo;ll send you a reset link.
        </CardDescription>
      </CardHeader>
      <CardContent className="flex flex-col gap-4">
        <div className="flex flex-col gap-1.5">
          <Label htmlFor="forgot-email">Email</Label>
          <Input id="forgot-email" type="email" placeholder="you@example.com" />
        </div>
      </CardContent>
      <CardFooter className="flex-col gap-2">
        <Button className="w-full">Send reset link</Button>
        <Button variant="ghost" className="w-full">
          <Icon name="arrow_back" size={16} /> Back to sign in
        </Button>
      </CardFooter>
    </Card>
  )
}
```
