# uninstall

> Remove what BMAD+ owns from a project and keep your memory, settings, edited and unknown files: flags, exactly what is deleted, what stays, real output and the messages you can meet.

Canonical: https://bmad-plus.rochetta.fr/docs/reference/cli-uninstall/
Language: en
BMAD+ version: 0.23.1
Documentation reviewed: 2026-10-19
Author: Laurent Rochetta
License: MIT

BMAD+ documentation › [Reference](https://bmad-plus.rochetta.fr/docs/reference/) › uninstall

`uninstall` takes BMAD+ out of a project without taking anything of yours with it. It deletes only files that are provably BMAD+’s (byte-for-byte identical to what the package ships, or instruction files that carry the BMAD+ marker and match their recorded hash) and the install manifest. Your project memory, your configuration, your outputs, anything you edited and anything it does not recognise stay where they are. Use it to clean a project, to start over, or to test an installation.

<a id="synopsis"></a>
## Synopsis

**In your project terminal**

```sh
npx bmad-plus uninstall [-d <path>] [-y] [-l <code>]
```

**Options of uninstall**

| Flag | Argument | What it does |
| --- | --- | --- |
| `-d, --directory <path>` | folder | Project to clean (default: current folder). Must exist. |
| `-y, --yes` | - | Confirm without prompting. Required when there is no terminal. |
| `-l, --lang <code>` | language code | Language of the screens. Defaults to the language recorded at install, then English. |

<a id="reads-writes"></a>
## What is removed and what stays

The command reads the manifest, builds a removal plan, shows the version and the packs, asks for confirmation, and re-checks every path just before deleting (no symbolic link or junction is ever followed). Files are removed one by one; directories are removed only when they are empty. There is no recursive delete.

**Fate of each kind of file**

| What | Result |
| --- | --- |
| Agent, skill, data and pack files identical to what the package ships (including skills copied from the Design pack’s npm package since 0.23.0) | Removed. |
| `_bmad/module.yaml`, `_bmad/module-help.csv`, the manifest `_bmad/.bmad-plus-install.json` | Removed (when identical to what ships). |
| `AGENTS.md` and tool files carrying the BMAD+ marker and matching their recorded hash | Removed. |
| Any of the above that you edited | Kept. |
| Files in those folders that BMAD+ did not put there | Kept, and so is their folder. |
| `_bmad/config.yaml`, `_bmad/update-policy.json` | Kept. |
| `.agents/memory/`, `~/.bmad-plus/brain` | Kept. |
| `_bmad-output/` and everything agents produced | Kept. |
| `.bmad/` (update receipts, backups, caches) | Kept. |
| `.agents`, `.agents/skills`, `.agents/data`, `_bmad`, `_bmad-output` and emptied adapter folders | Removed only if empty after the deletions. |

<a id="exit-codes"></a>
## Exit codes

**Exit codes of uninstall**

| Code | Meaning |
| --- | --- |
| 0 | Removed; or BMAD+ is not installed in that folder (a warning, nothing to do); or you declined the prompt. |
| 1 | Folder not found, unreadable manifest, no terminal and no `--yes`, unsafe link, or a failure while deleting. |

<a id="real-output"></a>
## Real output

Recorded during the 0.23.0 acceptance run (installed in French with the Core and Design packs). The line that counts removed items is left out: the run that printed it was the one that exposed the bug where the Design skills were not removed, fixed before release. The last line is the one the fixed run confirmed.

**Uninstall that keeps memory and settings**

```text
$ npx bmad-plus uninstall --yes --directory .\demo-app
T   BMAD+ Uninstaller
|
•  BMAD+ v0.23.0 (installé le 2026-10-18)
|
•  Packs sélectionnés: core, design
|
# … removed-items line omitted …
—  La mémoire, les réglages et les fichiers inconnus ou modifiés ont été conservés.
```

Output captured from a real run. Source: Captured during two 0.23.0 acceptance runs, 2026-10-18 (header lines, then the final line of step 7); the removed-items line is omitted

<a id="errors"></a>
## Errors and what to do

**Messages of uninstall**

| Message | Cause | What to do |
| --- | --- | --- |
| `BMAD+ is not installed in this directory.` | No manifest in `_bmad/`. | Check the folder or pass `--directory`. Exit code 0. |
| `Project directory not found: <dir> (ENOENT)` | The folder does not exist. | Fix the path. |
| `Install manifest is unreadable or corrupt: ...` then `Check _bmad/.bmad-plus-install.json and repair it before retrying.` | The manifest is not valid JSON or lacks required fields. | Repair or restore the file, or run `install` again, which backs the broken one up. |
| `This command requires a terminal. Run `npx bmad-plus uninstall --yes` to proceed without prompts.` | No terminal and no `--yes`. | Add `--yes`. |
| `Uninstall aborted: Symbolic link or junction: <path>` | A path to delete passes through a link. | Remove or replace the link, then retry. Nothing was deleted through it. |
| `Uninstall aborted: Unknown installed pack: <id>` | The manifest names a pack this package does not know. | Run the version of the package that installed it, or fix the manifest. |

<a id="examples"></a>
## Examples

**Clean a project, keep everything of yours**

```sh
npx bmad-plus uninstall --yes
```

**Start over with a fresh install afterwards**

```sh
npx bmad-plus uninstall --yes
npx bmad-plus install
```

**See also**

- [install](https://bmad-plus.rochetta.fr/docs/reference/cli-install/)
- [update and --restore](https://bmad-plus.rochetta.fr/docs/reference/cli-update/)
- [The whole lifecycle](https://bmad-plus.rochetta.fr/docs/guides/install-lifecycle/)
- [Project layout](https://bmad-plus.rochetta.fr/docs/reference/project-layout/)

[BMAD+ documentation](https://bmad-plus.rochetta.fr/docs/) · [Reference](https://bmad-plus.rochetta.fr/docs/reference/)

[Source on GitHub](https://github.com/lrochetta/BMAD-PLUS)
