Claude Media
Claude CodeとKimi Code CLIの違い — 旧Kimi CLIからの移行手順も解説

Claude CodeとKimi Code CLIの違い — 旧Kimi CLIからの移行手順も解説

Claude CodeとKimi Code CLIを、導入・認証・モデル・MCP・権限モデルで比較します。アーカイブされた旧Kimi CLIからkimi migrateで移せるもの・移せないものも扱います。

Kimi Code CLIは、Moonshot AIのKimiモデルを標準にした、ターミナル常駐のコーディングエージェントです。Claude Codeと同じ「ターミナルで動くエージェント」ですが、前提になるモデルと契約が違います。Claude CodeはClaudeのサブスクリプションまたはAPIで動き、Kimi Code CLIは/loginでKimi Codeのアカウントか、Moonshot AIのAPIキーを選びます。

もう一つ、名前が紛らわしい旧Kimi CLI(Python版)は、リポジトリがアーカイブされて更新が止まりました。新しいKimi Code CLIへの移行手順も、後半で扱います。

Claude CodeとKimi Code CLIの違いを一覧で見る

観点Claude CodeKimi Code CLI
標準のモデルClaude CodeClaudeモデルKimi Code CLIKimiモデル(他社モデルも設定可)
ログインClaude CodeClaudeのサブスクリプション / Consoleアカウント / クラウドプロバイダーKimi Code CLIKimi Code OAuth / Moonshot AIのAPIキー
MCPの追加Claude Codeclaude mcp add コマンドKimi Code CLI/mcp-config と mcp.json
設定の置き場所Claude Code~/.claude と ~/.claude.jsonKimi Code CLI~/.kimi-code/
Windowsの前提Claude CodeGit for Windowsは任意(推奨)Kimi Code CLIGit for Windowsが必須

導入の違い — インストールとWindowsの前提

どちらも公式のインストールスクリプトが第一の選択肢です。

# Claude Code
curl -fsSL https://claude.ai/install.sh | bash
 
# Kimi Code CLI
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash
kimi --version

Kimi Code CLIはスクリプト経由ならNode.jsが不要です。npmで入れる場合はNode.js 22.19.0以上が要り、パッケージ名は@moonshot-ai/kimi-codeです。旧版のPython/uv版とは実装が別物で、新版はTypeScriptで書かれ、Node.jsの上で動きます。

Windowsの前提は、両者で重さが違います。

  • Kimi Code CLI: 初回起動の前にGit for Windowsが必要。同梱のGit Bashをシェル環境に使う。Git Bashが標準以外の場所にあるなら、KIMI_SHELL_PATHにbash.exeの絶対パスを設定する
  • Claude Code: Git for Windowsは推奨だが任意。未導入ならPowerShellツールでシェルコマンドを実行する。Git Bashを見つけられないときは、settings.jsonのenvにCLAUDE_CODE_GIT_BASH_PATHを書く

Windowsでの立ち上げ失敗が多いなら、Claude Codeのinstall完全ガイドのOS別手順も参照してください。

認証とモデル選択の違い

Claude Codeの初回起動では、ブラウザでの認証に進みます。対象はClaudeのPro・Max・Team・Enterprise、Claude Consoleのアカウント、対応クラウドプロバイダー経由の3系統です。環境変数ANTHROPIC_API_KEYがあると、ログインの代わりにそのキーを承認する流れになります。ログイン方法の使い分けはClaude Codeログイン方法3種の使い分けに詳しくあります。

Kimi Code CLIは、初回に/loginを実行して選びます。

  • Kimi Code(OAuth): 認証コードを別の端末で入力する方式
  • Kimi Platform APIキー: platform.kimi.comまたはplatform.kimi.aiで発行したキー

