---
title: openplanr 2.2639.2
description: Published 2026-09-25. openplanr init now creates .planr/specs/ when the new configuration turns on spec-driven mode, which the default configuration does.
url: https://openplanr.dev/docs/changelog/2.2639.2
updated: 2026-09-25
related:
  - https://openplanr.dev/docs/changelog/2.2639.4.md
  - https://openplanr.dev/docs/changelog/2.2639.3.md
  - https://openplanr.dev/docs/changelog/2.2639.1.md
---

# openplanr 2.2639.2

Published 2026-09-25.

[Release on GitHub](https://github.com/openplanr/OpenPlanr/releases/tag/openplanr%402.2639.2)

## Patch Changes

`openplanr init` now creates `.planr/specs/` when the new configuration turns on spec-driven mode, which the default configuration does. A first run no longer leaves the project in spec-driven mode without its specs folder.

The Operate review-note validator (`scripts/validate-note.mjs` in `planr-operate` and the seven review skills) now exits 0 when a note passes and 1 only when it reports diagnostics. It previously exited 1 on every note, including clean ones.

Correct the setup documentation: `openplanr setup` installs `planr@openplanr-local` from the marketplace bundled with the installed package and never reads `openplanr/marketplace`. `CROSS_RUNTIME_SETUP.md` now lists the four installation channels and their status, and advises using one Claude Code channel per machine.

`openplanr upgrade status` and `openplanr upgrade apply` now judge and prescribe the plugin `openplanr setup` installs, `planr@openplanr-local` from the bundled `openplanr-local` marketplace, instead of the retired `openplanr@openplanr` and `planr-pipeline@openplanr` plugins. After a CLI upgrade the prescribed commands refresh `openplanr-local`, update `planr@openplanr-local`, and remove leftover legacy plugins; when the marketplace was never registered the advice is `openplanr setup --runtime claude --scope user`. `openplanr setup` and `openplanr doctor` also warn when a marketplace-installed `planr@openplanr` sits beside `planr@openplanr-local` and give the exact `claude plugin uninstall` command to keep one, without removing anything themselves.
