
1. 报错现场cc switch 切模型时提示 selected model 不存在你大概率是在终端里敲完cc switch选了一个模型回车之后 Claude CLI 直接甩出一句There is an issue with the selected model. It may not exist or you may not have access to it.这句话的字面意思是「你选的模型可能不存在或者你没有访问权限」。很多人第一反应是去查账号权限其实在 Claude CLI cc switch 这套组合里九成以上的情况是配置骨架里的模型名、通道、字段三者对不上跟账号权限关系不大。Claude CLI 本身是一个命令行形态的编码助手它读取本地配置文件来决定「用哪个模型、走哪个通道、带什么参数」。cc switch 则是一个帮你快速切换模型/通道的小工具它会去改写或读取同一份配置。问题就出在这里cc switch 写进去的模型名和 Claude CLI 实际去请求时用的模型名可能来自两个不同的配置源settings.json和config.toml一旦两边不一致CLI 就会认为「这个模型不存在」。这篇内容适合两类人一是刚把 Claude CLI 接到 TaoToken 上、准备用 cc switch 多模型切换的新手二是之前能用、改了配置之后突然报 selected model 的开发者。下面我会从配置文件骨架讲起给出可复制的片段再逐项验证最后完成一次成功的模型切换。核心检索词就三个claude cli、cc switch、selected model 报错。2. 前置TaoToken 接入与 Key 准备在动 cc switch 之前先把底层通道打通否则你排查半天模型名结果发现是 Key 或地址没配对白费功夫。TaoToken 在这里扮演的角色是统一的模型接入层Claude CLI 通过它去访问背后的模型你只需要维护一份地址和一个 Key。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 这个地址不加 UTM 参数配置里直接写它。你需要先拿到一个可用的 API Key。登录后进入控制台在 API Keys 页面创建一个控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewriteAPI Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite创建时建议给 Key 起个能认出来的名字比如claude-cli-local方便后面出问题时区分是哪个 Key 在报错。拿到形如sk-xxxx的字符串后先存好下一步配置要用。注意Key 只显示一次页面刷新后就看不到了。如果没存直接删掉重建一个别去猜。如果你还想先确认某个模型到底能不能用可以打开模型对话页面手动发一句话试试模型对话https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite在对话页里选一个模型发条消息能正常回复说明这个模型在你的账号下是存在的、有权限的。这一步能帮你把「模型不存在」和「配置写错」两类问题提前分开。3. 可复制配置settings.json 与 config.toml 骨架现在进入正题。Claude CLI 相关的配置通常涉及两个文件一个是 JSON 风格的settings.json一个是 TOML 风格的config.toml。cc switch 报 selected model最常见的原因就是这两个文件里的模型名或通道字段不一致。先看settings.json的骨架。它一般放在用户配置目录下结构大致是这样{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的Key, ANTHROPIC_MODEL: claude-sonnet-4-20250514, ANTHROPIC_SMALL_FAST_MODEL: claude-3-5-haiku-20241022 } }这里有几个关键点直接决定 selected model 会不会报错ANTHROPIC_BASE_URL必须是https://taotoken.net/api结尾不要多加/v1之类的路径多写反而会让请求打到不存在的端点。ANTHROPIC_MODEL是主模型名ANTHROPIC_SMALL_FAST_MODEL是后台小任务用的快模型。这两个名字必须是你账号下真实存在的模型标识写错一个字符都会触发 selected model 报错。再看config.toml的骨架cc switch 往往会读写这个文件来做切换[model] default claude-sonnet-4-20250514 fast claude-3-5-haiku-20241022 [channel] name taotoken base_url https://taotoken.net/api api_key sk-你的Key问题就藏在这两份文件的对应关系里。settings.json里的ANTHROPIC_MODEL和config.toml里的model.default如果指向不同的模型名cc switch 切换时就会拿着 A 名字去请求 B 通道CLI 校验失败报 selected model。我试过最省事的做法让两份文件的模型名和通道字段完全对齐只保留一个「真源」。要么以settings.json为准cc switch 只改它要么以config.toml为准settings.json里不写死模型名。混着写是报错重灾区。如果你用的是 cc switch 的本地代理模式还要注意一点切换模型后需要重新关闭再打开本地代理让新的模型名和通道重新加载。代理进程如果缓存了旧的模型配置你改了文件它也不认照样报 selected model。4. 逐项验证确认模型存在、通道生效配置写完别急着切模型先做三步验证把问题挡在切换之前。第一步验证模型名是否真实存在。最直接的办法是去模型对话页面手动选一个模型发消息。如果你在配置里写的是claude-sonnet-4-20250514就去对话页找同名或对应的模型试一句。能回复说明模型名和权限都没问题报错说明这个名字在你账号下不可用换一个。第二步验证通道是否生效。在终端里直接发一个最小请求绕过 cc switch看底层通不通curl https://taotoken.net/api/v1/messages \ -H x-api-key: sk-你的Key \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-sonnet-4-20250514, max_tokens: 64, messages: [{role: user, content: ping}] }如果返回里有正常的content字段说明地址、Key、模型名三者都对通道是通的。如果返回 401是 Key 问题返回 404 或模型相关错误是模型名问题连接超时是地址写错。这一步能把「通道问题」和「cc switch 问题」彻底分开。第三步验证 cc switch 读到的配置。切换前先看一眼当前生效的模型cc switch --list或者直接查看它管理的配置文件内容确认model.default和你settings.json里的ANTHROPIC_MODEL是同一个值。不一致就先手动改齐再执行切换。cc switch claude-sonnet-4-20250514切换成功后Claude CLI 里再发一条消息能正常返回就说明整条链路通了。如果这时还报 selected model回到第一步大概率是模型名拼写或大小写问题。5. 本篇常见错排查围绕 selected model 这个报错我把踩过的坑归成几类对照着查基本能定位。模型名拼写不一致是最常见的。claude-sonnet-4-20250514和claude-sonnet-4-2025-05-14看着像实际是两个不同的字符串。JSON 和 TOML 里都不允许这种模糊匹配必须一字不差。建议从对话页面复制模型名别手敲。两份配置文件不同步排第二。settings.json改了模型名config.toml没改cc switch 读的是后者切换时用的还是旧名字。解决办法是统一真源或者每次改完两边都核对一遍。本地代理缓存旧配置排第三。cc switch 的本地代理模式会常驻一个进程它启动时加载了模型配置。你改了文件但没重启代理它还用旧的。切换模型后关闭代理再打开让它重新读配置。地址多写路径也会引发误报。ANTHROPIC_BASE_URL写成https://taotoken.net/api/v1请求会打到/api/v1/v1/messages返回 404CLI 有时会把它归到 selected model 上。地址就写https://taotoken.net/api路径交给 CLI 自己拼。Key 权限与模型不匹配是少数情况。有些 Key 可能被限制了可用模型范围你选了一个不在范围内的模型也会报 selected model。这时去 API Keys 页面确认这个 Key 的权限或者换一个 Key 试。提示排查时按「模型名 → 通道地址 → Key → 代理缓存」的顺序走从最可能到最不可能别一上来就怀疑账号。6. 接入与切换的下一步把上面的配置对齐、验证跑通之后cc switch 切模型应该就顺了。如果你还在接入阶段建议先把 API Key 和接入文档过一遍把底层通道固定下来API Keyshttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite想先确认某个模型能不能用直接去模型对话页面发一句话最快模型对话https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite如果你是要长期跑编码任务、频繁切换模型和 Agent建议了解一下 Coding Plan把常用的模型组合和通道配置一次配好省得每次手动改文件Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite最后留一个实用习惯每次改完settings.json或config.toml先跑一遍第 4 节里的 curl 最小请求确认通道和模型名都对再去动 cc switch。这样 selected model 这个报错基本不会再找上门。