当你触及 Claude Code 的使用上限时,可以通过在 OpenRouter API 密钥上运行 Claude Code 来继续编码。通过 OpenRouter,Claude Code 使用按 token 付费的 API 密钥运行,使用相同的 Claude 模型,且没有五小时窗口限制。你只需设置三个环境变量,等额度重置后再切回你的套餐。

我们用 Claude Code 测试了这套配置。下面的输出和成本来自这些运行。

简要说明

  • 你的 Claude 套餐有 5 小时限制和每周限制。OpenRouter API 密钥两者都没有。你改为按使用的 token 付费。
  • 最快的配置方式是 Ori Harness:ori claude在该会话中通过 OpenRouter 启动 Claude Code,使用浏览器登录,无需粘贴密钥。
  • 要手动操作,用三个环境变量让 Claude Code 指向 OpenRouter。我们把它们放进一个名为claude-or的 shell 函数中,这样claude仍然使用你的套餐。
  • 从 Claude Sonnet 5.5 开始。一次典型的短 Claude Code 会话在 Sonnet 5.5 上花费 $0.16,在 Opus 5.5 上花费 $0.31,在 Haiku 5.5 上不到一美分。
  • 不要相信 Claude Code 打印的成本。在我们的测试中,它显示一次运行花费 $0.375,而我们实际被计费 $0.008。请改为查看你的密钥或 Activity 页面。
  • 当你的套餐重置时,输入claude再次。无需撤销任何操作。

为什么 Claude Code 会触及使用上限?

Claude 套餐有两个同时生效的限制。第一个在你首次提示后 5 小时重置。第二个每 7 天重置。Anthropic 并未公布两者的确切提示次数。Claude Code 使用的 token 比普通聊天多得多,因此你可能在任务进行到一半时就用完。此时,Claude Code 会停止,并告诉你限制何时重置。Anthropic 关于使用限制的帮助文章解释了这两个限制。

OpenRouter API 密钥不是这样运作的。你为使用的每个 token 付费,只要还有余额就可以继续。

最快的方式:通过 Ori Harness 运行 Claude Code

Ori Harness会用 OpenRouter 设置启动你机器上已有的 Claude Code。安装它并通过它启动 Claude Code:

curl-fsSLhttps://openrouter.ai/labs/ori/install.sh|bash
oriclaude--modelanthropic/claude-sonnet-5.5

Ori 会打开浏览器,让你用 OpenRouter 账户登录。它使用 OAuth,因此无需创建或粘贴密钥。只有你启动的会话ori claude在 OpenRouter 上运行,所以普通的claude会继续使用你的套餐,你可以通过输入以下内容切回claude当你的套餐重置时。用量会计入你的 OpenRouter 账单。如果你在某个组织中,护栏对你账户设置预算上限,会限制它的花费,OpenRouter 也会将其应用于 Ori 会话。

下面的步骤通过 API 密钥和 shell 函数手动完成同样的事情。如果你想要一个带有独立额度上限的密钥,且该密钥在任何账户上都可用,请使用这些步骤。第 4 步中的费用建议对两种方式都适用。

第 1 步:获取 OpenRouter API 密钥并设置限额

在API 密钥页面创建一个密钥,并为其设置额度上限。我们将自己的设为 $4。这样,即使是很长的会话也不会花费超过 $4。额度上限是在 OpenRouter 上控制支出的多种方式之一。我们关于在团队中治理 AI 支出的指南涵盖了其他方式。

要检查限额,请向我们的 API 查询你的密钥:

curlhttps://openrouter.ai/api/v1/key\
-H"Authorization: Bearer$OPENROUTER_API_KEY"

这是响应中重要的部分:

{
"data": {
"limit":4,
"limit_remaining":4,
"usage":0
}
}

这个limit_remaining数字告诉你该密钥还剩多少钱。你可以随时运行此检查。发出请求后,新总额可能需要几秒钟才会显示。

第 2 步:添加一个切换到你的密钥的命令

你可以将这些变量添加到 shell 配置文件中,但那样每个 Claude Code 会话都会从你的密钥扣费。我们希望你的普通claude命令继续使用你的套餐,因此我们将这些变量放入一个小型 shell 函数中。将以下内容添加到~/.zshrc或~/.bashrc:

