Desktop activity card misattributes Codex Security tools to Linear integration

Open 💬 1 comment Opened Aug 19, 2026 by Imperix1155

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_context
  • get_codex_security_completed_scan
  • get_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?

  1. Use the macOS Codex desktop app with both the Codex Security and Linear plugins/integrations available.
  2. In a Codex task, retrieve a completed Codex Security scan using the Security plugin’s scan-context/completed-scan tools.
  3. Inspect the task’s activity cards.
  4. Observe that the card says “Used Linear integration.”
  5. Expand the card and observe that the listed operations are get_codex_security_scan_context and/or get_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

View original on GitHub ↗

1 Comment

nos1609 · 1 day ago

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:

  • 0 MCP or dynamic tool calls whose server or tool namespace contains security
  • 0 request_blocked, policy_violation, or content_policy_violation error markers
  • the latest terminal error was usage_limit_exceeded, which is unrelated
  • in recent records, codex-security appeared only inside compacted and world_state snapshots containing the available plugin/tool inventory

The 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:

  • Show Codex Security only for an actual call whose exact server/tool provenance belongs to Codex Security.
  • Plugin availability in world-state or compaction records must not create an activity card.
  • Activity details should expose the exact server/tool namespace, especially when connectors or tools are shared by several plugins.

No task IDs, paths, project names, prompts, tool arguments, hostnames, addresses, or account details are included here.