Parallax

Update and undo

Keep the server, SDK and plugin on one version, update them, and remove Parallax without leaving anything behind.

Keep the versions equal

While the protocol major is 0, the MCP server, the SDK and the build plugin must have the same version. The Parallax versions row of doctor compares the server with the installed packages and the SDK running in the app, and names the older side and the command.

The server is older:

npx -y @parallax-rn/mcp@<newer> setup <claude|codex> --update

Run it in any folder. It shows the change to the registration and the skill first.

The app is older:

npm install -D @parallax-rn/sdk@<server version> @parallax-rn/babel-plugin@<server version>

Run it in the app's project root, and use yarn add -D, pnpm add -D or bun add -d to match your lockfile. Then restart Metro with npx react-native start --reset-cache (bare React Native) or npx expo start -c (Expo). setup run in the project prints this note too.

An existing registration of another version of Parallax, or of a development checkout, changes only with --update.

Undo

npx -y @parallax-rn/mcp@0.1.0-beta.2 setup claude --undo   # or: setup codex --undo

It shows exactly what it will remove (the registration, the skill, and the directories it made, if empty again) and asks first; --yes skips only the question. It removes nothing that is not Parallax's: a registration whose command is not Parallax's and a skill without Parallax's marker are left alone.

Optional parts are removed only when you add their flag to the undo too:

  • --hook removes the hooks (all of Parallax's, and nothing else);
  • --answer-approvals removes only the answering entry and puts the observe-only entry back when --hook is installed;
  • --strict-approvals removes the strict marker file and the settings it wrote;
  • --allow-read-only-tools removes every read-only entry listed in its diff. It cannot tell whether one was there before setup (setup told you when it was).

Expected leftovers, harmless

Claude Code's own claude mcp remove, which undo uses, leaves two things that are its own bookkeeping, not Parallax's:

  • an empty "mcpServers": {} in ~/.claude.json (in project scope, a .mcp.json holding only that empty object is deleted by undo);
  • a backup copy of .claude.json in ~/.claude/backups/, made whenever Claude Code rewrites that file.

Neither contains anything of Parallax. Codex leaves nothing: an empty config.toml that undo would leave is deleted.

In the app

npm uninstall @parallax-rn/sdk @parallax-rn/babel-plugin

Run it in the app's project root. Delete the start() line and the plugin line from babel.config.js, then restart Metro with --reset-cache (see above).

On this page