🔧 TECH ARTICLE 🔧
〜 T-06 〜
🔧 T-06 | Claude Code × LM Studio でローカルLLM開発環境を構築する
〜API料金ゼロ・ネット不要で動くAIコーディング環境の作り方〜
⚙️ はじめに
💬 ミク「ハルさん、Claude CodeのAPI料金が気になってて…。毎月いくらかかるかわからなくて怖いんですよね。」
💬 ハル「それ、LM Studioを使えば解決できるよ。自分のPC上でAIモデルを動かして、Claude Codeをクラウドなし・料金ゼロで使えるようになる。」
💬 ミク「え、無料でClaude Codeが使えるんですか?」
💬 ハル「正確にはAnthropicのモデルじゃなくてローカルモデルを動かすんだけど、Claude Codeのインターフェースや機能はそのまま使える。飛行機の中でもオフラインで動くよ。所要時間は約15分!」
この記事を読み終わると、こんな環境が手に入ります:
  • 毎月のAPI料金が0円 — 自分のPCでAIが動くので課金なし
  • ネットがなくても使える — 飛行機の中でもコーディングできる
  • Claude Codeの機能がそのまま使える — Skills、Agent、Toolsなどの便利な機能はそのまま
  • スマホからも同じ環境にアクセス可能 — SSH接続で外出先からも使える

⚙️ そもそもの仕組み — なぜこれが動くの?
💬 ミク「仕組みから知りたいんですが、どうして普通のClaude CodeがローカルのAIと話せるんですか?」
💬 ハル「LM Studio 0.4.1以降がAnthropicの通信フォーマットに対応したんだ。Claude Codeから見ると『いつものAnthropicサーバー』に見えるから、改造なしでそのまま動く。」
通信フローの違い
【普段の使い方】
  あなたのPC(Claude Code)
       ↓ インターネット経由
  Anthropicのサーバー(Claude Sonnet / Opus)
       ↓
  回答が返ってくる(※ここでAPI料金が発生)


【ローカルLLM構成】
  あなたのPC(Claude Code)
       ↓ PC内部の通信(インターネット不要)
  LM Studio(AIモデルを動かすアプリ)
       ↓
  回答が返ってくる(※料金ゼロ!)
LM Studio 0.4.1以降には、Anthropicの通信方式と同じ形式でやりとりできる機能が内蔵されています。Claude Codeからすると「いつものAnthropicサーバーと話している」ように見えるので、特別な改造なしでそのまま動くわけです。

⚙️ 構築に必要なもの
事前準備チェックリスト
必要なもの 説明
🖥️ パソコン Mac、Windows、Linuxのいずれか
💾 メモリ(RAM) 16GB以上(できれば32GB以上だと快適)
Claude Code Anthropicの公式CLIツール(事前にインストール済みであること)
📦 ストレージ 数GBの空き容量(AIモデルのダウンロードに必要)
Claude Codeがインストールされているか確認するには、ターミナルで以下を実行します:
claude --version
バージョン番号が表示されればOKです。

⚙️ 構築手順 — 4ステップで完了
全体の流れ
STEP 1: LM Studioをインストールして起動する  (5分)
    │
    ▼
STEP 2: AIモデルをダウンロードしてセットする  (5〜10分)
    │
    ▼
STEP 3: Claude Codeの接続先を変更する        (1分)
    │
    ▼
STEP 4: 動作確認                             (1分)
    │
    ▼
完了! 合計 約15分
Step 1: LM Studioをインストールしてサーバーを起動する
LM Studioは、自分のPCでAIモデルを動かすための無料アプリです。
公式サイトからお使いのOSに合ったものをダウンロードしてください:
https://lmstudio.ai/download

対応OS: Mac / Windows / Linux
ダウンロードしたらインストールして、一度アプリを起動してください。
⚠️ 🔐 Linuxユーザーへの注意: LinuxではAppImage形式で配布されています。
chmod +x LM_Studio-*.AppImage
./LM_Studio-*.AppImage
重要: Linuxでは、必ず一度GUIを起動してください。これをスキップすると、後で使うコマンドラインツール(lms)がLM Studioを見つけられず、エラーになります。
LM Studioを起動したら、次にターミナルで「サーバーモード」を起動します:
# サーバーを起動(ポート1234で待ち受け)
lms server start --port 1234
起動できたか確認しましょう:
lms status
Server: ON
Port: 1234
✅ こう表示されれば成功です。
Step 2: AIモデルをダウンロードしてセットする
💬 ミク「モデルって何を選べばいいんですか?種類が多すぎて迷います…。」
💬 ハル「最初はibm/granite-4-micro一択でOK。軽くて速くて、日常のコーディング作業には十分だよ。」
LM Studioの中で動かすAIモデルを取得します:
# モデルをダウンロード(数分かかります)
lms get ibm/granite-4-micro
ダウンロードが終わったら、モデルを「ロード」(メモリに読み込み)します:
# モデルをメモリに読み込む
lms load ibm/granite-4-micro --context-length 32768
--context-length はAIが一度に覚えていられる文章の量です:
設定値 どうなるか
4096 ❌ Claude Codeでは使えません(すぐに「記憶」があふれます)
16384 ⚠️ 最低限。短い会話ならなんとか
32768 おすすめ。日常作業にはこれで十分
65536 🚀 メモリに余裕がある方向け
Claude Codeは裏側でたくさんの情報(計画、差分、ツール情報、会話の履歴など)を同時に扱うので、32768(32K)以上を推奨します。
モデルがちゃんとロードされたか確認:
lms ps
✅ granite-4-micro が表示されていればOKです。
Step 3: Claude Codeの接続先をローカルに切り替える
ここが今回のキモです。たった2行のコマンドで、Claude Codeの接続先が「Anthropicのクラウド」から「自分のPCのLM Studio」に切り替わります。
export ANTHROPIC_BASE_URL=http://localhost:1234
export ANTHROPIC_AUTH_TOKEN=lmstudio
  • ANTHROPIC_BASE_URL — Claude Codeが「どこに接続するか」を決める設定。localhost:1234 は「自分のPC上のポート1234番」という意味
  • ANTHROPIC_AUTH_TOKEN — 認証用の文字列。LM Studioは認証チェックをしないので、なんでもOKです(lmstudio はダミーの値)
ターミナルを開くたびに設定するのが面倒なら、.bashrc に永続化します:
echo 'export ANTHROPIC_BASE_URL=http://localhost:1234' >> ~/.bashrc
echo 'export ANTHROPIC_AUTH_TOKEN=lmstudio' >> ~/.bashrc
source ~/.bashrc
Step 4: Claude Codeを起動して動作確認
いよいよ起動です:
claude --model ibm/granite-4-micro
✅ 以下のようになれば成功:
– Claude Codeのプロンプトが表示される
– 質問を入力すると返答が返ってくる
– API料金に関する表示が出ない
💬 ミク「動いた!!なんか感動しますね、ローカルで動いてるって実感があって。」
💬 ハル「そうそう、初回は嬉しいよね。これで毎月の請求を気にせず好きなだけ試せる。」

💡 ⚙️ もっと便利に使うためのTips
便利ツール: claude-local コマンド
毎回環境変数を設定するのが面倒なら、専用のコマンドを作ってしまいましょう:
# ~/bin ディレクトリを作成
mkdir -p ~/bin

# claude-local コマンドを作成
cat > ~/bin/claude-local << 'SCRIPT'
#!/usr/bin/env bash
export ANTHROPIC_BASE_URL=http://localhost:1234
export ANTHROPIC_AUTH_TOKEN=lmstudio
exec claude "$@"
SCRIPT

# 実行権限を付与
chmod +x ~/bin/claude-local

# パスに追加
export PATH="$HOME/bin:$PATH"
以降は claude-local と打つだけでローカルLLMにつながります。クラウド版を使いたいときは通常の claude を使えばいいので、使い分けも簡単です。
VS Codeから使う場合
VS Codeの Claude Code 拡張機能を使っている方は、settings.json に以下を追加してください:
"claudeCode.environmentVariables": [
  {
    "name": "ANTHROPIC_BASE_URL",
    "value": "http://localhost:1234"
  },
  {
    "name": "ANTHROPIC_AUTH_TOKEN",
    "value": "lmstudio"
  }
]
VS Code を再起動すると、拡張機能がローカルLLMに接続します。
スマホから使う(SSH経由)
自宅にLM Studioが動いているPCがあれば、外出先からスマホでSSH接続して同じClaude Code環境を使えます:
あなたのスマホ(TERMIUSアプリ)
    │
    ▼ SSH接続(インターネット経由)
自宅のPC(LM Studio + Claude Code)
    │
    ▼
回答が返ってくる
サーバー側で .bashrc に環境変数を設定済みなら、SSH接続するだけで自動的にローカルLLM構成になります。
活用シーン:
– 🚃 通勤電車で5分 → 昨日のPRをレビュー
– ☕ 昼休みに10分 → 設計メモを整理
– 🛋️ 帰宅後に15分 → じっくり設計検討

