【Windows】Claude CodeでGLM Coding Planを使いやすくする方法
はじめに
この記事は、金のニワトリさんの以下の記事を参考に、Windows(PowerShell)向けに手順を整理したものです。
参考: https://zenn.dev/robustonian/articles/glm_coding_plan
元記事は Mac/Linux の例が中心なので、Windowsで「コマンドで切り替える」形(claude / claude-glm)に寄せてまとめます。
この記事でやること
Claude Code で GLM Coding Plan(GLM-4.7) を使えるようにします。
普段は claude、コストを抑えたいときは claude-glm のように、同じターミナル内でも切り替えできる状態を作ります。
この記事のゴール
| コマンド | 使う先 | 用途 |
|---|---|---|
claude |
Claude(Anthropic側) | 通常利用 |
claude-glm |
GLM-4.7(Z.AI経由) | コスト抑えたい時 |
前提条件
- Windows 10/11
- Claude Code インストール済み
- GLM Coding Plan 契約済み
- APIキー取得済み
契約/キー管理:
- 契約:
https://z.ai/subscribe - APIキー:
https://z.ai/manage-apikey/apikey-list
設定手順
STEP 0(おすすめ): APIキーはプロファイルに直書きしない
PowerShell の $PROFILE にAPIキーを直接書くのは避けたいので、ユーザー環境変数に入れます。
setx ZAI_API_KEY "YOUR_API_KEY_HERE"
注意:
setxで保存した環境変数は 新しく開いたターミナルから反映されます。
すぐ試したい場合は、このセッションだけ一時的にセットしてもOKです。$env:ZAI_API_KEY = "YOUR_API_KEY_HERE"
STEP 1: PowerShellプロファイルを開く
notepad $PROFILE
「ファイルが存在しません。作成しますか?」と出たら「はい」。
もし作れない場合は先にこれ:
New-Item -Path $PROFILE -Type File -Forceその後に
notepad $PROFILE
STEP 2: 関数を追記(claude-glm)
メモ帳の末尾に以下を追加します。
この関数は、claude-glm 実行中だけ環境変数を GLM(Z.AI)向けに切り替え、終了時に 元の環境変数へ復元します。
そのため 同じターミナルで claude に戻すことができます。
# ==========================================================
# GLM Coding Plan for Claude Code (Windows / PowerShell)
# - claude-glm 実行中だけ Z.AI (GLM) に向ける
# - 終了後に環境変数を復元する(同一ターミナルでも切り替えOK)
# ==========================================================
function claude-glm {
# APIキーはユーザー環境変数から読む(setx ZAI_API_KEY ...)
if ([string]::IsNullOrEmpty($env:ZAI_API_KEY)) {
Write-Error "ZAI_API_KEY が未設定です。`n例: setx ZAI_API_KEY ""YOUR_API_KEY_HERE"""
return
}
# 退避(元の値を覚えておく)
$backup = @{
ANTHROPIC_AUTH_TOKEN = $env:ANTHROPIC_AUTH_TOKEN
ANTHROPIC_BASE_URL = $env:ANTHROPIC_BASE_URL
API_TIMEOUT_MS = $env:API_TIMEOUT_MS
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = $env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
ANTHROPIC_DEFAULT_HAIKU_MODEL = $env:ANTHROPIC_DEFAULT_HAIKU_MODEL
ANTHROPIC_DEFAULT_SONNET_MODEL = $env:ANTHROPIC_DEFAULT_SONNET_MODEL
ANTHROPIC_DEFAULT_OPUS_MODEL = $env:ANTHROPIC_DEFAULT_OPUS_MODEL
}
try {
# GLM (Z.AI) 側に切り替え
$env:ANTHROPIC_AUTH_TOKEN = $env:ZAI_API_KEY
$env:ANTHROPIC_BASE_URL = "https://api.z.ai/api/anthropic"
$env:API_TIMEOUT_MS = "3000000"
# 任意:不要な通信を抑える(環境によっては外してOK)
$env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"
# Claude Code の「モデル種別」→ GLM のモデル名に割り当て
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL = "glm-4.5-air"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL = "glm-4.7"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL = "glm-4.7"
# 引数はそのまま渡す(PowerShellは @args が安全)
claude @args
}
finally {
# 復元(元が未設定なら削除)
foreach ($k in $backup.Keys) {
if ([string]::IsNullOrEmpty($backup[$k])) {
Remove-Item "Env:\$k" -ErrorAction SilentlyContinue
} else {
Set-Item "Env:\$k" $backup[$k]
}
}
}
}
保存してメモ帳を閉じます。
STEP 3: 設定を反映
. $PROFILE
STEP 4: 動作確認
GLM側で起動:
claude-glm
起動後、/status で Model が glm-4.7 になっていればOKです。
通常のClaudeに戻す:
claude
※ claude-glm は終了時に環境変数を戻しているので、同じターミナルでも切り替えできます。
トラブルシューティング
1) ZAI_API_KEY が未設定です と出る
setx は「保存」はできても、いま開いている PowerShell には反映されません。
自分も setx 直後に claude-glm を叩いて「未設定」になりました。
対処A(おすすめ): PowerShellを開き直す
setx 後は、新しいタブ/ウィンドウで PowerShell を起動し直してから実行します。
claude-glm
対処B(すぐ試したい): このセッションだけ一時セット
$env:ZAI_API_KEY = "YOUR_API_KEY_HERE"
claude-glm
確認: いまのセッションに入っているか
$env:ZAI_API_KEY
2) claude-glm が見つからない
プロファイルが読み込まれていないか、編集したプロファイルが違う可能性があります。
まずは現在のプロファイルパスを確認:
$PROFILE
PowerShell 5.1(powershell.exe)と PowerShell 7(pwsh.exe)は $PROFILE の場所が別です。
Claude Code をどのシェルで起動しているかに合わせて、該当するプロファイルへ追記してください。
反映:
. $PROFILE
参考
- Z.AI docs:
https://docs.z.ai/scenario-example/develop-tools/claude - 参考にした記事:
https://zenn.dev/robustonian/articles/glm_coding_plan
この記事の作成について(生成AIの利用)
この記事は、下書きと文章の整形に生成AIを補助的に使いました。
ただし、掲載している手順・コマンドは筆者環境(Windows / PowerShell)で動作確認したものだけを反映しています。
Discussion