Skip to content

v0.30.4 — Claude Code's files stay in its own home, and a newer agents block is left alone

Choose a tag to compare

@Evgenii-Konev Evgenii-Konev released this 15 Oct 03:49
· 35 commits to main since this release
63e7bd5

Two fixes from the live checks of 0.30.3. If you export CODEX_HOME, read the last section.

Claude Code's files stay in Claude Code's home

With CODEX_HOME exported, setup, install, upgrade, plan, uninstall and doctor, run from a directory with no .claude/ folder in it, put Claude Code's paths under the Codex home. That covered Claude Code's npm marketplace, claude's plugin registry, the cache and the user settings. The host CLI ran with that home too, so Claude Code itself, started normally, saw no registration. Doctor, run from such a directory, read the wrong places and reported a missing status line and a foreign registration.

From 0.30.4, Claude Code's paths are always under CLAUDE_CONFIG_DIR, or ~/.claude when that is not set. The plan names the home on the registration row, for example (harness home ~/.claude, scope local). The status-line launcher is rendered with Claude Code's own variable. Codex keeps CODEX_HOME.

A deferred registration names its command

Inside a Claude Code or Codex session, setup, install, upgrade and uninstall leave the agent's registration for a terminal. Until now the row said only that. Now the plan also says where to run it and what to run, each on its own line:

From a terminal in "/Users/you/Projects/app":
npx projectstore@0.30.4 setup --harness claude-code --channel npm

The command repeats the run's own verb and options. With --json, the row's reason holds the old text on its first line, byte for byte, then these two lines. A script that reads reason as one line should take its first line.

No copy writes a newer agents block down

A checkout kept on an older git-marketplace copy could flip its agents block back and forth. An npm run of 0.30.3 wrote v5; the kept 0.30.2 copy's doctor then asked to register the block again, which wrote v4; and the next npm run wrote v5 once more.

  • A block newer than the running copy's template is now left as it is by install, upgrade and setup, with a reason that names the way out. Doctor mentions it in the install report and never counts it as an issue.
  • Registering the block by name writes over it only when nothing else is left to place.
  • When setup keeps a git-marketplace copy that is older than the package it runs from, the row and DONE say so, and say how to update that copy. In Claude Code:
/plugin marketplace update
/plugin update

Then restart.

Upgrading

The agents block stays v5, so there is no block step this time.

From npm, from a terminal in your project:

npx projectstore@0.30.4 upgrade

Codex's registration is per machine:

npx projectstore@0.30.4 upgrade --harness codex

From the git marketplace, in Claude Code:

/plugin update

Then restart the agent.

If you exported CODEX_HOME before 0.30.4

What the defect left behind is not repaired by itself. You are affected if CODEX_HOME was exported when you ran setup, install or upgrade from 0.30.3 or earlier in a directory with no .claude/ folder, a fresh project for instance. 0.30.4 then refuses both registrations and writes nothing. Claude Code's refusal says that the project's settings declare marketplace projectstore-npm at another path, and ends "remove that entry to let install take the name". Codex's says the marketplace path exists without .projectstore-registration.json.

To repair it, from a terminal outside any agent session:

  1. In the project's .claude/settings.local.json, delete the projectstore-npm key under extraKnownMarketplaces and the projectstore@projectstore-npm key under enabledPlugins.

  2. Look inside $CODEX_HOME/projectstore/marketplace. If it holds .claude-plugin/marketplace.json, it is Claude Code's marketplace: delete the folder. (Codex's own marketplace holds .agents/ instead.)

  3. Delete what claude wrote under the Codex home, if it is there:

    • $CODEX_HOME/plugins/known_marketplaces.json
    • $CODEX_HOME/plugins/installed_plugins.json
    • $CODEX_HOME/backups/

    $CODEX_HOME/plugins/cache/projectstore-npm/ and $CODEX_HOME/plugins/marketplaces/ may go too; Codex reads neither.

  4. Set the project up again:

npx projectstore@0.30.4 setup

Codex stays experimental, as docs/harnesses.md defines it.