--- 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)