見出し画像

Claude CodeとLM Studioのモデルをコマンドひとつで切り替える

LM Studio 0.4.1からAnthropicのエンドポイントがサポートされ、Claude CodeからLM Studioで動作するローカルLLMを呼び出せるようになりました。

ローカルLLMを使えば、APIの利用料金を気にすることなく、手元のマシンだけで完結する開発環境を構築できます。ネットワーク接続が不安定な環境でも安心して使えるのは嬉しいポイントです。

この記事では、公式で紹介されている基本的な使用方法に加えて、コマンドひとつでClaudeのモデルとLM Studioのモデルを切り替える方法をご紹介します。


確認環境

  • macOS Tahoe 26.2

  • Claude Code 2.1.27

  • LM Studio 0.4.1(Build 1)


LM Studioとは

LM Studioは、ローカル環境でLLMを動かすためのデスクトップアプリケーションです。GUIでモデルのダウンロードや管理ができ、ローカルサーバーとしてAPIを提供する機能も備えています。

今回のポイントは、LM StudioがAnthropic互換のAPIエンドポイントを提供するようになったことです。これにより、Claude Codeの接続先をLM Studioのローカルサーバーに向けるだけで、ローカルLLMをClaude Codeのインターフェースで利用できるようになりました。


LM Studio公式の使用方法

Claude CodeでLM Studioのモデルを使用する方法は、公式ページで解説されています。

ここでは、公式の手順を簡単にまとめておきます。


1. LM Studioのローカルサーバーを開始する

ターミナルから開始する場合は、以下のコマンドを実行します。

lms server start --port 1234

GUIから開始する場合は、[Developer]タブ → [Local Server] → [Status]スイッチをONにします。

画像
LM Studioのローカルサーバーを起動

コンテキストサイズは、「最低でも25K(25000)トークン」というガイドがありますので、ひとまず、コンテキスト長は「32768」(2の15乗)に設定しておきました。


2. 環境変数を設定する

ターミナルで以下のコマンドを実行し、Claude Codeの接続先をLM Studioに向けます。

export ANTHROPIC_BASE_URL=http://localhost:1234
export ANTHROPIC_AUTH_TOKEN=lmstudio

「ANTHROPIC_BASE_URL」でAPIの接続先をローカルサーバーに変更し、「ANTHROPIC_AUTH_TOKEN」には任意の文字列(ここでは「lmstudio」)を設定します。


3. Claude Codeを起動する

「--model」オプションでLM Studioに読み込まれているモデルを指定して起動します。

claude --model openai/gpt-oss-20b

これで、Claude CodeからLM Studioのモデルを利用できるようになります。


コマンドで簡単に切り替える

公式の方法でも問題なく動作しますが、毎回環境変数を設定するのは少し手間がかかります。また、Claudeのモデルに戻したいときに環境変数を解除するか、ターミナルを立ち上げ直す必要もあります。

そこで、LM Studio専用の設定ディレクトリを用意し、起動コマンドで切り替えるという方法をご紹介します。この方法を使えば、以下のようにコマンドを使い分けるだけで済むようになります。

  • claude コマンド → Claudeのモデル(Opus / Sonnet / Haiku)を使用

  • claude-lms コマンド → LM Studioのモデルを使用


1. LM Studio用の設定ディレクトリを作成する

まず、ユーザーのホームディレクトリに「~/.claude-lms/」というディレクトリを作成します。

作成したディレクトリ内に「settings.json」ファイルを作成し、以下の内容を記述します。

  • ~/.claude-lms/settings.json

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "lmstudio",
    "ANTHROPIC_BASE_URL": "http://localhost:1234"
  }
}

Claude Codeは「CLAUDE_CONFIG_DIR」環境変数で設定ディレクトリの場所を変更できるため、この仕組みを利用してLM Studio用の設定を分離します。