claude-or() {
ANTHROPIC_BASE_URL="https://openrouter.ai/api"\
ANTHROPIC_AUTH_TOKEN="$OPENROUTER_API_KEY"\
ANTHROPIC_API_KEY=""\
ANTHROPIC_DEFAULT_SONNET_MODEL="anthropic/claude-sonnet-5.5"\
ANTHROPIC_DEFAULT_OPUS_MODEL="anthropic/claude-opus-5.5"\
ANTHROPIC_DEFAULT_HAIKU_MODEL="anthropic/claude-haiku-5.5"\
CLAUDE_CODE_SUBAGENT_MODEL="anthropic/claude-haiku-5.5"\
claude"$@"
}

前三行是重要的部分:

  • ANTHROPIC_BASE_URL告诉 Claude Code 将其请求发送给我们。
  • ANTHROPIC_AUTH_TOKEN保存你的 OpenRouter 密钥。
  • ANTHROPIC_API_KEY必须为空。如果不为空,Claude Code 可能会尝试登录 Anthropic。

另外四行是可选的。它们告诉 Claude Code 为 Sonnet、Opus 和 Haiku 使用哪个 Claude 模型。它们还会把子智能体——Claude Code 自行启动的较小辅助任务——发送给 Haiku 5.5。

这些变量仅在你输入时生效claude-or。保存文件并打开一个新终端,这样该函数就准备就绪了。

Diagram: typing claude in your terminal uses your Claude plan, with its five-hour and weekly limits. Typing claude-or sends the same session to OpenRouter on your API key, pay per token with no usage window, and OpenRouter serves the same Claude models from Anthropic, Amazon Bedrock and Google Vertex.

第 3 步:检查 Claude Code 是否在使用你的密钥

在开始实际工作之前,检查 Claude Code 是否将请求发送到 OpenRouter,而不是发送到你的套餐。最快的方法是发送一条简短的提示,然后查看是哪个模型作答。在你的终端中运行以下命令:

claude-or--modelsonnet-p"Reply with exactly: ok"--output-formatjson

这是我们响应中关键的部分:

{
"is_error":false,
"result":"ok"
}

回复返回时没有错误。完整输出中的modelUsage字段会指明作答的模型,在我们的运行中是anthropic/claude-sonnet-5.5。我们用相同的提示运行了--model haiku,以及modelUsage指明为anthropic/claude-haiku-5.5。

然后再次运行第 1 步中的密钥检查。如果usage上升了,说明请求计费到了你的密钥上,而不是套餐上。如果没有上升,说明 Claude Code 没有读取到这些变量。打开一个新终端再试一次。

第 4 步:控制成本

使用密钥时,每条消息都要付费。表格显示了我们对三个 Claude 5.5 模型的价格。它还显示了 OpenRouter 上真实 Claude Code 会话(2 到 9 条消息)的费用中位数。

模型每 1M 输入 token 价格每 1M 输出 token 价格会话费用中位数(2 到 9 条消息)
Claude Opus 5.5$4.00$20.00$0.305
Claude Sonnet 5.5$2.00$10.00$0.155
Claude Haiku 5.5$0.10$0.50$0.007

价格截至 2026 年 10 月 21 日。会话费用来自我们的会话费用数据集,涵盖截至 2026 年 10 月 18 日的 30 天。

从 Sonnet 5.5 开始。它的每次会话费用约为 Opus 5.5 的一半,能处理大多数日常编码工作。当问题很难时,输入/model opus来切换,完成后切换回来。如果你在我们的 API 上构建自己的应用,你还可以自动将请求转移到更强的模型当较便宜的模型对其答案没有信心时。

每个新会话开始时,都会带上约 28,000 个 token 的 Claude Code 自身指令和工具列表(在我们运行 Claude Code 2.1.307 时是 28,156 个,这个数字在不同版本之间会变化)。它们在首次请求时被写入提示缓存,因此第 3 步中一个单词的提示在 Sonnet 5.5 上花费约 $0.07,在 Haiku 5.5 上不到半美分。

