ck update

Update the ClaudeKit CLI package itself to the latest version using your package manager.

Quick Start

# Check for updates
ck update --check

# Update to latest version
ck update

# Update to specific version
ck update --release 3.11.0

# Update to beta version
ck update --beta

# Non-interactive update
ck update --yes

Note: This command updates the ClaudeKit CLI tool itself, NOT your ClaudeKit project. To update your project, use ck init.

What It Does

The ck update command:

  1. Detects your package manager (npm, bun, pnpm, yarn)
  2. Fetches latest version from npm registry
  3. Compares current version with target version
  4. Prompts for confirmation (unless --yes)
  5. Executes package manager update command
  6. Verifies installation

Syntax

ck update [OPTIONS]

Options

FlagDescriptionDefault
--checkOnly check for updates, don’t installfalse
--release <version>Update to specific versionLatest stable
--betaUpdate to latest beta versionfalse
--yes / -ySkip confirmation promptfalse
--registry <url>Custom npm registry URLhttps://registry.npmjs.org
--verboseEnable verbose loggingfalse

Examples

Check for Updates

See if a newer version is available without installing:

ck update --check

Example output:

[>] ClaudeKit CLI - Update

Current CLI version: 3.10.1
Latest version: 3.11.0

[^] upgrade: 3.10.1 -> 3.11.0

Update Check

Update available: 3.10.1 -> 3.11.0

Run 'ck update' to install

Check complete

Update to Latest

Update to the newest stable version:

ck update

Example output:

[>] ClaudeKit CLI - Update

Current CLI version: 3.10.1
Using npm v10.2.4
Latest version: 3.11.0

[^] upgrade: 3.10.1 -> 3.11.0

Update CLI from 3.10.1 to 3.11.0? (y/n) y

Updating CLI...
✓ Update completed
✓ Installed version: 3.11.0

[+] Successfully updated ClaudeKit CLI to 3.11.0

Update to Specific Version

Downgrade or install a specific version:

ck update --release 3.9.0

Useful for:

  • Rolling back to a known stable version
  • Testing specific version behavior
  • Matching team’s CLI version

Update to Beta

Get the latest prerelease version:

ck update --beta

Example output:

Current CLI version: 3.10.1
Latest beta version: 3.11.0-beta.2

[^] upgrade: 3.10.1 -> 3.11.0-beta.2

Update CLI from 3.10.1 to 3.11.0-beta.2? (y/n)

If no beta version exists, falls back to latest stable.

Non-Interactive Update

Skip confirmation prompt (useful for scripts):

ck update --yes

Or short form:

ck update -y

Combine Flags

Update to latest beta without confirmation:

ck update --beta --yes

Package Manager Detection

The CLI automatically detects which package manager you used for installation:

Detected Managers

  • npm - Default Node.js package manager
  • bun - Fast all-in-one JavaScript runtime
  • pnpm - Fast, disk space efficient
  • yarn - Alternative to npm

Detection Order

  1. Checks for global installation path patterns
  2. Verifies package manager is installed
  3. Falls back to npm if detection fails

Update Commands Used

The CLI uses the appropriate command for your package manager:

ManagerUpdate Command
npmnpm update -g claudekit-cli
bunbun update -g claudekit-cli
pnpmpnpm update -g claudekit-cli
yarnyarn global upgrade claudekit-cli

Update Notifications

The CLI automatically checks for updates when you run:

ck --version

Example with update available:

CLI Version: 3.10.1
Local Kit Version: 1.16.0 (ClaudeKit Engineer)

⚠ Update available: 3.10.1 -> 3.11.0
  Run 'ck update' to install

Notification Caching

Update checks are cached for 7 days to minimize API calls.

Cache location:

  • macOS/Linux: ~/.claudekit/cache/version-check.json
  • Windows: %USERPROFILE%\.claudekit\cache\version-check.json

Disable Notifications

Set environment variable to disable update notifications:

# Temporary (current session)
NO_UPDATE_NOTIFIER=1 ck --version

# Permanent (add to ~/.bashrc or ~/.zshrc)
export NO_UPDATE_NOTIFIER=1

Windows (PowerShell):

[System.Environment]::SetEnvironmentVariable("NO_UPDATE_NOTIFIER", "1", [System.EnvironmentVariableTarget]::User)

Common Patterns

Regular Update Routine

Keep CLI up to date:

# Weekly check
ck update --check

# If update available, install it
ck update

Team Version Sync

Ensure team uses same CLI version:

# In team docs, specify version
ck update --release 3.10.1

Beta Testing

Test upcoming features:

# Install beta
ck update --beta

# Try new features
ck new --help

# Roll back to stable if issues
ck update --release 3.10.1

Automated Updates

Add to cron job or scheduled task:

# Auto-update weekly (add to crontab)
0 9 * * 1 ck update --yes

Windows Task Scheduler:

schtasks /create /tn "ClaudeKit Update" /tr "ck update --yes" /sc weekly /d MON /st 09:00

Troubleshooting

”Permission denied” Error

Symptoms:

EACCES: permission denied

Cause: Insufficient permissions for global package directory.

Solutions:

Option 1: Use sudo (Linux/macOS)

sudo ck update

Or manually:

sudo npm update -g claudekit-cli

Option 2: Fix npm Permissions (Recommended)

Follow npm’s guide to fix permissions.

Option 3: Use a Node Version Manager

”Version X does not exist”

Symptoms:

Version 3.99.0 does not exist on npm registry

Cause: Specified version not published or typo.

Solutions:

# Check available versions
npm view claudekit-cli versions

# Or use CLI versions command (won't work for CLI itself, but shows pattern)
# Then install correct version
ck update --release 3.11.0

“Already on the latest version”

Symptoms:

[+] Already on the latest version (3.11.0)

Meaning: You’re up to date. No action needed.

To force reinstall:

npm uninstall -g claudekit-cli
npm install -g claudekit-cli

Update Fails Silently

Symptoms: No error, but version doesn’t change.

Cause: Package manager cache issue.

Solutions:

# Clear npm cache
npm cache clean --force

# Retry update
ck update

# Or reinstall
npm uninstall -g claudekit-cli
npm install -g claudekit-cli@latest

“Please restart your terminal”

Symptoms: Update succeeds but ck --version shows old version.

Cause: Shell hasn’t reloaded PATH.

Solutions:

Option 1: Restart terminal (easiest)

Option 2: Reload shell config

source ~/.bashrc  # or ~/.zshrc

Option 3: Use full path

$(npm config get prefix)/bin/ck --version

Platform-Specific Notes

Windows

  • Use PowerShell or Windows Terminal
  • May require administrator privileges
  • Antivirus may interfere with update

macOS

  • Homebrew users: If installed via Homebrew, use brew upgrade
  • System Integrity Protection may require sudo

Linux

  • Package manager varies by distro
  • WSL fully supported
  • May need sudo for global installs

Version Verification

After updating, verify the new version:

ck --version

Expected output:

CLI Version: 3.11.0

If old version still shows, restart terminal or reload shell config.

Rollback

To rollback to a previous version:

# Install specific older version
ck update --release 3.10.0

# Verify
ck --version

Next Steps

After updating the CLI:

  1. Update your projects to latest kit versions:
cd my-project
ck init
  1. Check for breaking changes in release notes
  2. Test commands to ensure compatibility
  3. Run health check:
ck doctor