Desktop activity card misattributes Codex Security tools to Linear integration
What issue are you seeing?
In the macOS Codex desktop app, Codex Security tool calls are displayed in the task activity UI as “Used Linear integration.” Expanding the activity card shows Codex Security operations rather than Linear operations.
Observed operation names:
get_codex_security_scan_contextget_codex_security_completed_scanget_codex_security_scan_context
The local session transcript attributes these calls to the codex-security MCP server and contains no linear_* tool call for the affected turn. A separate direct audit of the connected Linear workspace found no security-scan issue, comment, attachment, or other unexpected mutation.
This appears to be an activity-summary/provenance labeling problem. The label is concerning because it implies that an external Linear connection was accessed when the task only read Codex Security scan state.
What steps can reproduce the bug?
- Use the macOS Codex desktop app with both the Codex Security and Linear plugins/integrations available.
- In a Codex task, retrieve a completed Codex Security scan using the Security plugin’s scan-context/completed-scan tools.
- Inspect the task’s activity cards.
- Observe that the card says “Used Linear integration.”
- Expand the card and observe that the listed operations are
get_codex_security_scan_contextand/orget_codex_security_completed_scan, not Linear operations.
The exact task/session identifier is available privately to OpenAI staff if needed. No screenshot or transcript is attached because the transcript may contain private project context.
What is the expected behavior?
Activity cards should attribute these calls to Codex Security (or to the exact MCP server/tool namespace), not Linear. The UI should not imply that Linear data was read or changed when no Linear tool was called.
Additional information
- Platform: macOS 27.0, Apple Silicon
- Surface: Codex in the desktop app
- Direct destination audit: no unexpected Linear changes found
- Public duplicate search performed before filing; no matching issue found
1 Comment
A related provenance-labeling variant reproduces on Codex Desktop for Windows 26.820.7780 with a Linux Remote SSH task using codex-cli 0.149.1.
The task was ordinary source-based development: reading bundled browser source, repository code, and tests for a headless browser gateway. No security scan was requested. The activity surface nevertheless indicated that Codex Security was involved.
I inspected the complete remote JSONL structurally:
securityrequest_blocked,policy_violation, orcontent_policy_violationerror markersusage_limit_exceeded, which is unrelatedcodex-securityappeared only insidecompactedandworld_statesnapshots containing the available plugin/tool inventoryThe local coordinator turn at the time of the label also contained no tool call.
This suggests the renderer may derive activity provenance from plugin availability or shared ownership metadata embedded in world state rather than from the exact tool-call event. It can therefore imply that a security scan or intervention occurred when none did.
Expected behavior:
No task IDs, paths, project names, prompts, tool arguments, hostnames, addresses, or account details are included here.