子智能体在 Haiku 上很便宜。当我们让 Sonnet 5.5 启动一个子智能体时,主智能体运行在 Sonnet 5.5 上,子智能体运行在 Haiku 5.5 上,正如函数集所设定的那样。

Haiku 也能自行处理小修复。我们给 Haiku 5.5 一个带有两个 bug 和三个失败测试的购物车文件。它修复了两个 bug,三个测试全部通过,这次运行我们被计费 $0.008。

不要依赖 Claude Code 打印出的成本。那次 Haiku 运行中,Claude Code 报告的是 $0.375,但我们被计费 $0.008。Claude Code 使用 Anthropic 自己的价格表为会话计价,当它不认识某个 OpenRouter 模型名称时就会猜测。要查看你实际的花费,请检查limit_remaining使用第 1 步中的命令,或者打开你的活动页面。

第 5 步:当你的套餐重置后切换回来

当你的套餐限额重置后,输入claude而不是claude-or。你不需要更改任何东西,因为 OpenRouter 设置只存在于函数内部。在我们的测试中,普通的claude在套餐的模型上给出了回答,而我们 OpenRouter 密钥上的用量没有变化。

如果 API 密钥用完了会怎样?

当你的密钥达到信用额度上限,或你的账户余额耗尽时,我们会在请求到达模型之前将其停止并返回错误。该错误包含一个limit_source字段,告诉你原因:

  • openrouter_key_limit表示该密钥已用尽其限额。
  • openrouter_credits表示你的账户余额已耗尽。

要继续使用,请在 API 密钥页面提高该密钥的限额,或为你的账户充值。我们的限额页面解释了每一种限额,包括团队管理员可以设置的限额。

常见问题

OpenRouter 对 Claude Code 有使用限制吗?

没有五小时或每周的限制。唯一的限制在于花费:你有多少信用额度、你为密钥设置的限额,以及你的团队管理员设置的任何预算。

这些模型和我 Claude 套餐上的模型一样吗?

是的。它们是 Anthropic 的 Claude 模型。我们从 Anthropic 以及 Amazon Bedrock 和 Google Vertex 等云服务商获取这些模型,如果某个服务商出现问题,我们就把你的请求发送到另一个服务商。对于 Claude Code,我们建议将 Anthropic 设为首选服务商,因为 Claude Code 只保证与 Anthropic 兼容。

达到限额时,我可以使用更便宜的模型吗?

可以。Sonnet 5.5 每次会话的成本约为 Opus 5.5 的一半,Haiku 5.5 每次会话的成本不到 1 美分。你也可以在函数的某个变量中放入不同的模型。许多人通过 OpenRouter 在 Claude Code 中使用其他模型。本月,GLM 5.3 Flash 是我们应用页面上的 Claude Code 中使用量第二高的模型,仅次于 Claude Opus 5.5。不过,Claude Code 是为 Claude 模型构建的,所以请先在小任务上试用任何其他模型。如果你从自己的代码中调用我们的 API,你也可以列出回退模型,这样当第一个模型失败时,请求会转移到第二个模型。要了解更多降低每次请求费用的方法,请参阅我们关于 OpenRouter 上最低成本 LLM 推理的指南。

Claude Code 的使用限额何时重置?

五小时限额在该窗口内首次提示后五小时重置。每周限额在其开始后七天重置。Claude Code 在阻止你时会显示重置时间,这样你就知道何时再次输入claude。

如何查看我还剩多少用量?

在你的 Claude 套餐中,Claude Code 在阻止你时会告诉你限额何时重置。在 OpenRouter 上,请使用limit_remaining查看GET /api/v1/key,或打开你的 Activity 页面。

后续步骤

我们的Claude Code 设置指南包含完整设置,其中包括一个在你工作时显示费用的状态栏。如果你想每天都将 OpenRouter 与 Claude Code 一起使用,而不仅仅是在达到限额时,我们的 Claude Code 教程会带你完成设置。要在 OpenRouter 上运行它而无需管理密钥,Ori Harness可以用一条命令启动 Claude Code 或其他智能体 CLI。如果你是为团队进行设置,工作区预算可以让你限制每个团队的花费。