> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neynar.com/llms.txt
> Use this file to discover all available pages before exploring further.

# addMiniApp

> Prompts the user to add the app

Prompts the user to add the app.

<img src="https://mintcdn.com/neynar/iU1SqchDG-KeAStB/miniapps/add_frame_preview.png?fit=max&auto=format&n=iU1SqchDG-KeAStB&q=85&s=45ebe419bed38f2b3feee7511fa10732" alt="adding a mini app in Warpcast" width="1756" height="1194" data-path="miniapps/add_frame_preview.png" />

*A user discovers an app from their social feed, adds it, and then sees it
from their apps screen*

## Usage

```ts theme={"system"}
import { sdk } from '@farcaster/miniapp-sdk'

await sdk.actions.addMiniApp()
```

The `addMiniApp()` action requires your app's domain to exactly match the domain in your manifest file. This means:

* You cannot use tunnel domains (ngrok, localtunnel, etc.) - the action will fail
* Your app must be deployed to the same domain specified in your `farcaster.json`
* For local development, use the preview tool instead of trying to add the app

## Return Value

`void`

## Errors

### `RejectedByUser`

Thrown if a user rejects the request to add the Mini App.

### `InvalidDomainManifestJson`

Thrown when an app does not have a valid `farcaster.json` or when the domain doesn't match. Common causes:

* Using a tunnel domain (ngrok, localtunnel) instead of your production domain
* The app's current domain doesn't match the domain in the manifest
* The manifest file is missing or malformed
