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.0.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.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_updater-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 49a3722913837f8be60add3d8c03e2ff15ba44397e67761fc1c08968a3fbfc26
MD5 5090b769d681bec66719396e78b674db
BLAKE2b-256 4a2750aaefee2454c3f98e5356e2dfd1035da0b0fdd1b5c810ecb3dd58db5360

See more details on using hashes here.

File details

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

File metadata

  • Download URL: claude_updater-0.3.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 716456710de78fc31b49306020ca92fdb7a813c76433f1d7673c4560134fa27c
MD5 95fdb38163f1dcf8f3b1a032cd913384
BLAKE2b-256 914d1c19a3cecc1a2809708a31491e970ea57732cd8c050b3accf9919048ce4a

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