Silently switched models and cost extra time and tokens to fix.

Open 💬 2 comments Opened Jul 15, 2026 by gwallace-2hd

What version of Codex CLI is running?

codex-cli 0.144.4

What subscription do you have?

$20/month

Which model were you using?

luna light

What platform is your computer?

Darwin 25.5.0 arm64 arm

What terminal emulator and version are you using (if applicable)?

wezterm

Codex doctor report

codex doctor returned overallStatus: "fail".

  1. Failure: ChatGPT HTTP endpoint unreachable.
  2. Warning: WebSocket DNS lookup failed.
  3. Warning: Homebrew update check could not resolve formulae.brew.sh.
  4. All auth, config, installation, databases, rollout parity, Git, MCP, and
     search checks passed.

  5. Installed version: 0.144.4.

  Important: this command ran inside Codex’s restricted-network sandbox, so the
  network failures likely describe the diagnostic process’s sandbox access—not
  necessarily your Mac’s normal connectivity.

What issue are you seeing?

---
name: reference_oai_model_switch_cost
description: "Verified token-cost ledger for the 2026-07-15 forced Luna-low model switch and remediation"
metadata:
node_type: memory
type: reference
---

OAI forced-model-switch cost ledger

Source of truth: local Codex rollout JSONL token-count and thread-settings events. Aggregate tokens
include cached input. Reasoning tokens are reported separately by Codex metadata and may be a subset
of output accounting. Do not represent aggregate tokens as an API bill without OpenAI's pricing and
cache treatment; they are the exact product-reported consumption counter.

Incident boundary

  1. Pre-switch counter, 2026-07-15 15:25:25 EDT: 15,195,167 total tokens; weekly limit 11%.
  2. Forced setting applied, 15:25:46 EDT: gpt-5.6-luna, reasoning effort low.
  3. Restored setting applied, 16:01:30 EDT: gpt-5.6-sol, reasoning effort medium.
  4. First restored-model counter, 16:01:30 EDT: 27,401,495 total tokens; weekly limit 23%.

Forced-Luna interval consumption: 12,206,328 aggregate tokens:

  1. Cached input: 11,630,080.
  2. Uncached input: 563,303.
  3. Output: 12,945.
  4. Reasoning output reported separately: 4,130.

Remediation snapshots

  1. 16:04:05 EDT: 28,613,671 total; remediation since restoration 1,212,176; incident total

13,418,504; weekly limit 25%.

  1. 16:06:56 EDT: 29,261,044 total; remediation since restoration 1,859,549; incident total

14,065,877 aggregate tokens; weekly limit 27%.

  1. 16:08:46 EDT, immediately before the full repair pass: 31,016,552 total; weekly limit 28%.
  2. 16:15:51 EDT, after tracker reconstruction, corrective logging, commit/push, and Sisyphus

reconciliation: 31,973,633 total; repair-pass cost 957,081; remediation since restoration
4,572,138; full incident cost 16,778,466 aggregate tokens; weekly limit 32%.

What the remediation is correcting

  1. False ChatGPT 366th-record repair claim.
  2. Group C triage vs distillation conflation.
  3. Raw-Markdown screenshot misdiagnosis.
  4. Obsidian symlink visibility failure and unverified success claim.
  5. Duplicate visible/hidden tracker sources of truth.
  6. Incomplete five-row lifecycle matrix followed by an unsynchronized 19-row revision.
  7. Inconsistent lifecycle-stage semantics and stale three-stage pipeline text.
  8. Mac/Sisyphus/GitHub divergence and untracked Group C residue.
  9. Append-only project-log discipline violations.

Update this ledger from the rollout JSONL after each remediation block. Keep forced-interval cost and
remediation cost separate, and report the weekly-limit percentage change.

What steps can reproduce the bug?

Uploaded thread: 019f66dc-8ca7-74e1-a825-d91c7fc7c427

What is the expected behavior?

Don't silently switch models on your users mid stream.

Additional information

I did not choose to switch models.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