補足
「~/」はログインユーザーのホームディレクトリを指しています。macOSの場合、絶対パスでは「/Users/[ログインユーザー名]」と同じです。
「.」から始まるファイルやディレクトリは隠しファイルとして扱われるため、Finderでは「⌘ + ⇧ + .」で表示と非表示を切り替えられます。


2. コマンドを登録する

次に、「~/.zshrc」ファイルを開き、末尾に以下の行を追記して保存します。ファイルが存在しない場合は、新規に作成して記述します。

# LM Studio専用の設定ディレクトリを使ってClaude Codeを起動
alias claude-lms='CLAUDE_CONFIG_DIR="$HOME/.claude-lms" claude'

エイリアス(alias)とは、ターミナルのコマンドに別名を付けるシェルの機能です。上記の設定では、「claude-lms」と入力するだけで、LM Studio用の設定ディレクトリを指定した状態でClaude Codeが起動するようになります。


3. 使い方

新しくターミナルを立ち上げて、以下のように実行します。

claude-lms --model openai/gpt-oss-20b

これだけで、環境変数を手動で設定することなく、LM Studioのモデルで起動できます。

Claudeのモデルに戻したいときは、通常どおり「claude」コマンドを使うだけです。切り替えのために環境変数を解除したり再設定したりする必要はありません。

補足
「claude-lms」コマンドの初回実行時は、設定ディレクトリが通常のClaude Codeとは異なるため、初回実行時と同様に初期設定や認証が必要になります。


さらに便利にカスタマイズする

デフォルトモデルの設定

毎回「--model」オプションを指定するのが面倒な場合は、「ANTHROPIC_MODEL」環境変数でデフォルトのモデルを設定できます。

  • ~/.claude-lms/settings.json

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "lmstudio",
    "ANTHROPIC_BASE_URL": "http://localhost:1234",
    "ANTHROPIC_MODEL": "openai/gpt-oss-20b"
  }
}

この設定を行うと、「claude-lms」と入力するだけで指定したモデルで起動するようになります。


/modelコマンドでの切り替え設定

Claude Codeでは、起動後に「/model」コマンドでモデルを変更できます。
LM Studioの複数のモデルを切り替えたい場合は、Haiku・Sonnet・Opusの各スロットにモデルを割り当てておくと便利です。

  • ~/.claude-lms/settings.json

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "lmstudio",
    "ANTHROPIC_BASE_URL": "http://localhost:1234",
    "ANTHROPIC_MODEL": "openai/gpt-oss-20b",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "google/gemma-3-4b",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "google/gemma-3-12b",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "openai/gpt-oss-20b"
  }
}

上記の例では、以下のように対応します。

  • Haiku → gemma-3-4b(軽量モデル)

  • Sonnet → gemma-3-12b(中量モデル)

  • Opus → gpt-oss-20b(大型モデル)

モデルのサイズ感に合わせてスロットを割り当てておくと、用途に応じた使い分けがしやすくなるのではないでしょうか。


おわりに

LM StudioのAnthropicエンドポイント対応によって、Claude Codeという優れたインターフェースをローカルLLMでも活用できるようになりました。

設定ディレクトリの分離とエイリアスを組み合わせることで、Claudeのモデルとローカルモデルをコマンドひとつで切り替えられる環境が手に入ります。

ローカルLLMの性能は日々向上しています。APIとローカル、それぞれの良さを使い分けながら、自分に合った開発環境を探してみてはいかがでしょうか。

いいなと思ったら応援しよう!

ピックアップされています

重要

  • 14本

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
名古屋在住のソフトウェアエンジニア。自動車業界での組み込み開発とフルスタックWeb開発の経験をもとに、生成AI時代でも通用する開発の考え方やプロセスを発信しています。初心者にも伝わる言葉で、「なぜそう考えるのか」「どう実務に使うのか」を大切に書いています。
Claude CodeとLM Studioのモデルをコマンドひとつで切り替える|杉本 和彦
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1