同じKimiでも、課金の経路が違う点に注意が必要です。Kimi Codeの会員プランの利用枠はAnthropic互換のBase URL(https://api.kimi.com/coding/)で、サブスクリプションの利用枠を使います。Kimi Open Platformは別のBase URLで、従量課金です。キーとBase URLの組み合わせを取り違えると、/loginのモデル一覧が空になります。

モデルの切り替えは、Kimi Code CLIでも/modelで行えます。ここまでは同じ操作感です。差が出るのは他社モデルを使うときです。

Kimi Code CLIで他社の供給元を使うには、~/.kimi-code/config.tomlのprovidersに書きます。対応するtypeには、anthropic(Claude系)、openai、google-genai、vertexaiなどがあります。次はAnthropic APIの例です(公式の記載に沿った形)。

[providers.anthropic]
type = "anthropic"
api_key = "sk-ant-xxxxx"
 
[models."claude-opus-4-7"]
provider = "anthropic"

つまりKimi Code CLIからClaudeモデルを呼ぶことはできます。反対に、Claude Codeはモデルの選択肢がClaude系列で、/modelやclaude --modelで切り替えます。ANTHROPIC_BASE_URLは送り先を変える設定で、答えるモデルは送り先とANTHROPIC_MODELで決まります。Anthropic以外の送り先に向ければ、Claude Codeの操作系のままKimiのモデルが答えます。この使い方は後半の節で扱います。

MCPの追加方法の違い

Claude CodeはコマンドでMCPサーバーを足します。HTTPサーバーとstdioサーバーで書き方が違います。

claude mcp add --transport http notion https://mcp.notion.com/mcp
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server
claude mcp get notion

デフォルトのスコープはlocalで、追加したプロジェクトでだけ有効になり、自分にしか見えません。チームで共有するなら--scope projectを付け、プロジェクト直下の.mcp.jsonに書きます。

Kimi Code CLIは、TUIの/mcp-configで会話しながら追加するのが基本です。JSONを手で書くなら、mcp.jsonにmcpServersを置きます。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
    },
    "linear": { "url": "https://mcp.linear.app/mcp" }
  }
}

commandがあればstdio、urlがあってtransportが無ければHTTPと判定されます。ユーザー単位は~/.kimi-code/mcp.json、プロジェクト単位は作業ディレクトリの.kimi-code/mcp.jsonで、同名なら後者が勝ちます。

見落としやすい違いが3つあります。

  • 書き方の落とし穴: Claude Codeはurlがあるのにtypeが無いJSONを設定エラーにする。Kimi Code CLIはtypeが無くてもurlだけでHTTPとして読む
  • OAuth: Kimi Code CLIは/mcp-config login <server-name>でブラウザ認可を行う。Claude Codeは/mcpで認証する
  • 反映のタイミング: Kimi Code CLIでは、mcp.jsonを編集してもすでに開いているセッションには登録されない。新しいセッションから有効になる

Claude Codeのclaude mcp add側の詳細は、Cline→Claude CodeのMCP設定移行でも、JSONの写し方として扱っています。

権限モデルの違い

確認を求める強さの設計が違います。

系統Claude CodeKimi Code CLI
毎回確認するClaude Codedefault(CLIでの表示はManual)Kimi Code CLIAlways Ask(既定)
編集は通すClaude CodeacceptEditsKimi Code CLIAsk When Needed(/yolo)
完全に任せるClaude Codeauto / bypassPermissionsKimi Code CLINever Ask(/auto)
計画だけ立てるClaude CodeplanKimi Code CLIPlan(Shift-Tabか/plan)

Kimi Code CLIの既定は、読み取りだけ自動で通し、変更や実行は毎回確認するAlways Askです。Ask When Neededでも、.envやSSH秘密鍵へのアクセス、rm -rfのような危険なコマンドは確認が残ります。Never Askでは、これらの確認も外れて、コマンドがそのまま実行されます。

Claude Codeのほうは、v2.1.283以降で、対話的な端末セッションの開始時のモードがautoです。分類器が行為を審査し、多くの編集とコマンドを確認なしで通します。以前は、Pro・Max・Teamのプランだけがautoで始まりました。この既定の違いが、両者の第一印象を大きく分けます。「慎重に始まるKimi」と「任せて始まるClaude Code」という対比です。

MCPツールの許可は、どちらもmcp__<server>__<tool>の名前で書きます。mcp__github__*のようにサーバー単位のワイルドカードも使えます。引数は判定に使われない点も共通です。Kimi側の公式ドキュメントは、高リスクなツールは手動承認のままにし、mcp__*で全許可しないよう案内しています。Claude Codeは、括弧付きのmcp__ルールを読み飛ばし、mcp__*の許可ルールも効かせません。

権限モデルの経緯は、Claude Code権限モデルの変遷にまとめています。

指示ファイル・skills・hooksの違い

Claude CodeはCLAUDE.mdを指示の置き場にし、AGENTS.mdがあればそれも読めます。Kimi Code CLIの指示は、~/.kimi-code/にある全体用のAGENTS.mdが中心です。

skillsは、どちらもSKILL.mdを置くディレクトリ形式です。Kimi Code CLIでは、アクティブなskillが/skill:<name>のスラッシュコマンドになります。nameとdescriptionはどちらも必須で、片方でも欠けると解析に失敗します。

サブエージェントとプラグインは、どちらにもあります。Kimi Code CLIのREADMEは、主な特長にsubagentsとplugin marketplaceを挙げています。Claude Codeでは、Agentツールが別のコンテキストウィンドウでサブエージェントを動かします。プラグインは、旧Kimi CLIから新版へ移行されない項目でもあります。

