fix: auto_install を false に変更して mise shim エラーを修正#410
Conversation
- github:tmux/tmux-builds v3.6a を dot_config/mise/config.toml に追加 - mise:lock タスクで gh auth token から MISE_GITHUB_TOKEN を設定し rate limit を回避
- lazy-lock.yaml: scheduled ジョブで GITHUB_TOKEN → App Token に変更し CI をトリガー可能に - AGENTS.md: task generate (No-op) や dot_claude/*.json 等の古い記述を修正 - .github/workflows/README.md: 全ワークフローの説明を実態に合わせて書き直し
- ci.yaml の push トリガーに lazy-lock-update ブランチを追加 - GITHUB_TOKEN で作成された PR は pull_request イベントをトリガーしないため - lazy-lock.yaml の変更を revert
mise v2026.2.10 (PR #8106) で auto_install 有効時に shims が PATH の フォールバックとして残る仕様変更が入り、残骸 shim が aqua 管理の バイナリより先にヒットしてエラーが発生していた。 chezmoi の run_onchange スクリプトで明示的に mise install するため auto_install は不要。false にすることで従来の shims 除去挙動に戻す。
| [[tools."aqua:cloudflare/cloudflared"]] | ||
| version = "2026.2.0" | ||
| backend = "aqua:cloudflare/cloudflared" | ||
| "platforms.linux-arm64" = { checksum = "sha256:03c5d58e283f521d752dc4436014eb341092edf076eb1095953ab82debe54a8e", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-linux-arm64"} | ||
| "platforms.linux-x64" = { checksum = "sha256:176746db3be7dc7bd48f3dd287c8930a4645ebb6e6700f883fddda5a4c307c16", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-linux-amd64"} | ||
| "platforms.macos-arm64" = { checksum = "sha256:685688a260c324eb8d9c9434ca22f0ce4f504fd6acd0706787c4833de8d6eb17", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-darwin-amd64.tgz"} | ||
| "platforms.macos-x64" = { checksum = "sha256:685688a260c324eb8d9c9434ca22f0ce4f504fd6acd0706787c4833de8d6eb17", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-darwin-amd64.tgz"} |
There was a problem hiding this comment.
🚩 cloudflared の linux/windows プラットフォームエントリがロックファイルから削除されている
このPRのブランチに含まれる dot_config/mise/mise.lock の差分で、aqua:cloudflare/cloudflared のエントリから platforms.linux-arm64、platforms.linux-x64、platforms.windows-x64 が削除されています(dot_config/mise/mise.lock:45-49)。
Taskfile では MISE_PLATFORMS: linux-x64,linux-arm64,macos-x64,macos-arm64,windows-x64 を指定して全プラットフォーム分を生成する設計になっていますが(Taskfile.yaml:38)、このロックファイルは task mise:lock ではなく直接 mise lock が実行された可能性があります。
CLAUDE.md に「mise.lock は実行環境によって結果が異なる既知の問題」「mise.lock の更新は Renovate ワークフローに任せる」と記載があり、CI の diff チェックからも除外されているため、実運用上は Renovate が正しいエントリで上書きします。ただし、Linux 環境で locked = true 相当の厳密な検証を行う場合、該当エントリが欠落していると問題になる可能性があります(現状 locked = false のため影響なし)。
Was this helpful? React with 👍 or 👎 to provide feedback.
| "platforms.macos-arm64" = { checksum = "sha256:685688a260c324eb8d9c9434ca22f0ce4f504fd6acd0706787c4833de8d6eb17", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-darwin-amd64.tgz"} | ||
| "platforms.macos-x64" = { checksum = "sha256:685688a260c324eb8d9c9434ca22f0ce4f504fd6acd0706787c4833de8d6eb17", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-darwin-amd64.tgz"} |
There was a problem hiding this comment.
📝 Info: cloudflared の macos-arm64 が amd64 の URL/checksum を参照している(既存の問題)
dot_config/mise/mise.lock:48 の platforms.macos-arm64 エントリが cloudflared-darwin-amd64.tgz を参照しており、checksum も platforms.macos-x64(dot_config/mise/mise.lock:49)と完全に同一です。
"platforms.macos-arm64" = { checksum = "sha256:685688a...", url = ".../cloudflared-darwin-amd64.tgz"}
"platforms.macos-x64" = { checksum = "sha256:685688a...", url = ".../cloudflared-darwin-amd64.tgz"}
これは cloudflared が macOS 向けにユニバーサルバイナリ(amd64 名義だが arm64 も含む)を配布している可能性が高く、mise/aqua のレジストリがそのように定義しているためと思われます。PR 以前(main ブランチ)でも同じ状態だったため、このPRで導入された問題ではありません。
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4389029250
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| [[tools."aqua:cloudflare/cloudflared"]] | ||
| version = "2026.2.0" | ||
| backend = "aqua:cloudflare/cloudflared" | ||
| "platforms.linux-arm64" = { checksum = "sha256:03c5d58e283f521d752dc4436014eb341092edf076eb1095953ab82debe54a8e", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-linux-arm64"} | ||
| "platforms.linux-x64" = { checksum = "sha256:176746db3be7dc7bd48f3dd287c8930a4645ebb6e6700f883fddda5a4c307c16", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-linux-amd64"} | ||
| "platforms.macos-arm64" = { checksum = "sha256:685688a260c324eb8d9c9434ca22f0ce4f504fd6acd0706787c4833de8d6eb17", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-darwin-amd64.tgz"} | ||
| "platforms.macos-x64" = { checksum = "sha256:685688a260c324eb8d9c9434ca22f0ce4f504fd6acd0706787c4833de8d6eb17", url = "https://github.com/cloudflare/cloudflared/releases/download/2026.2.0/cloudflared-darwin-amd64.tgz"} |
There was a problem hiding this comment.
cloudflared の非 macOS ロック URL を復元する
この変更で aqua:cloudflare/cloudflared の lockfile エントリが macOS の 2 プラットフォームだけになり、platforms.linux-* と platforms.windows-x64 の URL/チェックサムが消えています。mise install --help には --locked(または MISE_LOCKED=1)時に「現在のプラットフォーム向け pre-resolved URL が lockfile に無いと失敗する」と明記されているため、Linux/Windows では mise install --locked が No lockfile URL found で失敗しますし、通常モードでも該当 OS では URL 固定が効かず再現性が下がります。
Useful? React with 👍 / 👎.
問題
Ghostty / VSCode で dotfiles ディレクトリを開くと以下のエラーが発生:
根本原因
1. 残骸 shim
PR #322 (
89aa3f1, Jan 5) で zoxide を mise → aqua CLI に移行した際、~/.local/share/mise/shims/zoxideと~/.local/share/mise/installs/aqua-ajeetdsouza-zoxide/0.9.8/が残った。mise reshimは「インストール済みの全ツール」から shim を生成するため、インストールディレクトリが残っている限り shim が再生成され続けていた。→
mise uninstall aqua:ajeetdsouza/zoxide@0.9.8で別途解消済み2. mise v2026.2.10 の "Shims as PATH fallback" 変更
PR jdx/mise#8106 により、
auto_install(not_found_auto_install)有効時、mise activate zshが shims ディレクトリを PATH から除去しなくなった。この変更の意図:
v2026.2.9 以前:
mise activate zshは.zprofileのmise activate zsh --shimsで追加された shims を PATH から明示的に除去していたv2026.2.10 以降: shims が PATH にフォールバックとして残る
diff <(mise-2026.2.9 activate zsh) <(mise-2026.2.11 activate zsh)で確認:v2026.2.9 にあった shims 除去の
export PATH=...行が v2026.2.11 で削除されている。エラー発生の流れ
shims フォールバックの設計上の問題
mise reshimは config で active でないインストール済みツール全ての shim も生成する。v2026.2.10 以降、activate 時に shims が PATH フォールバックとして残る仕様になったため、
mise 管理から別ツール管理に移行したツールで古い shim が本物のバイナリより先にヒットし得る。
修正
.mise.tomlのauto_installをtrue→falseに変更。auto_install = falseにすることで shims フォールバックが無効化され、従来の shims 除去挙動に戻る~/.config/mise/config.toml) もauto_install = falseであり、プロジェクト config のみtrueだった検証
MISE_AUTO_INSTALL=false mise activate zshの出力で shims 除去行の復活を確認済み。zsh -l -i -c 'exit' 2>&1→ mise エラーなし関連リンク