
mise config explainでmise.tomlのキーの意味とタイプミスを調べる
どうも!オペ部の西村祐二です!
mise.tomlに設定を足したとき、「このキーは何を指定するものか」「スペルを間違えていないか」をターミナルで調べたいことがあります。
mise 2026.10.14で追加されたmise config explainは、TOML内のキーを行番号と説明付きで表示します。認識されないキーを示し、修正候補が見つかれば、その候補も表示します。非推奨のキーには移行先も表示します。
まずはファイルを指定して調べる
mise 2026.10.14以降を導入した環境で、対象ファイルがあるディレクトリから次のコマンドを実行します。
mise config explain --file mise.toml
キー名、行番号、スキーマにある説明が一覧で表示されます。公式リファレンスによると、--fileを省いた場合は、読み込まれた設定ファイルのうち優先度が最も高いものが対象です。mise.local.tomlなどがあると別のファイルを調べてしまうため、--fileで対象を明示しています。なお、複数の設定ファイルをマージした最終値を表示するコマンドではありません。
以下はUbuntu 24.04.5 LTS(ARM64)、Bash、mise 2026.10.23(2026年10月29日時点の最新バージョン)で確認した例です。タイプミスの例は2026.10.14でも同じ出力でした。動作確認はネットワークを切った環境で行い、Node.jsのインストールやタスクの実行はしていません。macOSとWindowsでは試していないので、表示や行番号がLinuxと同じかは確認していません。
タイプミスを入れた設定を調べる
新しいサンプルディレクトリに、次のmise.tomlを作成しました。descriptonとexperimantalは、修正候補を見るために意図的に誤記しています。
[tools]
node = "24"
[tasks.hello]
run = "echo hello"
descripton = "Say hello"
[settings]
experimantal = true
同じコマンドを実行すると、6行目にはdescription、9行目にはexperimentalが候補として出ました。

tasks.hello.runにはscript to run、誤記したキーにはnot a key mise reads; did you mean ...?と表示されました。行番号があるので、エディタで直す場所も分かります。
コマンドの実行前後でファイルのSHA-256が一致し、ファイルが自動修正されないことを確認しました。descriptonをdescription、experimantalをexperimentalに直して再実行すると、2件ともmiseが認識するキーとして表示されました。
tasksだけ、またはJSONで表示する
長いファイルでタスク設定だけを読みたい場合は、末尾にtasksを付けます。
mise config explain --file mise.toml tasks
今回の例ではtasks以下の4行だけが表示され、toolsとsettingsは表示されませんでした。
結果をスクリプトなどで扱うなら、--jsonも使えます。
mise config explain --file mise.toml --json
以下は修正前のmise.tomlで取得したJSONから、誤記したキーの要素を抜き出したものです。
{
"key": "settings.experimantal",
"path": ["settings", "experimantal"],
"line": 9,
"description": null,
"deprecated": false,
"known": false,
"suggestion": "experimental"
}
knownからキーが認識されているか、suggestionから修正候補を読み取れます。誤記の候補だけを拾うなら、標準出力の英文を解析しなくても、knownがfalseの要素を見れば足ります。
非推奨のキーも分かる
古い書き方のキーには、説明の先頭にdeprecated:が付きます。次のようにenv_pathだけを書いたファイルで試しました(mise 2026.10.23で確認)。
env_path = ["./bin"]
1 env_path deprecated: PATH entries to add. Deprecated; use env._.path instead. This will be removed in mise 2027.4.0.
移行先のenv._.pathと、削除予定のバージョンまで分かります。--jsonではdeprecatedがtrueになります。
終了コード0でも、設定が正しいとは限らない
mise 2026.10.23では、今回のタイプミス入りファイルでもconfig explainの終了コードは0でした。CIなどでコマンドの成功だけを見ても、誤記がないとは判断できません。
別のファイルで[tools]のnodeを文字列ではなく整数の24にして調べても、tools.nodeはknown: trueのままでした。整数で書いてmiseが実際に失敗するかは試していませんが、knownはmiseがキーを認識しているかを表す項目で、値の型までは見ていません。
キー名が正しくても、ツールの取得やタスクの実行で失敗するケースは、このコマンドでは見つけられません。ツールの導入やタスクの動作は、別に確かめる必要があります。
編集中に確かめるならmise lsp
mise 2026.10.18では、mise.toml向けの言語サーバーmise lspが追加されました。リリースノートによると、mise lspは未知のキーと修正候補、型の違い、非推奨キーを、編集中のエディタ上に表示します。前の節の整数の24のような値の型の違いは、config explainでは分かりませんが、mise lspの診断の対象です。今回の検証ではmise lspは動かしていません。
config explainはエディタの設定がなくても使え、ファイル全体のキーを一覧で確認できます。エディタで書きながら直すならmise lsp、ターミナルでファイル全体を見直すならconfig explainという使い分けになります。
まとめ
mise config explain --file mise.tomlで、設定キーの意味とタイプミス候補を行番号付きで調べられました。非推奨のキーには移行先も表示されます。見る範囲を絞るならtasks、スクリプトで扱うなら--jsonを付けられます。
ファイルは自動修正されず、終了コード0やknown: trueだけで設定全体の正しさは判断できません。エディタで書きながら確かめるならmise lsp、書いたあとにターミナルでファイル全体を見直すならconfig explainが使えます。
誰かの参考になれば幸いです。
参考リンク:







