Codex Desktop API-key profile avatar falls back to Settings, showing “设” in zh-CN

Open 💬 0 comments Opened Jun 26, 2026 by yanggs07

What version of the Codex App are you using?

Codex Desktop: 26.623.31443
CFBundleVersion: 4441
Platform: macOS arm64
Auth method: OpenAI API key
UI locale observed: zh-CN

What issue are you seeing?

When signed in with an API key, the profile/footer avatar in Codex Desktop shows the Chinese character as the avatar initial and the profile/footer label shows 设置 (Settings). This is confusing and makes the signed-in account look like it is named "Settings".

Screenshot symptom:

  • Profile dropdown correctly says: 已通过 API 密钥登录 (Logged in with API key)
  • Profile footer/avatar below it shows:
  • Footer label below/next to the avatar shows: 设置

This is not an acceptable account identity fallback. If there is no user name/email for API-key auth, the app should use a neutral identity such as API key, Account, Codex, or a non-text account icon, not Settings.

Expected behavior

For API key authentication, if no profile name or email is available:

  • Profile footer display name should be something like API key / API key account / Account.
  • Avatar initials should be derived from that account/auth label, or use a generic account icon.
  • It should not derive initials from Settings.

Actual behavior

The profile footer falls back to the localized string for Settings, so in Chinese the display name is 设置 and the avatar initial becomes .

Likely root cause

I inspected the current Desktop app bundle. In the extracted webview bundle:

webview/assets/app-initial~app-main~automations-page-DJKJJMuc.js

The profile footer display name is computed as:

N = c?.name?.trim()
  || d?.email
  || n.formatMessage({
       id: `codex.profileFooter.signedInFallback`,
       defaultMessage: `Settings`,
       description: `Fallback label shown in the profile footer`
     })

Then the avatar text is derived from that fallback:

R = Rv(P)
...
children: z

For API-key auth, the code also only enables the account-info query for ChatGPT auth:

let l = a === `chatgpt`
...
ed(`account-info`, { queryConfig: { enabled: l } })

So with API-key auth, c?.name and d?.email may be absent, and the fallback becomes Settings.

The zh-CN locale confirms the fallback translation:

"codex.profileFooter.signedInFallback": `设置`

This directly explains the visible avatar initial.

Why this should be fixed

The account/profile footer is an identity surface. Falling back to Settings makes the UI look broken and misidentifies the user/account. This is especially visible in CJK locales because the avatar becomes the first character of 设置.

A minimal fix would be to change codex.profileFooter.signedInFallback from Settings to something identity-related, e.g. Account or API key, and preferably choose an auth-specific fallback when authMethod === "api-key".

View original on GitHub ↗