- Add NPM_REGISTRY constant and set_npm_registry() function
- Configure npm to use https://npm.sensey24.ru/ for @anthropic-ai scope
- Pass --registry flag to npm install commands
- Configure registry in uclaude_install.sh before running updater
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Add get_required_node_version() — fetches engines.node from npm registry
for @anthropic-ai/claude-code@latest and extracts required major version
- install_node() now installs setup_{major}.x matching Claude Code requirement
- ensure_node() uses dynamic version for checks and error messages
- Windows: Get-RequiredNodeMajor fetches version from npm registry
- Windows: MSI download uses required major version, not hardcoded v22
- Fallback to MIN_NODE_VERSION (18) if npm registry is unreachable
- Future-proof: when Claude Code raises requirement to 26+, scripts auto-adapt
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Replace hardcoded setup_24.x with setup_lts.x for Linux apt/dnf/yum
- Update Windows installer to use Node.js 22 LTS with dynamic version fetch
- Update install messages to reflect LTS instead of specific version
- Fixes: Node.js 24+ requirement causing installation failures on some systems
- Ensures latest LTS version (20.x, 22.x) is used instead of bleeding edge
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Handle case where which claude resolves directly to cli.js (not to .bin/claude)
- When claude binary basename is cli.js, add it directly to candidates
- When claude binary is in .bin/, resolve to parent node_modules/@anthropic-ai/claude-code/cli.js
- Fixes: which claude path not being properly included in multi-install patching
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Add find_all_cli_js() — discovers all cli.js paths across npm global dirs,
which claude symlink resolution, and NVM per-user installs
- Update cmd_update() to iterate all found paths and patch each one
- Update ensure_claude_code() to use find_all_cli_js() for install detection
- Fixes: `claude --version` showing old version when multiple Claude Code
installs exist (e.g. /usr/lib vs /usr/local/lib vs NVM)
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Changed MIN_NODE_VERSION from (24, 13, 0) to (18, 0, 0) to match Claude Code requirements
- Updated uclaude_install.sh to fetch latest repo before running updater
- Rewrote uclaude_update.ps1 to require v18+ and update repo first
- Added multiple fallback methods for Node.js installation on Windows
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Without shell=True, subprocess.run(["npm", ...]) fails on Windows because
npm and claude are .cmd batch files, not .exe. Added run_cmd() wrapper that
sets shell=True only on Windows, keeping Linux/macOS behavior unchanged.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Primary: download from unlimitedcoding-config private repo via API token
- Cache: saves .patcher.config.cache.json for offline fallback
- Legacy fallback: still reads local patcher.config.json if present
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
package.json shows npm-installed version (e.g. 2.1.47) while the actual
patched cli.js contains 2.1.50. Now reads "// Version: x.y.z" from the
bundle first, falls back to claude --version, then package.json.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- install_node() now checks ver >= MIN_NODE_VERSION after install (was missing)
- ensure_claude_code() accepts target_version, upgrades npm package if mismatched
- cmd_update() hard-stops with clear message if Node.js can't be upgraded
- Removes stale nodesource apt list before install to prevent version conflicts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Wire ensure_claude_code() into cmd_update() — auto npm install if missing
- uclaude_install.sh: auto-install git, python3, curl via apt/dnf/yum/brew
- uclaude_update.bat: prereq checks with winget install suggestions
- uclaude_update.ps1: auto-install via winget (git, python, node)
- install_node(): macOS support via brew, RHEL/Fedora via rpm.nodesource
- Increased npm install timeout to 300s for slow connections
- Все claude-файлы перенесены в claude/ (uclaude_updater.py, скрипты, config)
- claude/README.md с инструкцией для Claude Code
- Корневой README — общий для всех продуктов (claude, codex, gemini, qwen, antigravity)
- Node.js v24.13+ автоустановка через nodesource
- Sparse checkout: клиент скачивает только latest версию cli.js
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>