Modern UI Tabs: no theme color id for inactive editor tab foreground
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
Type: Bug
### Summary
Modern UI tabs (`workbench.experimental.modernUI`) don't expose a way for a theme to set the foreground color of an inactive editor tab's label. Active and hover states both have a proper theme color, but inactive does not.
### Evidence
In [src/vs/workbench/contrib/modernUI/browser/media/tabs.css](https://raw.githubusercontent.com/microsoft/vscode/refs/heads/main/src/vs/workbench/contrib/modernUI/browser/media/tabs.css), the default CSS variables are:
```
--modern-ui-editor-tab-active-foreground: var(--vscode-modernEditorTab-activeForeground);
--modern-ui-editor-tab-inactive-foreground: color-mix(in srgb, var(--vscode-foreground) 50%, transparent);
--modern-ui-editor-tab-hover-foreground: var(--vscode-modernEditorTab-hoverForeground);
```
active and hover both reference a registered, theme-settable color (`modernEditorTab.activeForeground`, `modernEditorTab.hoverForeground`). inactive is hardcoded to a 50%-transparent mix of the generic foreground color, with no color id in the chain at all.
## Steps to Reproduce:
1. Install/author a color theme that sets "tab.inactiveForeground": "#f54635" in its theme JSON.
2. Enable Modern UI (workbench.experimental.modernUI: true).
3. Open two files so one tab is active and one inactive.
4. The inactive tab's filename ignores tab.inactiveForeground entirely and instead shows a translucent version of the base foreground color.
## Expected
A registered `modernEditorTab.inactiveForeground` color (mirroring `modernEditorTab.activeForeground`/`modernEditorTab.hoverForeground`), or at minimum honoring a theme-JSON-defined tab.inactiveForeground the same way active/hover do.
## Additional context
Ran into this while looking at #331938, which improved foreground-color consistency across the tab label structure but didn't address this specific gap.
VS Code version: Code 1.136.2 (88e44fa0e00b08f7758b4f6d05632e4fd5e4df6f, 2026-09-04T21:40:42Z)
OS version: Windows_NT x64 10.0.26200
Modes:
System Info
|Item|Value|
|---|---|
|CPUs|Intel(R) Core(TM) i7-14650HX (24 x 2419)|
|GPU Status|2d_canvas: enabled
GPU0: VENDOR= 0x8086, DEVICE=0xa78b [Intel(R) UHD Graphics], DRIVER_VENDOR=Intel, DRIVER_VERSION=32.0.101.6790 *ACTIVE*
GPU1: VENDOR= 0x10de, DEVICE=0x28e0 [NVIDIA GeForce RTX 4060 Laptop GPU], DRIVER_VERSION=32.0.15.9636
GPU2: VENDOR= 0x1414, DEVICE=0x008c [Microsoft Basic Render Driver], DRIVER_VERSION=10.0.26100.8737
Machine model name:
Machine model version:
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgpu: enabled
webnn: disabled_off|
|Load (avg)|undefined|
|Memory (System)|31.71GB (6.00GB free)|
|Process Argv|--crash-reporter-id c8863511-96a7-4101-9ad2-5c7e8d1fa2d3|
|Screen Reader|no|
|VM|0%|
Extensions (32)
Name|Identifier|Author|Version
---|---|---|---
Claude Code for VS Code|anthropic.claude-code|Anthropic|2.1.263
(neo) Git Graph|asispts.neo-git-graph|asispts|0.6.0
Log File Highlighter|emilast.logfilehighlighter|emilast|3.5.2
Prettier - Code formatter|esbenp.prettier-vscode|esbenp|12.4.0
REST Client|humao.rest-client|humao|0.25.1
LaTeX Workshop|james-yu.latex-workshop|James-Yu|10.18.0
Custom Word Highlighter|jschmiegel.custom-word-highlighter|jschmiegel|0.1.0
colorize|kamikillerto.vscode-colorize|kamikillerto|0.17.1
LTeX+ – grammar/spell checking using LanguageTool|ltex-plus.vscode-ltex-plus|ltex-plus|15.7.1
Rainbow CSV|mechatroner.rainbow-csv|mechatroner|3.24.1
Container Tools|ms-azuretools.vscode-containers|ms-azuretools|2.5.0
Python Debugger|ms-python.debugpy|ms-python|2026.6.0
isort|ms-python.isort|ms-python|2026.6.0
Python|ms-python.python|ms-python|2026.4.0
Pylance|ms-python.vscode-pylance|ms-python|2026.3.1
Python Environments|ms-python.vscode-python-envs|ms-python|1.36.0
Jupyter|ms-toolsai.jupyter|ms-toolsai|2025.9.1
Jupyter Keymap|ms-toolsai.jupyter-keymap|ms-toolsai|1.1.2
Jupyter Notebook Renderers|ms-toolsai.jupyter-renderers|ms-toolsai|1.3.0
Jupyter Cell Tags|ms-toolsai.vscode-jupyter-cell-tags|ms-toolsai|0.1.9
Jupyter Slide Show|ms-toolsai.vscode-jupyter-slideshow|ms-toolsai|0.1.6
Dev Containers|ms-vscode-remote.remote-containers|ms-vscode-remote|0.469.0
Remote - SSH|ms-vscode-remote.remote-ssh|ms-vscode-remote|0.128.0
Remote - SSH: Editing Configuration Files|ms-vscode-remote.remote-ssh-edit|ms-vscode-remote|0.87.0
WSL|ms-vscode-remote.remote-wsl|ms-vscode-remote|0.104.3
C/C++|ms-vscode.cpptools|ms-vscode|1.33.8
Remote Explorer|ms-vscode.remote-explorer|ms-vscode|0.5.0
Material Icon Theme|pkief.material-icon-theme|PKief|5.38.1
YAML|redhat.vscode-yaml|redhat|1.24.0
Even Better TOML|tamasfe.even-better-toml|tamasfe|0.21.2
Lorem ipsum|tyriar.lorem-ipsum|Tyriar|1.3.1
Markdown All in One|yzhang.markdown-all-in-one|yzhang|3.6.3
A/B Experiments
```
vsliv368:30146709
binariesv615:30325510
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
6518g693:31463988
aj953862:31281341
envsactivate1:31551504
cloudbuttont:31379625
42190218_ostrepl:31403339
ec5jj548:31422691
cp_cls_t_966_ss:31526232
4je02754:31466945
8hhj4413:31478653
cp_cls_c_1081:31454833
conptydll_true:31498968
e9c30283:31461165
46204921:31447328
ei9d7968:31496641
chat:31457767
8hig5102:31480529
89g7j272:31518289
i2gc6536:31499202
52612955:31516516
23c7c724:31520045
ddid_t:31478206
hmra_i5g22:31518061
ja75b849_copy:31580634
7df3h592:31512476
cp_cls_t_1082:31535311
logging_enabled_new:31498466
db5d2638:31499441
jb_cp_cls_t_632:31543129
56dj4588:31512888
32d76977:31512328
ha629193:31508444
a1ije391_t:31540920
jbcp_cls_pctr_t:31531130
cp_intellij_t_nes:31548657
gf14b233:31526830
ahp-both-windows:31556933
ihg5j128:31534457
9gg7f176:31542112
nes-ex-cf-euporie-03:31542868
enable_editor_pane_layout:31569726
allow-none:31555437
ac562147:31564510
c7c27ce7:31554789
1h923230:31564177
1532g621_copy:31554320
treatment-23-1:31555779
unuse_dynamic_mcp:31555281
0d8dfbc3:31570291
0c1h4866:31566224
session-mark-done:31558131
5b8j3302:31564601
mangle-name-control:31572633
intellij_nes_preview_t:31580086
39a5d156:31574986
2bfb8b39:31576696
permission_prompt_treatment:1332566
ccr_pr_nudge_control:1319470
vsc_wsm_t:1340632
eh853263:1370294
auto_mode_treatment:1367907
cfee5631:1379228
```
Contributor guide
Assessment
This issue has not been assessed yet.