Summary
When using the Langfuse Codex observability plugin, the main Codex session is traced correctly, but subagent threads spawned during the session are never ingested. As a result, subagent model calls — and their distinct model names — never appear in Langfuse. Every generation resolves to the parent model even though subagents were configured to use a different model.
Environment
- Codex run via the macOS desktop app (not the terminal CLI)
- Codex core version:
0.147.0-alpha.6.5
- Plugin SDK scope:
langfuse-sdk 5.4.1
- OTEL SDK:
2.7.1
- Langfuse Cloud (US region)
What works
- Main session tracing works:
Codex Turn traces, generations, and tool calls are all ingested.
- Turn metadata includes
codex.model = gpt-5.6-sol, codex.model_provider = openai, codex.cli_version = 0.147.0-alpha.6.5.
What doesn't work
- Subagents clearly ran: the parent session contains multiple
spawn_agent tool calls (e.g. agent_type: coding_agent for implement_hybrid_data, agent_type: unit_tester for validate_hybrid_data) plus matching wait_agent polls.
- The
spawn_agent message payload is Fernet-encrypted (gAAAAAB...), so the subagent thread ID / model config isn't visible in the parent transcript.
- A known subagent thread ID (
019febd1-9cd8-7700-bb3a-8c4a9740012e) returns zero results when searching by session ID or by codex.thread_id metadata — the subagent transcript was never resolved into its own nested turns.
Expected behavior
Per the docs, subagent threads should be "resolved from their own transcripts and nested under the spawning turn," with their own generations and model attributes.
Question
Is subagent-transcript resolution supported when Codex runs via the macOS desktop app? It's possible the app stores/manages subagent rollout files differently than the CLI the plugin was built against, preventing the plugin from locating them. Is this a known limitation, a version issue, or does it require additional configura
Summary
When using the Langfuse Codex observability plugin, the main Codex session is traced correctly, but subagent threads spawned during the session are never ingested. As a result, subagent model calls — and their distinct model names — never appear in Langfuse. Every generation resolves to the parent model even though subagents were configured to use a different model.
Environment
0.147.0-alpha.6.5langfuse-sdk5.4.12.7.1What works
Codex Turntraces, generations, and tool calls are all ingested.codex.model = gpt-5.6-sol,codex.model_provider = openai,codex.cli_version = 0.147.0-alpha.6.5.What doesn't work
spawn_agenttool calls (e.g.agent_type: coding_agentforimplement_hybrid_data,agent_type: unit_testerforvalidate_hybrid_data) plus matchingwait_agentpolls.spawn_agentmessagepayload is Fernet-encrypted (gAAAAAB...), so the subagent thread ID / model config isn't visible in the parent transcript.019febd1-9cd8-7700-bb3a-8c4a9740012e) returns zero results when searching by session ID or bycodex.thread_idmetadata — the subagent transcript was never resolved into its own nested turns.Expected behavior
Per the docs, subagent threads should be "resolved from their own transcripts and nested under the spawning turn," with their own generations and model attributes.
Question
Is subagent-transcript resolution supported when Codex runs via the macOS desktop app? It's possible the app stores/manages subagent rollout files differently than the CLI the plugin was built against, preventing the plugin from locating them. Is this a known limitation, a version issue, or does it require additional configura