⚙️ モデルの選び方と使い分け
💬 ミク「granite以外のモデルも試してみたいんですけど、どんな基準で選べばいいですか?」
💬 ハル「日常用と本気モードで2本立てで使い分けるのがおすすめ。軽量モデルを常時ロードして、重い作業のときだけ大型に切り替える。」
普段使い: granite-4-micro(軽量・高速)
特徴 内容
📦 サイズ 軽量(数GB)
⚡ 速度 高速
💾 必要メモリ 16GB〜
✅ 得意なこと コードレビュー、差分の要約、設計の整理
⚠️ 苦手なこと 自由な発想、クリエイティブな生成
日常作業にはこれで十分です。常時ロードしておいて、いつでも使える状態にしておくのがおすすめです。
本気モード: gpt-oss-120b(大型・高性能)
特徴 内容
📦 サイズ 62.76 GB(大きい!)
⚡ 速度 数十秒〜数分/回答(CPUだと遅い)
💾 必要メモリ 64GB〜(推奨96GB)
✅ 得意なこと 深い思考が必要な設計検討、複雑な推論
⚠️ 苦手なこと 長時間の連続使用(メモリ消費が激しい)
必要なときだけロードして使う「スポット運用」がおすすめです。
モデルの切り替え方
# 日常はgraniteを使う
lms load ibm/granite-4-micro --context-length 32768

# 本気タスクのとき → graniteをおろして120Bに切り替え
lms unload ibm/granite-4-micro
lms load gpt-oss-120b --context-length 32768

# 終わったらgraniteに戻す
lms unload gpt-oss-120b
lms load ibm/granite-4-micro --context-length 32768
やってはいけないこと:
– 2つのモデルを同時にロードする → メモリ不足でPCがフリーズする可能性あり
– 120Bで長時間作業する → CPU推論だととても遅い
– context-length 65536を常用する → メモリを大量消費する

⚙️ Python SDKからの利用
💬 ミク「Pythonのコードからも使えるんですか?」
💬 ハル「Anthropicの公式Python SDKがそのまま使える。base_url を1行変えるだけでローカルに繋がる。」
SDK接続コード
from anthropic import Anthropic

# 接続先をローカルに変更するだけ
client = Anthropic(
    base_url="http://localhost:1234",
    api_key="lmstudio",
)

message = client.messages.create(
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello from LM Studio"}],
    model="ibm/granite-4-micro",
)

print(message.content)
Anthropicの公式Python SDKがそのまま使えます。base_url を変えるだけです。

⚙️ 困ったときは — トラブルシューティング
こんな症状が出たら 原因 対処法
❌ Claude Codeがクラウドに接続してしまう 環境変数が設定されていない echo $ANTHROPIC_BASE_URL で確認。空なら STEP 3 をやり直す
❌ 「接続できない」エラーが出る LM Studioのサーバーが起動していない lms status で確認。ONでなければ lms server start --port 1234
❌ 何も返答がない AIモデルがロードされていない lms ps で確認。何も表示されなければ STEP 2 をやり直す
⚠️ ENOENT エラー(Linuxのみ) LM StudioのGUIを起動していない 一度GUIアプリを起動してから、再度コマンドを試す
⚠️ 途中で会話がおかしくなる context-lengthが小さすぎる --context-length 32768 以上でモデルを再ロードする
⚠️ Tool呼び出しが動かない モデルが対応していない granite か gpt-oss を使う
⚠️ 回答が異常に遅い 大型モデルをCPUで動かしている graniteに切り替える。GPUがあれば改善される

⚙️ まとめ
構築に必要なもの:

  ソフトウェア:  LM Studio + Claude Code CLI
  AIモデル:     ibm/granite-4-micro(日常用)
  設定:        環境変数たった2つ
  構築時間:     約15分

手に入るもの:

  ✅ 毎月のAPI料金ゼロ
  ✅ ネットなしでも動く
  ✅ Claude Codeの機能がそのまま使える
  ✅ スマホからも同じ環境にアクセス
  ✅ モデルを切り替えて用途に合わせた使い分けができる
💬 ミク「月0円でAIコーディング環境が使えるって、個人開発者にとっては嬉しすぎますね。」
💬 ハル「graniteのような軽量モデルでも、CLAUDE.md(プロジェクトごとの設定ファイル)で振る舞いを固定すれば十分に頼れる作業パートナーになるよ。まずLM Studioをインストールしてみて。」

⚙️ 参考リンク

この記事はLM StudioとClaude Codeを使ったローカルLLM開発環境の構築記録です。
⚙️ Tech Series – T-06 🔧
Engineering the future…