Skip to content

[Bug]: Codex App now sends gpt-5.6-luna helper requests on every message and turn completion (previously only title generation) #2157

Description

@fede-oss

Client or integration

Codex App

Area

Proxy and routing

Summary

Since 2026-08-19 ~22:15 UTC, my usage.jsonl fills with one-shot gpt-5.6-luna requests arriving roughly every time I send a message in any Codex App thread and again every time an agent turn completes (~50/hour during active use). Before that date, for weeks, the only background luna traffic I saw was the single title-generation call per newly created thread — which I understand and expect.

I'm opening this to ask: why this sudden change, and is there an OpenCodex-side way to identify/label or intercept these calls?

What I've been able to determine so far:

Questions:

  1. Is this per-message/per-turn luna helper traffic a known recent Codex App behaviour change (0.148.0-alpha.x), and is it expected to persist?
  2. Would enabling shadowCallIntercept catch these specific calls (they don't look like the older shadow calls; they arrive as normal loopback /v1/responses requests in ephemeral system threads), or do they need separate handling?
  3. Could OpenCodex label/aggregate these background-helper rows separately in usage.jsonl / the dashboard (or offer a filter), so they're distinguishable from real agent traffic?

Reproduction

  1. Run OpenCodex with Codex App pointed at the proxy (openai_base_url injection).
  2. Open several threads and chat normally (each user message + each completed turn is a trigger).
  3. Watch usage.jsonl: expect one gpt-5.6-luna row (effort low, ~16–18k in, 20–90 out, unique conversationId) within a few seconds of every message send and every turn completion, in addition to the per-new-thread title-generation call.

Version

2.26.0 (auto-updated from 2.21.0 at 2026-08-19T22:07Z)

Operating system

macOS 15.7.9

Provider and model

openai (native passthrough) / gpt-5.6-luna

Logs or error output

# representative row from usage.jsonl (redacted; conversationId is the app-side hashed session id)
{"requestId":"ocx-mt0nwt4l-11","timestamp":1787178459765,"provider":"openai","model":"gpt-5.6-luna","admissionKind":"loopback","inboundProtocol":"responses","accountLogLabel":"main","conversationId":"141eca32880ea487342aef6b3c3f3152","requestedModel":"gpt-5.6-luna","requestedEffort":"low","status":200,"durationMs":2273,"usage":{"inputTokens":17950,"outputTokens":20},"routeDecision":{"routeKind":"native","selected":{"provider":"openai","model":"gpt-5.6-luna","reason":"native-family"}}}

Redacted configuration

{
  "shadowCallIntercept": { "enabled": false, "model": "gpt-5.6-luna" },
  "webSearchSidecar": { "model": "gpt-5.6-luna", "backend": "openai", "streamRoutedModelOutput": true },
  "subagentModels": ["gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"]
}

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingproxyHTTP proxy, routing, reverse-proxy / management auth

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions