Skip to main content

/setup-pm Command

Configure your preferred package manager for this project or globally.

Detection Priority

When determining which package manager to use:
  1. Environment variable: CLAUDE_PACKAGE_MANAGER
  2. Project config: .claude/package-manager.json
  3. package.json: packageManager field
  4. Lock file: Presence of package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb
  5. Global config: ~/.claude/package-manager.json
  6. Fallback: First available (pnpm > bun > yarn > npm)

Command Syntax

node scripts/setup-package-manager.js <action> [manager]

Actions

Detect Current

node scripts/setup-package-manager.js --detect

Set Global Preference

node scripts/setup-package-manager.js --global pnpm

Set Project Preference

node scripts/setup-package-manager.js --project bun

List Available

node scripts/setup-package-manager.js --list

Configuration Files

Global Configuration

// ~/.claude/package-manager.json
{
  "packageManager": "pnpm"
}

Project Configuration

// .claude/package-manager.json
{
  "packageManager": "bun"
}

package.json

{
  "packageManager": "[email protected]"
}

Environment Variable

# macOS/Linux
export CLAUDE_PACKAGE_MANAGER=pnpm

# Windows (PowerShell)
$env:CLAUDE_PACKAGE_MANAGER = "pnpm"
  • Commands: /pm2