Claude Code 接入 LM Studio 完整指南
本文介绍了如何将ClaudeCode连接到本地LMStudio模型的方法。主要内容包括:1. 配置ClaudeCode使用本地API而非Anthropic订阅服务;2. 设置全局配置文件和PowerShell快捷命令;3. 实现多模型动态加载和热切换功能;4. 推荐日常使用的三个主力模型分工方案;5. 提供完整的PowerShell配置模板和启动脚本。文章还详细说明了常见问题解决方法,如认证冲突等
Claude Code 接入 LM Studio 完整指南
这份文档记录了如何让 Claude Code 改走本机 LM Studio 的本地模型,而不是依赖 Anthropic 订阅,并补充了全局配置、动态加载、热切换、PowerShell 别名等高阶用法。

目录
8.3 claude --model ... 或 /model ...
16. 附录 A:可直接使用的 PowerShell $PROFILE 模板
17. 附录 B:开机自动启动 LM Studio 和常用模型的脚本模板
18. 附录 C:带“未加载先提醒”的 Claude 启动函数
1. 目标
实现下面几件事:
- 让
claude直接连接本地LM Studio - 在任意目录都能默认使用本地模型
- 支持在多个本地模型之间切换
- 不修改 LM Studio 原始模型名,避免影响 OpenClaw 等其他工具
- 提供适合日常使用的 PowerShell 快捷命令

2. 基本原理
链路本质上是:
Claude Code -> LM Studio 本地 API -> 已加载的本地模型
Claude Code 期望的是 Anthropic 风格接口,LM Studio 提供了兼容的 /v1/messages 接口,所以可以把 Claude Code 的请求转发到本地模型。
这不是继续使用 Anthropic 订阅,而是把 Claude Code 当作本地模型的 CLI 前端来用。
3. 前置条件
需要先满足这些条件:
- 已安装
Claude Code - 已安装
LM Studio - LM Studio 本地服务已启动,默认通常是
http://localhost:1234 - 已在 LM Studio 中下载并加载至少一个模型
- 已拿到 LM Studio 的 API Token
配置详情可参考以下文章及里边的引用链接:
4. 最小可用配置
4.1 临时方式
只对当前 PowerShell 会话生效:
$env:ANTHROPIC_BASE_URL="http://localhost:1234"
$env:ANTHROPIC_AUTH_TOKEN="你的 LM Studio token"
claude --model "你的模型名"
4.2 全局方式
推荐长期使用。把用户级配置写到:
C:\Users\你的用户名\.claude\settings.json
内容建议如下:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:1234/",
"ANTHROPIC_AUTH_TOKEN": "你的 LM Studio token"
},
"model": "google/gemma-4-26b-a4b"
}
这样以后在任意目录执行:
claude
都会默认连接到本地 LM Studio。


5. 这次排查里踩到的关键坑
最重要的问题不是 LM Studio 本身,而是 Claude Code 配置冲突。
5.1 典型报错
Auth conflict: Both a token (ANTHROPIC_AUTH_TOKEN) and an API key (ANTHROPIC_API_KEY) are set.
以及:
Cannot read properties of undefined (reading 'input_tokens')

5.2 根因
本机同时存在两套认证来源:
- 终端里手动设置的
ANTHROPIC_AUTH_TOKEN C:\Users\用户名\.claude\settings.json中残留的ANTHROPIC_API_KEY
Claude Code 启动时会同时读取两者,从而触发冲突。
5.3 解决方式
只能保留一套认证来源。
建议:
- 不再使用
ANTHROPIC_API_KEY - 统一使用
ANTHROPIC_AUTH_TOKEN - 修正或清理
C:\Users\你的用户名\.claude\settings.json
6. 如何验证 LM Studio 接口本身正常
排查时,建议先绕过 Claude Code,直接请求 LM Studio 的 Anthropic 兼容接口。
Windows PowerShell 下推荐用 Invoke-RestMethod:
$token = "你的 LM Studio token"
$body = @{
model = "qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored"
max_tokens = 64
messages = @(
@{
role = "user"
content = "hello"
}
)
} | ConvertTo-Json -Depth 10
Invoke-RestMethod `
-Method Post `
-Uri "http://localhost:1234/v1/messages" `
-Headers @{
"Authorization" = "Bearer $token"
"Content-Type" = "application/json"
} `
-Body $body
如果返回里有这些字段,说明服务端基本正常:
type = messagecontentusage.input_tokensusage.output_tokens
还可以检查已暴露模型:

