Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,11 @@ Host integrations are always part of uninstall. If a broken or unavailable
host prevents safe cleanup, the command names the blocking plugin manager or
configuration, gives exact manual cleanup instructions, and stops before
deleting the binary. Complete that cleanup and rerun uninstall.
It also keeps the binary when an agent's config file can't be read (another
tool's too), or when a hook it did not install still runs Plannotator. The
error names the file, the tool, and what to do. A `plannotator-inbox` entry
you added yourself, or a Claude Code or Droid plugin installed for one project,
is named with how to remove it and does not keep the binary.
These mechanics keep the ordinary confirmation default-negative, make the
irreversible outcome require a stronger explicit word, and still give package
managers and scripts a conventional non-interactive flag.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,11 @@ Host integrations are always part of uninstall. If a broken or unavailable
host prevents safe cleanup, the command names the blocking plugin manager or
configuration, gives exact manual cleanup instructions, and stops before
deleting the binary. Complete that cleanup and rerun uninstall.
It also keeps the binary when an agent's config file can't be read (another
tool's too), or when a hook it did not install still runs Plannotator. The
error names the file, the tool, and what to do. A `plannotator-inbox` entry
you added yourself, or a Claude Code or Droid plugin installed for one project,
is named with how to remove it and does not keep the binary.

The purge removes only known Plannotator entries from the configured data
directory. Unknown top-level files are preserved rather than guessed at, and
Expand Down
4 changes: 2 additions & 2 deletions apps/marketing/src/content/docs/reference/inbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Each entry runs `<your plannotator binary> inbox mcp`. The agent uses it from it
- Editors (VS Code, Zed, JetBrains, Goose) are never changed. Settings has a one-click link or a snippet for each.
- Qwen Code's `settings.json` may hold comments: Plannotator keeps every one, and adds only its own entry. It never uses `qwen mcp add`, which writes your other servers back with their `${VAR}` values filled in (a token kept in your environment would end up in the file). A file that is not valid JSON or is read-only is left as it was, and the terminal says why. A relative `QWEN_HOME` names a different folder in each project, so you connect Qwen Code by hand then. If the Inbox starts with another `QWEN_HOME` than the one Qwen Code was connected in, Plannotator leaves both folders as they are and tells you once. **Settings → Agents** shows Qwen Code off there, with the folder it is connected in; turn it on to move it. If the new folder's settings.json can't take it, nothing changes and the reason is shown.
- `PLANNOTATOR_INBOX_CONNECT=0` skips this step.
- `plannotator uninstall` removes every entry it recorded adding (never one you added yourself). `--dry-run` lists them first. If its record (`~/.plannotator/inbox/agents.json`) is gone, it removes none: an entry that runs this Plannotator is named with how to remove it, since you may have added it by hand.
- `plannotator uninstall` removes every entry it recorded adding (never one you added yourself). `--dry-run` lists them first. If its record (`~/.plannotator/inbox/agents.json`) is gone, it removes none. Any `plannotator-inbox` entry that still runs Plannotator and that it did not add is named with how to remove it (for Claude Code's `~/.claude.json`, `claude mcp remove plannotator-inbox -s user`), and the `plannotator` command is still removed. If an agent's config file can't be read (not valid JSON or TOML, not UTF-8, or permission denied), uninstall leaves the file as it is and keeps the `plannotator` command. It names the file, the agent and the reason, and says what to do before you run it again.

### A note in each agent's instructions

Expand Down Expand Up @@ -395,7 +395,7 @@ The Inbox stores the files agents attached as they were when sent, the messages
plannotator uninstall --purge
```

Both forms remove the `plannotator-inbox` entries `plannotator inbox` added to your agents (an entry you changed to run something else is left, and named). `--purge` also stops a running Inbox first, then deletes `~/.plannotator/inbox/` with the rest of the Plannotator data. If the Inbox does not stop, uninstall still removes the plugins, skills, hooks and config entries, but keeps your Plannotator data (`~/.plannotator`) and the `plannotator` binary. Quit the Inbox and run the command again to finish. Add `--dry-run` to see what would be removed.
Both forms remove the `plannotator-inbox` entries `plannotator inbox` added to your agents (an entry you changed to run something else is left, and named; so is one you added yourself). An agent config uninstall can't read keeps the `plannotator` binary until you fix it (see [Your agents are connected for you](#your-agents-are-connected-for-you)). `--purge` also stops a running Inbox first, then deletes `~/.plannotator/inbox/` with the rest of the Plannotator data. If the Inbox does not stop, uninstall still removes the plugins, skills, hooks and config entries, but keeps your Plannotator data (`~/.plannotator`) and the `plannotator` binary. Quit the Inbox and run the command again to finish. Add `--dry-run` to see what would be removed.

## Troubleshooting

Expand Down
Loading
Loading