---
title: Install Promptfoo
description: Learn how to install promptfoo using npm, npx, or Homebrew. Set up promptfoo for command-line usage or as a library in your project.
keywords: [install, installation, npm, npx, homebrew, windows, setup, promptfoo]
sidebar_position: 4
---
import CodeBlock from '@theme/CodeBlock';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Installation
Install promptfoo using [npm](https://nodejs.org/en/download), [npx](https://nodejs.org/en/download), or [Homebrew](https://brew.sh) (Mac, Linux):
```bash
npm install -g promptfoo
```
```bash
npx promptfoo@latest
```
```bash
brew install promptfoo
```
:::note
npm and npx require [Node.js](https://nodejs.org/en/download) 20.20+ or 22.22+.
:::
To use promptfoo as a library in your project, run `npm install promptfoo --save`.
## Verify Installation
To verify that promptfoo is installed correctly, run:
```bash
promptfoo --version
```
```bash
npx promptfoo@latest --version
```
```bash
promptfoo --version
```
This should display the current version number of promptfoo.
## Run Promptfoo
After installation, you can start using promptfoo by running:
```bash
promptfoo init
```
```bash
npx promptfoo@latest init
```
```bash
promptfoo init
```
This will guide you through the process of creating a `promptfooconfig.yaml` file.
For a guide on running your first evaluation, please refer to our [Getting Started guide](./getting-started.md).
## Uninstall Promptfoo
### Remove the package
If you installed promptfoo with more than one method (for example, both npm and Homebrew), repeat the relevant steps for each.
```bash
npm uninstall -g promptfoo
```
`npx` does not install promptfoo permanently — no uninstall step is needed. If you also have a global install (via npm or Homebrew), remove it using the corresponding tab.
```bash
brew uninstall promptfoo
```
If you installed promptfoo as a project dependency, remove it from your project:
```bash
npm uninstall promptfoo
```
```bash
yarn remove promptfoo
```
```bash
pnpm remove promptfoo
```
### Verify removal
After uninstalling, confirm that promptfoo is no longer available globally:
```bash
which -a promptfoo
```
```bash
where promptfoo
```
If this still returns a path, you have another global installation that needs to be removed. Note that project-local installs (`node_modules/.bin/promptfoo`) are not detected by these commands — remove those with the project dependency step above.
### Remove configuration and data (optional)
Promptfoo stores configuration, eval history, and cached results in `~/.promptfoo` (`%USERPROFILE%\.promptfoo` on Windows). Uninstalling the package does not remove this directory.
:::warning
This permanently deletes your eval history, database, and cached results.
:::
```bash
rm -rf ~/.promptfoo
```
```powershell
Remove-Item -Recurse -Force "$env:USERPROFILE\.promptfoo"
```
```cmd
rmdir /s /q "%USERPROFILE%\.promptfoo"
```
If you set custom paths via environment variables, remove those directories as well:
- `PROMPTFOO_CONFIG_DIR` — configuration and database
- `PROMPTFOO_CACHE_PATH` — cached results
- `PROMPTFOO_LOG_DIR` — log files
## See Also
- [Getting Started](./getting-started.md)
- [Troubleshooting](./usage/troubleshooting.md)
- [Contributing](./contributing.md)