Skip to main content

Multi-tool update checker for the Claude Code ecosystem

Project description

claude-updater

Multi-tool update checker for the Claude Code ecosystem.

Installation

# Via uv
uv tool install claude-updater

# Via pipx
pipx install claude-updater

# Via pip
pip install claude-updater

Quick Start

# Check for updates
claude-updater check

# Check and apply updates interactively
claude-updater update

# Initialize config
claude-updater config init

Built-in Adapters

Adapter Tool Update Method
claude_code Claude Code Auto-update (informational)
claude_mem claude-mem plugin git pull
beads_cli beads CLI brew upgrade
beads_plugin beads plugin git pull
dolt dolt brew upgrade

Configuration

Config file: ~/.config/claude-updater/config.toml

# Create default config
claude-updater config init

# Show current config
claude-updater config show

Config Options

[general]
cache_ttl = 86400          # 24h cache TTL in seconds
check_on_startup = true

[ai_analysis]
enabled = true
api_base = "https://openrouter.ai/api/v1"
model = "anthropic/claude-3.5-haiku"
# API key: pick one method
api_key_cmd = "op read 'op://API Keys/OpenRouter/credential'"
# api_key = "sk-or-v1-..."
# api_key_env = "OPENROUTER_API_KEY"

[adapters.claude_code]
enabled = true

[adapters.claude_mem]
enabled = true
plugin_dir = "~/.claude/plugins/marketplaces/thedotmack"

[adapters.beads_cli]
enabled = true

[adapters.beads_plugin]
enabled = true
plugin_dir = "~/.claude/plugins/marketplaces/beads-marketplace"

[adapters.dolt]
enabled = true

CLI Reference

claude-updater check              # Check all enabled adapters
claude-updater check --force      # Ignore cache
claude-updater check --json       # Machine-readable output
claude-updater update             # Interactive update
claude-updater update --yes       # Auto-approve updates
claude-updater config init        # Create default config
claude-updater config show        # Show current config
claude-updater list               # List available adapters

Writing Custom Adapters

Create a new file in src/claude_updater/adapters/:

from claude_updater.adapters.base import ToolAdapter

class MyToolAdapter(ToolAdapter):
    @property
    def name(self) -> str:
        return "My Tool"

    @property
    def key(self) -> str:
        return "my_tool"

    def get_installed_version(self) -> str:
        # Return currently installed version
        ...

    def get_latest_version(self) -> str:
        # Return latest available version
        ...

    def get_changelog_delta(self, from_ver: str, to_ver: str) -> str:
        # Return changelog text between versions
        ...

    def apply_update(self) -> bool:
        # Apply the update, return True on success
        ...

Then register it in adapters/__init__.py:

ADAPTER_REGISTRY["my_tool"] = MyToolAdapter

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_updater-0.3.1.tar.gz (53.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_updater-0.3.1-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file claude_updater-0.3.1.tar.gz.

File metadata

  • Download URL: claude_updater-0.3.1.tar.gz
  • Upload date:
  • Size: 53.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for claude_updater-0.3.1.tar.gz
Algorithm Hash digest
SHA256 52dbb402c1a61e2120de03273bec251d91ef3dcd16ae9d50ac3b459b97894097
MD5 ff8205db6f53c8f5ed29eacf77754768
BLAKE2b-256 60ecaa77aa25edd047c584e1af18995e11b85d581fd686ae924aa881505bcd43

See more details on using hashes here.

File details

Details for the file claude_updater-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: claude_updater-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for claude_updater-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1fc8c0e0347859e03153b3d061c833bca0e8ea1a8227f0fc7361b1b46e764fe
MD5 74c3993072ef384fae67c0ec3100942f
BLAKE2b-256 b1a37c807e079e1cc99338d813c2d98f2abfa4a2b8017d9a47eda0c2da975650

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page