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.1.tar.gz
(71.5 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.1.tar.gz.
File metadata
- Download URL: claude_updater-2026.3.1.tar.gz
- Upload date:
- Size: 71.5 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 |
f272527cc14e230613c7f892a85442ebc07127cceeb085ad5113efa77e6550e7
|
|
| MD5 |
ca0fb2005807863373bdfcea14a69193
|
|
| BLAKE2b-256 |
b8a003a97e1f9d9ce9be9553f7d6a4f09b39ebea242ba4e2d92d0d0db062f017
|
File details
Details for the file claude_updater-2026.3.1-py3-none-any.whl.
File metadata
- Download URL: claude_updater-2026.3.1-py3-none-any.whl
- Upload date:
- Size: 22.2 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 |
6d4253dda676abf1ee245b3d4a7d4b086e6ab64fbd2c37a6b7aa53bfdb44c448
|
|
| MD5 |
57e2af47ac39e4ab19532f4bdb3dd22b
|
|
| BLAKE2b-256 |
37ccda4d881294c058857dd1b2d70dbcb392a991aba98ab9725fc896c10cacae
|