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

[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-2026.3.4.tar.gz (51.0 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-2026.3.4-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_updater-2026.3.4.tar.gz
  • Upload date:
  • Size: 51.0 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-2026.3.4.tar.gz
Algorithm Hash digest
SHA256 3dea81979e32663a7ee452a8fd125ffe2b46bf472a67e391b8d015726af59aef
MD5 85011947daef5b7f4b9f163c557c7c74
BLAKE2b-256 07168f270a0eb3e97828874dc14b251a6c45bdbf182b65e43dd0183bde01cce7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: claude_updater-2026.3.4-py3-none-any.whl
  • Upload date:
  • Size: 21.5 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-2026.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5be01e3f1104f8f70eba1a6a2c110049682b776957b0d987ca69f2cf864e4db7
MD5 973ac8e6642c5b0ad09cb1cab5e4e31f
BLAKE2b-256 631786e802a2b4e9d90acdea7135c2b6eaa1d9f081a6c8549084782aae7edbe3

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