Skip to main content

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

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.6.tar.gz (58.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.6-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_updater-2026.3.6.tar.gz
  • Upload date:
  • Size: 58.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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.6.tar.gz
Algorithm Hash digest
SHA256 88b0353f5ef663d440b191b49fddf43401ba3fd1112fa60b58a22bb63e42cbc5
MD5 44bcfda1219f36fdcbbaa86328f1804f
BLAKE2b-256 89a980f1f4346555aa15206418096b4523b7eb3131d4927baec96cd52d5ea65a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: claude_updater-2026.3.6-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c5e55e6da365ce60aae64c9aed3c2dd12392bd8143834ab49df3b67ebaf9eb93
MD5 b29ea34c078accecac57ebbff98cb833
BLAKE2b-256 4adc8a0819b95511f5d06727c6b5b09398d9c1285932265620aca16fcd3e3f6c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2026.3.6 This release

2 files

2026.3.5

2 files

2026.3.4

2 files

2026.3.3

2 files

2026.3.2

2 files

2026.3.1

2 files

2026.3.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

Supported by

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