From 76575aa17412c971639f5308b0d29e39f857133e Mon Sep 17 00:00:00 2001 From: hannesrudolph Date: Wed, 18 Jun 2025 20:44:44 -0600 Subject: [PATCH] fix: revert cost calculation for Claude Code provider - Only use cost_usd from CLI response when provided - Default to 0 when CLI doesn't provide cost (e.g., subscription users) - Don't calculate cost based on token usage as it may not apply to all users --- src/api/providers/claude-code.ts | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/api/providers/claude-code.ts b/src/api/providers/claude-code.ts index 6bf857b1fa..c770cd6bdd 100644 --- a/src/api/providers/claude-code.ts +++ b/src/api/providers/claude-code.ts @@ -10,7 +10,6 @@ import { ApiStreamUsageChunk, type ApiStream } from "../transform/stream" import { runClaudeCode } from "../../integrations/claude-code/run" import { ClaudeCodeMessage } from "../../integrations/claude-code/types" import { BaseProvider } from "./base-provider" -import { calculateApiCostAnthropic } from "../../shared/cost" export class ClaudeCodeHandler extends BaseProvider implements ApiHandler { private options: ApiHandlerOptions @@ -133,20 +132,9 @@ export class ClaudeCodeHandler extends BaseProvider implements ApiHandler { } if (chunk.type === "result" && "result" in chunk) { - // Use the cost from the CLI if available, otherwise calculate it - if (chunk.cost_usd !== undefined && chunk.cost_usd !== null) { - usage.totalCost = chunk.cost_usd - } else { - // Calculate cost based on token usage and model pricing - const modelInfo = this.getModel().info - usage.totalCost = calculateApiCostAnthropic( - modelInfo, - usage.inputTokens, - usage.outputTokens, - usage.cacheWriteTokens, - usage.cacheReadTokens, - ) - } + // Only use the cost from the CLI if provided + // Don't calculate cost as it may be $0 for subscription users + usage.totalCost = chunk.cost_usd ?? 0 yield usage }