Summary
Cost display stopped working after upgrading from 0.8.67 to 0.9.3. Every turn across every provider is unpriced with unpriced_reasons = ["unverified_live_pricing"].
Evidence
Session cost data (three different providers/routes, all identical)
metadata.cost:
session_cost_usd = 0.0
priced_turns = 0
unpriced_turns = 7
unpriced_reasons = ["unverified_live_pricing"]
cny_unpriced_reasons = ["unverified_live_pricing"]
Routes tested:
accounts/fireworks/models/deepseek-v4-flash-0731 (fireworks)
accounts/fireworks/models/kimi-k3 (fireworks)
deepseek-v4-flash (opencode-zen)
All produce the same unverified_live_pricing — no priced turns ever.
Root cause
The pricing/session endpoint returns 503 Service Unavailable:
$ curl -s https://api.codewhale.net/session
{
"ok": false,
"status": "needs_setup",
"blocker": "full_control_plane_runtime_not_attached",
"error": {
"code": "control_plane_not_attached",
"message": "This Codewhale control-plane route is not attached to the edge auth pilot yet."
}
}
The service is alive but the Cloudflare Workers control-plane routing isn't connected — every pricing request hits this 503, the tool falls through to "no usable bundled rate", and every turn is recorded as unpriced.
Supporting observations
- The models.dev catalog (fetched today) contains 283 models but zero pricing fields — the catalog is capabilities-only in its current schema.
- The binary has no bundled rate for any of the deployment-style route IDs used, so the fallback always activates.
- The binary is current (v0.9.3), checked with
update --check — no newer release.
- Machine has full internet connectivity: DNS resolves, TLS succeeds, but the endpoint returns 503.
Expected behavior
The pricing endpoint should return valid rates (or the tool should have a bundled fallback for common routes) so that session cost displays correctly in the TUI.
Environment
- codewhale version: 0.9.3 (c98648b)
- previous version (cost worked): 0.8.67
- OS: Linux x86_64
- Provider config: fireworks + opencode-zen, tried multiple model IDs
Summary
Cost display stopped working after upgrading from 0.8.67 to 0.9.3. Every turn across every provider is unpriced with
unpriced_reasons = ["unverified_live_pricing"].Evidence
Session cost data (three different providers/routes, all identical)
Routes tested:
accounts/fireworks/models/deepseek-v4-flash-0731(fireworks)accounts/fireworks/models/kimi-k3(fireworks)deepseek-v4-flash(opencode-zen)All produce the same
unverified_live_pricing— no priced turns ever.Root cause
The pricing/session endpoint returns 503 Service Unavailable:
The service is alive but the Cloudflare Workers control-plane routing isn't connected — every pricing request hits this 503, the tool falls through to "no usable bundled rate", and every turn is recorded as unpriced.
Supporting observations
update --check— no newer release.Expected behavior
The pricing endpoint should return valid rates (or the tool should have a bundled fallback for common routes) so that session cost displays correctly in the TUI.
Environment