一键导入
version-upgrade-checklist
Checklist for safely upgrading Claude Code version with channel patching. Use before upgrading any agent's Claude Code installation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Checklist for safely upgrading Claude Code version with channel patching. Use before upgrading any agent's Claude Code installation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Validate that Claude Code channel patching was applied correctly. Use after running the patcher to confirm both patches took effect.
Core methodology for patching Bun-compiled Claude Code binaries. Use when implementing or updating the channel patcher for ELF binaries.
Determine what type of Claude Code binary you have (JS bundle vs Bun ELF), its version, and what patchable strings are present.
| name | version-upgrade-checklist |
| description | Checklist for safely upgrading Claude Code version with channel patching. Use before upgrading any agent's Claude Code installation. |
# Install but don't activate yet
mise install claude-code@NEW_VERSION
NEW_BIN=$(mise where claude-code@NEW_VERSION)/bin/claude
file "$(readlink -f "$NEW_BIN")"
strings "$(readlink -f "$NEW_BIN")" | grep 'isChannelAllowlisted:()=>'
strings "$(readlink -f "$NEW_BIN")" | grep 'DevChannelsDialog:()=>'
If either is missing, the minified names changed — patcher needs updating.
# Back up first
cp "$(readlink -f "$NEW_BIN")" "$(readlink -f "$NEW_BIN").bak"
# Run patcher
bin/claude-patch-channels "$(readlink -f "$NEW_BIN")"
patch-channels-validation skill)"$NEW_BIN" --version # must exit 0
Patcher success is NECESSARY but NOT SUFFICIENT. "4 patches applied successfully" only means bytes were rewritten at the expected pattern sites — it does NOT prove behavior changed. New versions can have inlined copies, additional bytecode cache locations, new call sites, or different code paths that the patcher's pattern misses.
Behavior validation REQUIRED before marking a version tested:
--dangerously-load-development-channels against a non-allowlisted plugin.If patcher reports OK but the dialog appears or the plugin doesn't load: patcher succeeded, patch is INEFFECTIVE. Do NOT add the version to the tested list. Investigate (likely the minified names changed, or a new code path was added, or Bun's bytecode cache moved).
Source: Handler instruction (2026-05-05): "Remember the patcher can succeed but the patch can still not successfully change the behavior (make sure the skill says this)."
# Update mise.toml in the secondary agent's repo
# Let it run for a session to catch issues
Activate for primary agent only after secondary confirms stable
Update tested versions table in docs/research/patcher-investigation/README.md
If the patched binary fails:
# Restore backup
cp "$(readlink -f "$NEW_BIN").bak" "$(readlink -f "$NEW_BIN")"
# Or revert mise.toml to previous version
| Version | Type | Patcher Status |
|---|---|---|
| v2.1.94 | JS | Text patcher works |
| v2.1.112 | JS | Text patcher works (last JS version) |
| v2.1.113 | Bun ELF | First binary version |
| v2.1.119 | Bun ELF | Binary patcher works (verified) |
See docs/research/patcher-investigation/ for full investigation details.