hooksは思想が違います。Kimi Code CLIのhooksは、config.tomlの[[hooks]]に書きます。

[[hooks]]
event = "Notification"
matcher = "task\\.completed"
command = "terminal-notifier -title Kimi -message 'Task done'"

スクリプトの終了コードが0なら通し、2なら止め、それ以外は既定で通します。公式ドキュメントも、エラーやタイムアウトでは止まらない設計(fail-open)を明言しています。したがって、危険な操作を止める最後の砦には向きません。Claude Codeにも、PreToolUseやPostToolUseなど、ツール呼び出しの前後で動くhooksがあります。設定例はClaude Code Hooks完全ガイドにあります。

Kimiの契約でClaude Codeを動かす別ルート

Kimi側の公式ドキュメントには、Claude Codeを使い続けたままKimiのAPIへ向ける手順があります。~/.claude/settings.jsonのenvにBase URLとキーを書きます(次は公式ドキュメントの一部を抜いた形です)。

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.kimi.com/coding/",
    "ANTHROPIC_API_KEY": "あなたのAPIキー",
    "ANTHROPIC_MODEL": "k3-256k"
  }
}

このドキュメントは、ほかにもサブエージェントの既定モデルや、コンテキストの上限を調整する変数も書いています。注意点は3つです。

  • 設定に平文でキーを置くので、リポジトリやdotfilesの公開に注意する
  • settings.jsonのenvは、端末でexportした同名の変数を上書きする
  • 会員のプランによって使えるモデル名と、コンテキストの上限が違う

この方式は、Claude Codeの操作系(権限、hooks、skills)をそのまま使い、モデルだけをKimiにする構成です。Kimi Code CLIに乗り換える話とは別で、Claude Code側の資産を捨てずに済みます。

旧Kimi CLIはアーカイブ済み — kimi migrateで移すもの

Python版のKimi CLI(MoonshotAI/kimi-cli)は、リポジトリがアーカイブされ、読み取り専用になりました。以降のリリース、バグ修正、セキュリティ更新はありません。既存のインストールはサポートされなくなる、と案内されています。不具合や要望は、新しいKimi Code CLIのリポジトリへ出す形です。

移行の流れは次のとおりです。

  1. Kimi Code CLIをインストールする
  2. 新しい端末でkimiを実行する。~/.kimi/に旧データがあると、移行するかを尋ねられる。いつでもkimi migrateで手動実行もできる
  3. /loginをやり直し、MCPサーバーを再認可する
  4. 旧CLIをアンインストールする(uv tool uninstall kimi-cliかbrew uninstall kimi-cli)

移行される範囲は、次のとおりです。

種別扱い
設定(config.toml)扱い移行される
MCPサーバーの設定扱い移行される
入力履歴扱い移行される
チャットセッション扱い選んだ分だけ移行される
ログイン(OAuth)の資格情報扱い移行されない
MCPサーバーの認可扱い移行されない
旧CLIのプラグイン扱い移行されない

~/.kimi/の元データは変更も削除もされないので、旧版の環境はそのまま残ります。ただし更新は止まっているので、当面の併用にとどめる形になります。移行は繰り返し実行でき、取り込み済みのセッションは重複しません。取り込まれたセッションには[imported]のマークが付きます。

もう一点、PyPIのkimi-codeは新しいKimi Code CLIではありません。旧kimi-cliの別名で、こちらもアーカイブされています。新版の入手はインストールスクリプト、Homebrewのbrew install kimi-code、npmの@moonshot-ai/kimi-codeのいずれかです。

旧CLIのkimi mcp addサブコマンドで設定した人は、新版では/mcp-configとmcp.jsonが正規の窓口になる点も覚えておくと安全です。

使い分けの目安

  • Claudeモデルで長い自律セッションを回したい、CLAUDE.mdとhooksで運用ルールを組みたい: Claude Code
  • Kimiモデルと、動画入力(画面録画を貼って読ませる)を使いたい: Kimi Code CLI
  • 1つの端末でClaudeとKimiの両方のモデルを触りたい: Kimi Code CLIのprovider設定か、Claude CodeのANTHROPIC_BASE_URL
  • 旧Kimi CLIを使っている: 更新が止まっているので、kimi migrateで新版へ

ほかのIDE型・CLI型のエージェントとの違いは、Claude CodeとKiroの比較でも扱っています。

まとめ

Claude CodeとKimi Code CLIの違いは、標準のモデルと契約、MCPの足し方、権限の初期値の3点に集まります。導入はどちらもワンコマンドで、Windowsだけ前提が違います。旧Kimi CLIを使っているなら、移行の作業はkimi migrateと、ログインとMCP認可のやり直しです。

この記事を共有:XはてブLinkedIn