---
title: useToast
description: 'A composable to display toast notifications in your app.'
---
## Usage
Use the auto-imported `useToast` composable to display [Toast](/components/toast) notifications.
```vue
```
- The `useToast` composable uses Nuxt's `useState` to manage the toast state, ensuring reactivity across your application.
- A maximum of 5 toasts are displayed at a time. When adding a new toast that would exceed this limit, the oldest toast is automatically removed.
- When removing a toast, there's a 200ms delay before it's actually removed from the state, allowing for exit animations.
::warning
Make sure to wrap your app with the [`App`](/components/app) component which uses our [`Toaster`](https://github.com/nuxt/ui/blob/v3/src/runtime/components/Toaster.vue) component which uses the [`ToastProvider`](https://reka-ui.com/docs/components/toast#provider) component from Reka UI.
::
::tip{to="/components/toast"}
Learn how to customize the appearance and behavior of toasts in the **Toast** component documentation.
::
## API
### `add(toast: Partial): Toast`
Adds a new toast notification.
- Parameters:
- `toast`: A partial `Toast` object with the following properties:
- `id` (optional): A unique identifier for the toast. If not provided, a timestamp will be used.
- `open` (optional): Whether the toast is open. Defaults to `true`.
- Other properties from the `Toast` interface.
- Returns: The complete `Toast` object that was added.
```vue
```
### `update(id: string | number, toast: Partial)`
Updates an existing toast notification.
- Parameters:
- `id`: The unique identifier of the toast to update.
- `toast`: A partial `Toast` object with the properties to update.
```vue
```
### `remove(id: string | number)`
Removes a toast notification.
- Parameters:
- `id`: The unique identifier of the toast to remove.
```vue
```
### `clear()`
Removes all toast notifications.
```vue
```
### `toasts`
- Type: `Ref`
- Description: A reactive array containing all current toast notifications.