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

# Use Plannotator with Claude Code

> Install Plannotator for Claude Code, review plans at ExitPlanMode without making Claude wait, invoke document and code review skills, and update the plugin.

Plannotator opens Claude Code's plans in a review UI in your browser. **Approve** lets Claude implement the plan. **Send Feedback** returns your annotations so Claude can revise it.

How Claude waits for your decision depends on the Claude Code version:

* **Claude Code 2.1.287 or later, in the interactive terminal:** the [Plannotator mod](#the-plannotator-mod) is on by default. Claude does not wait. Your decision arrives later as a message.
* **Older Claude Code, `claude -p` and SDK runs, Windows, or the mod turned off:** a hook holds `ExitPlanMode` open, and Claude waits until you decide.

## Install

Install the command:

```bash theme={null}
curl -fsSL https://plannotator.ai/install.sh | bash
```

Then run these commands in Claude Code:

```text theme={null}
/plugin marketplace add backnotprop/plannotator
/plugin install plannotator@plannotator
```

Restart Claude Code so the plugin takes effect. The standard installer also adds three Claude-specific skills: `plannotator-review`, `plannotator-annotate`, and `plannotator-last`. It writes them to `~/.claude/skills`. If `$CLAUDE_CONFIG_DIR` is set, it uses `$CLAUDE_CONFIG_DIR/skills` instead.

The marketplace plugin supplies plan review and the Plannotator mod. The skills supply the three manual slash commands and call the installed `plannotator` binary. The plugin does not include the binary. See [Install and Manage Plannotator Skills](/open-source/start/skills) for extra skills and model-callable settings.

## Use it

Enter plan mode and ask Claude Code to prepare a plan. When Claude calls `ExitPlanMode`, Plannotator opens the plan. **Approve** allows implementation. **Send Feedback** returns your annotations and direct edits to Claude for another revision.

Use the installed skills for manual workflows:

```text theme={null}
/plannotator-review
/plannotator-annotate path/to/spec.md
/plannotator-last
```

`/plannotator-review` accepts a GitHub pull request or GitLab merge request URL. `/plannotator-annotate` accepts a file, folder, or web URL.

## The Plannotator mod

On Claude Code 2.1.287 or later, in the interactive terminal, the plugin runs the Plannotator mod. It is on by default.

When Claude calls `ExitPlanMode`, or you run `/plannotator-review`, `/plannotator-annotate` or `/plannotator-last`, Plannotator opens in your browser and Claude ends its turn. Claude does not wait for you:

* You can keep chatting with Claude while the review is open.
* When you decide, your decision arrives in the session as a message from the Plannotator plugin. Claude continues from there.
* If Claude revises the plan while the review is open, the same tab updates to the new version. Your comments stay.
* After you approve a plan, Claude calls `ExitPlanMode` once more and works from the exact plan text you approved.
* Claude can open Plannotator itself with its `plannotator` tool, for example when you ask it to "open notes.md in Plannotator". A `plannotator review`, `annotate` or `last` command that Claude runs in Bash opens the same way.
* Ask AI in the review is answered by this Claude session. See [Ask this session](/open-source/workflows/ask-this-session).
* The status line shows the reviews that are waiting for you.
* A review stays open if you close the terminal. Resume the session, for example with `claude --continue`, and the decision is delivered.

<Warning>
  While a plan review is open, Claude is not blocked. If you leave plan mode yourself before you approve, Claude can start editing.
</Warning>

Keep the `plannotator` binary up to date as well: rerun the installer. With an older binary, plan review falls back to the waiting flow.

The mod is part of the marketplace plugin. A [manual hook](#manual-hook-setup) always uses the waiting flow.

### Turn the mod off

Set `PLANNOTATOR_CLAUDE_MOD=0` in the shell that starts Claude Code, or in the `env` block of Claude Code's `settings.json`. You can also add this to `~/.plannotator/config.json`:

```json theme={null}
{ "claudeCodeMod": false }
```

The environment variable wins over the config file. Claude Code reads the setting when it starts, so restart Claude Code after you change it. With the mod off, Claude waits for your decision, and Ask AI uses a provider you pick.

## Update

Rerun the standard installer to update the `plannotator` binary and the core skills. The marketplace plugin updates separately. Refreshing the marketplace alone does not update an installed plugin.

From a terminal:

```bash theme={null}
claude plugin marketplace update plannotator
claude plugin update plannotator@plannotator
```

Then restart Claude Code.

Or, inside Claude Code, run:

```text theme={null}
/plugin marketplace update plannotator
```

Then open `/plugin`, go to **Installed**, select **plannotator**, and choose **Update now**. Restart Claude Code.

Claude Code has no `/plugin update` command.

## Manual hook setup

If you do not use Claude Code's plugin system, add this hook to `~/.claude/settings.json`. With a manual hook, Claude waits for your decision on every Claude Code version.

```json theme={null}
{
  "hooks": {
    "PermissionRequest": [
      {
        "matcher": "ExitPlanMode",
        "hooks": [
          {
            "type": "command",
            "command": "plannotator",
            "timeout": 345600
          }
        ]
      }
    ]
  }
}
```

Last verified against Plannotator OSS v0.25.1 on July 31, 2026. The Plannotator mod, Ask this session, and update sections were checked against Plannotator v0.28.0 on October 4, 2026, and the update steps were verified on Claude Code 2.1.289. Maintained by the Plannotator project.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.