Skip to content

clientInfo.name should use codex-namespaced identifier instead of host application name #199

Open

Description

@liby

Problem

The plugin currently sets clientInfo.name to "Claude Code" in DEFAULT_CLIENT_INFO (app-server.mjs, line 28). This causes the Codex app-server to present Claude Code/x.x.x as the user-agent to upstream services, which creates several issues:

1. User-agent collision with the host application

Claude Code (Anthropic's CLI) already uses Claude Code/x.x.x as its own user-agent for Anthropic API requests. When the Codex plugin running inside Claude Code also presents the same UA string, upstream services cannot distinguish between:

  • Native Claude Code requests (Anthropic Messages API)
  • Codex requests routed through Claude Code (OpenAI Responses API)

This breaks any service that uses UA-based routing, rate limiting, or analytics.

2. Naming convention violation

Every other Codex surface uses a codex_* or Codex * prefix:

Surface clientInfo.name
CLI (Rust) codex_cli_rs
TUI codex-tui
VS Code extension codex_vscode
Desktop app Codex Desktop
Claude Code plugin Claude Code ← only outlier

The Claude Code plugin is the only surface that uses the host application's name instead of following the established codex_ + host platform pattern.

3. Compliance log misattribution

The app-server documentation states that clientInfo.name is used to identify the client for the OpenAI Compliance Logs Platform. Using "Claude Code" incorrectly attributes Codex plugin usage to a different vendor's product in compliance records.

Proposed fix

Rename clientInfo.name from "Claude Code" to "codex_claude_code", consistent with the codex_vscode naming pattern:

const DEFAULT_CLIENT_INFO = {
  title: "Codex Plugin",
  name: "codex_claude_code",
  version: PLUGIN_MANIFEST.version ?? "0.0.0"
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions