Repository navigation
Desktop: billing dropdown options are unreadable in dark mode on Linux #6331
Description
Opening Settings > Permissions > Claude Code > "Bill runs to" in the Linux desktop app shows a white native option menu with nearly white text. The highlighted row is readable; the other choices are effectively invisible. This is a contrast/theme bug.
Reproduce
- Open the official Linux desktop app in the Night appearance.
- Open Settings > Permissions.
- Open Claude Code's "Bill runs to" select without choosing a different billing method.
- Inspect the unselected options, including "Your Claude plan" and the API-key choices.
No composition, credentials, or project files are needed. Expected: all enabled choices remain readable, with a distinguishable selected row.
Reported evidence and version limits
The supplied screenshot shows the failure. Sampling the unselected "Your Claude plan" row gives a white background and text pixels no darker than #f6f5f3, approximately 1.09:1 contrast. The font size is not the underlying problem.
The machine was upgraded from b266 to b480 on October 25, 2026. The screenshot's exact build was not captured, so this report does not establish a b480 regression or confirm that the native popup still fails in b480.
The production manifest currently identifies b480, source SHA c6324cba7854b131d5212b97d3e6b9c9d2220d5b. The installed AppImage bundles HyperFrames 0.8.198 and Electron 44.9.3. The desktop session is Linux/Omarchy on Hyprland/Wayland.
Desktop bundle trace
Read-only inspection of b480's published app.asar locates this control in renderer/desktop-static/index-DPtABfIL.js, minified function H_t, under [data-billing="claude"].
It renders a native select with bg-transparent text-text-0. Each option contains only its value and label; the choices are enabled, without per-option background styling. The select is disabled while saving.
Importantly, b480 already declares dark color-scheme rules. An isolated fixture using its three published renderer stylesheets and the same billing markup computes color-scheme: dark, foreground oklch(0.965 0.004 70), and transparent select/option backgrounds in Night mode. A missing root color-scheme is therefore not a verified diagnosis for b480.
The observed failure is a light native-menu surface paired with the dark theme's light text. Whether b480 still exposes that platform rendering mismatch needs a real desktop check. Browser screenshots did not capture the native popup, and desktop automation could not deliver input on this Hyprland setup. No billing settings or installed files were changed.
Smallest fix to evaluate
Keep the native select. Check its actual popup colors in Electron on Linux, then pair the option background with the existing theme tokens if needed. The same b480 desktop bundle already has a precedent for another native select:
.script-pop__langs option {
background: var(--raised);
color: var(--ink);
}A narrowly scoped equivalent for the billing select is a candidate, not an app-verified patch. Preserve native disabled-option rendering.
Please verify Night and Paper appearances, selected and unselected enabled options, disabled options, and the select's saving/disabled state. Use keyboard navigation without changing the saved billing method.
Ownership and related work
The maintainer response on #6144 confirms that the desktop Settings shell is outside this public repository. The public Studio packages do not contain this billing control, and the desktop source is inaccessible to this contributor, so there is no honest public-source implementation PR to attach.
Searched existing issues and PRs for "Bill runs to", dropdown, unreadable, contrast, and color-scheme. No matching desktop billing report found. The older public Studio color-scheme fix #482 concerns a different stylesheet and does not establish a fix for this desktop control.
Activity