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
Release history Release notifications | RSS feed
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.0.tar.gz
(69.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_updater-2026.3.0.tar.gz.
File metadata
- Download URL: claude_updater-2026.3.0.tar.gz
- Upload date:
- Size: 69.1 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90e06d43e2cb497e07d8fc73a35b89d7a1a2d53dda2c2a3e6a77d92fc70ebef0
|
|
| MD5 |
85a9d0fe4165568ca67e5737393ec986
|
|
| BLAKE2b-256 |
a5bf1677f251af12bc19311b0c5adc84b541da9300e1ad8783199f90aa9e7f11
|
File details
Details for the file claude_updater-2026.3.0-py3-none-any.whl.
File metadata
- Download URL: claude_updater-2026.3.0-py3-none-any.whl
- Upload date:
- Size: 21.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4a02271142cdb1c9be6ec344a43cb7af7defa5c82724829392b29e8cf6abb62
|
|
| MD5 |
e4261468da7cb3eee0d5c013d8734993
|
|
| BLAKE2b-256 |
eaa19ec0a6586ded56b3b8f008a08048483d8b0921652a5659d0268b2b7fb62e
|