7. 全局生效的正确方式
真正让 claude 在任意目录都默认可用,关键在于写对这个文件:
C:\Users\你的用户名\.claude\settings.json
推荐最终内容:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:1234/",
"ANTHROPIC_AUTH_TOKEN": "你的 LM Studio token"
},
"model": "google/gemma-4-26b-a4b"
}
注意事项:
- 不要再恢复旧的
ANTHROPIC_API_KEY - 不要同时在别处再设一套冲突配置
- 如果临时用环境变量覆盖,要清楚自己在覆盖什么
8. LM Studio 里的“所有模型都可用”是什么意思
这里要区分三个概念:
8.1 lms ls
lms ls
表示本地已经下载的模型。
8.2 lms ps
lms ps
表示当前已经加载进内存、可直接服务的模型。
8.3 claude --model ... 或 /model ...
表示 Claude Code 当前要使用哪个模型。

所以“Claude Code 能使用所有模型”的准确说法是:
- 只要模型已经在 LM Studio 中下载
- 并且模型已经被加载
- 并且名称能被 Claude Code 正确引用
那 Claude Code 就可以切换过去使用它。
9. 动态加载和热切换
9.1 动态加载由 LM Studio 负责
加载模型:
lms load "google/gemma-4-26b-a4b" --ttl 3600
lms load "openai/gpt-oss-20b" --ttl 3600
lms load "meta-llama-3.1-8b-instruct-128k" --ttl 3600
查看已加载模型:
lms ps
卸载模型:
lms unload "模型名或标识"
lms unload --all
9.2 热切换由 Claude Code 负责
在已进入的 Claude Code 会话里,可以直接切模型:
/model google/gemma-4-26b-a4b
/model openai/gpt-oss-20b
/model meta-llama-3.1-8b-instruct-128k
只要 LM Studio 端已经准备好,通常不需要重启 Claude Code。
10. Claude Code 不支持自定义模型别名映射
这是一个很重要的限制。
Claude Code 本身没有提供你自己的模型别名映射表,所以不能直接在 Claude Code 内部定义:
coder -> qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensoredthink -> google/gemma-4-26b-a4b
如果不想改 LM Studio 那边的模型名字,也不想影响 OpenClaw,最实用的方案是在 PowerShell 层做快捷命令。
11. 推荐的高阶设置:PowerShell 启动别名
可以把下面的函数放进 PowerShell 的 $PROFILE 文件:
function cc-gemma4 { claude --model "google/gemma-4-26b-a4b" }
function cc-gemma3-27b { claude --model "google/gemma-3-27b" }
function cc-gemma3-12b { claude --model "google/gemma-3-12b" }
function cc-gemma3-it { claude --model "gemma-3-27b-it" }
function cc-gemma11-2b { claude --model "google-gemma-1.1-2b-it" }
function cc-gptoss { claude --model "openai/gpt-oss-20b" }
function cc-gptoss-neo { claude --model "openai-gpt-oss-20b-abliterated-uncensored-neo-imatrix" }
function cc-gptoss-huihui { claude --model "huihui-gpt-oss-20b-abliterated-v2" }
function cc-qwen-coder { claude --model "qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored" }
function cc-qwen-bf16 { claude --model "qwen3.5-9b-uncensored-hauhaucs-aggressive@bf16" }
function cc-qwen-q4 { claude --model "qwen3.5-9b-uncensored-hauhaucs-aggressive@q4_k_m" }
function cc-llama31 { claude --model "meta-llama-3.1-8b-instruct-128k" }
function cc-llama4o { claude --model "llama-3-8b-gpt-4o-ru1.0" }
function cc-llama-moe { claude --model "llama-3.2-8x3b-moe-dark-champion-instruct-uncensored-abliterated-18.4b" }
function cc-neural { claude --model "neuraldaredevil-8b-abliterated" }
function cc-gpt2 { claude --model "openai-community-gpt2-smashed" }
打开 $PROFILE:
New-Item -ItemType File -Path $PROFILE -Force
notepad $PROFILE

保存后重新加载:
. $PROFILE
以后在任意目录就可以直接:
(此处指的是同一配置的 powershell,如果电脑里有多个 powershell 版本,每个版本需要单独设置上述配置文件)
cc-gemma4
cc-qwen-coder
cc-gptoss
cc-llama31
这不会修改 LM Studio 中的模型名字,也不会影响 OpenClaw。

12. 推荐的日常三模型分工
虽然你已经下载了很多模型,但不建议全部常驻内存。
更合理的方式是选出 3 个角色:
fast: 响应快的小模型code: 日常代码主力模型think: 推理更强的大模型
基于我当前已有模型,一个实用组合可以是:
fast:meta-llama-3.1-8b-instruct-128kcode:qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensoredthink:google/gemma-4-26b-a4b
可以在 $PROFILE 里再加:
function cc-fast { claude --model "meta-llama-3.1-8b-instruct-128k" }
function cc-code { claude --model "qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored" }
function cc-think { claude --model "google/gemma-4-26b-a4b" }
这样日常几乎只要记住:
cc-fast
cc-code
cc-think
13. 推荐的最终配置结构
建议把职责分清:
13.1 Claude Code 负责
- 连接本地 API
- 指定默认模型
- 在会话中切换模型
13.2 LM Studio 负责
- 下载模型
- 加载模型
- 卸载模型
- 对外暴露本地 API
13.3 PowerShell 负责
- 给长模型名做快捷启动命令
- 做你自己的本地模型别名体系
14. 这套方案的边界
这套方案已经可以很好地让 Claude Code 驱动本地模型,但仍然要接受这些现实限制:
- 不是每个本地模型都适合做代码代理
- 小模型在项目感知、上下文理解、工具调用上经常不稳定
- 能接上接口,不等于工程能力足够强
- 模型越弱,越容易误判目录结构、文件状态和代码关系
所以建议:
- 轻任务用较小模型
- 代码代理主力用你本地最稳的一个模型
- 不要追求“所有模型都一样好用”
15. 最终结论
这套配置已经证明下面这些目标都是能实现的:
- Claude Code 成功接入 LM Studio
- 不依赖 Anthropic 订阅继续使用
- 在任意目录全局生效
- 支持在多个本地模型之间热切换
- 不改 LM Studio 原始模型名
- 用 PowerShell 自己构建一层别名系统
真正要做好的只有三件事:
- 统一认证配置,只保留一套
- 把全局配置写到正确的位置
- 明确分工:LM Studio 负责加载,Claude Code 负责使用
如果后续还要继续增强,可以再加:
- 开机自动启动 LM Studio server
- 常用模型自动预加载
- PowerShell 函数里加入“未加载先提醒”的检查逻辑
- 给不同项目定制默认模型入口
16. 附录 A:可直接使用的 PowerShell $PROFILE 模板
把下面这段放进你的 PowerShell 配置文件 $PROFILE:
function cc-gemma4 { claude --model "google/gemma-4-26b-a4b" }
function cc-gemma3-27b { claude --model "google/gemma-3-27b" }
function cc-gemma3-12b { claude --model "google/gemma-3-12b" }
function cc-gemma3-it { claude --model "gemma-3-27b-it" }
function cc-gemma11-2b { claude --model "google-gemma-1.1-2b-it" }
function cc-gptoss { claude --model "openai/gpt-oss-20b" }
function cc-gptoss-neo { claude --model "openai-gpt-oss-20b-abliterated-uncensored-neo-imatrix" }
function cc-gptoss-huihui { claude --model "huihui-gpt-oss-20b-abliterated-v2" }
function cc-qwen-coder { claude --model "qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored" }
function cc-qwen-bf16 { claude --model "qwen3.5-9b-uncensored-hauhaucs-aggressive@bf16" }
function cc-qwen-q4 { claude --model "qwen3.5-9b-uncensored-hauhaucs-aggressive@q4_k_m" }
function cc-llama31 { claude --model "meta-llama-3.1-8b-instruct-128k" }
function cc-llama4o { claude --model "llama-3-8b-gpt-4o-ru1.0" }
function cc-llama-moe { claude --model "llama-3.2-8x3b-moe-dark-champion-instruct-uncensored-abliterated-18.4b" }
function cc-neural { claude --model "neuraldaredevil-8b-abliterated" }
function cc-gpt2 { claude --model "openai-community-gpt2-smashed" }
function cc-fast { claude --model "meta-llama-3.1-8b-instruct-128k" }
function cc-code { claude --model "qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored" }
function cc-think { claude --model "google/gemma-4-26b-a4b" }
function cc-models {
@(
"cc-gemma4 -> google/gemma-4-26b-a4b"
"cc-gemma3-27b -> google/gemma-3-27b"
"cc-gemma3-12b -> google/gemma-3-12b"
"cc-gemma3-it -> gemma-3-27b-it"
"cc-gemma11-2b -> google-gemma-1.1-2b-it"
"cc-gptoss -> openai/gpt-oss-20b"
"cc-gptoss-neo -> openai-gpt-oss-20b-abliterated-uncensored-neo-imatrix"
"cc-gptoss-huihui -> huihui-gpt-oss-20b-abliterated-v2"
"cc-qwen-coder -> qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored"
"cc-qwen-bf16 -> qwen3.5-9b-uncensored-hauhaucs-aggressive@bf16"
"cc-qwen-q4 -> qwen3.5-9b-uncensored-hauhaucs-aggressive@q4_k_m"
"cc-llama31 -> meta-llama-3.1-8b-instruct-128k"
"cc-llama4o -> llama-3-8b-gpt-4o-ru1.0"
"cc-llama-moe -> llama-3.2-8x3b-moe-dark-champion-instruct-uncensored-abliterated-18.4b"
"cc-neural -> neuraldaredevil-8b-abliterated"
"cc-gpt2 -> openai-community-gpt2-smashed"
"cc-fast -> meta-llama-3.1-8b-instruct-128k"
"cc-code -> qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored"
"cc-think -> google/gemma-4-26b-a4b"
) | ForEach-Object { $_ }
}
如果 $PROFILE 还不存在:
New-Item -ItemType File -Path $PROFILE -Force
notepad $PROFILE
保存后重新加载:
. $PROFILE
17. 附录 B:开机自动启动 LM Studio 和常用模型的脚本模板
下面是一份适合手动执行或挂到 Windows 启动项里的 PowerShell 脚本模板。
文件示例:C:\Users\你的用户名\start-lmstudio-claude.ps1
Start-Process "LM Studio"
Start-Sleep -Seconds 8
lms server start --port 1234
Start-Sleep -Seconds 3
lms load "google/gemma-4-26b-a4b" --ttl 3600
lms load "qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored" --ttl 3600
lms load "meta-llama-3.1-8b-instruct-128k" --ttl 3600
如果你不想开机就全部加载,可以只启动服务:
Start-Process "LM Studio"
Start-Sleep -Seconds 8
lms server start --port 1234
然后需要时再手动加载:
lms load "google/gemma-4-26b-a4b" --ttl 3600
18. 附录 C:带“未加载先提醒”的 Claude 启动函数
如果你希望在模型还没加载进 LM Studio 内存时就先得到提醒,可以在 $PROFILE 中用这种写法:
function Start-ClaudeWithModel {
param(
[Parameter(Mandatory=$true)]
[string]$Model
)
$loaded = lms ps | Select-String -SimpleMatch $Model
if (-not $loaded) {
Write-Host "Model not loaded in LM Studio: $Model" -ForegroundColor Yellow
Write-Host "Load it first with: lms load `"$Model`" --ttl 3600" -ForegroundColor Yellow
return
}
claude --model $Model
}
function cc-gemma4 { Start-ClaudeWithModel "google/gemma-4-26b-a4b" }
function cc-code { Start-ClaudeWithModel "qwen3.5-9b-claude-4.6-highiq-instruct-heretic-uncensored" }
function cc-fast { Start-ClaudeWithModel "meta-llama-3.1-8b-instruct-128k" }
与
Claude Code
是共享的订阅额度
19. 参考链接
以下是这套配置过程中最有用的官方文档:
- Claude Code 设置文档: https://docs.claude.com/en/docs/claude-code/settings
- Claude Code 模型配置文档: https://docs.claude.com/en/docs/claude-code/model-config
- LM Studio 的 Claude Code 集成文档: https://lmstudio.ai/docs/integrations/claude-code
- LM Studio Integrations 总览: https://lmstudio.ai/docs/integrations
lmsCLI 文档: https://lmstudio.ai/docs/cli
- LM Studio
lms load/lms unload相关说明: https://lmstudio.ai/docs/cli/local-models/load
- LM Link 与 Claude Code 集成说明: https://lmstudio.ai/docs/integrations/lmlink
欢迎来到AMD开发者中国社区,我们致力于为全球开发者提供 ROCm、Ryzen AI Software 和 ZenDNN等全栈软硬件优化支持。携手中国开发者,链接全球开源生态,与你共建开放、协作的技术社区。
更多推荐

所有评论(0)