Skip to content

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

@liby

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions