Running four agents? Give each window its own face
Parallel agents stopped being exotic: one deep task, one review pass, one risky experiment, maybe a long-running background job. And every one of those windows ships in the same dark theme. The first time you paste a production-touching command into the experiment window — or approve the experiment's permission prompt in the window holding production — the cost of that sameness gets very concrete. Themes fix it, for free.
Why you grab the wrong window
Window titles do not save you. They are small, they truncate, and after three hours they all read as the same repo name anyway. Reading a title is conscious work, and under load, conscious work is exactly what gets skipped. Color is different: it is preattentive. You register a mint-green window before you have read a single word in it. Ops people institutionalized this a generation ago with red backgrounds on production shells — the trick is old, the windows are new.
Picture the standard Friday shape of it: window one is refactoring auth, window two is reviewing a teammate's PR, window three is a yolo experiment against a scratch database, window four is babysitting a migration. A permission prompt pops. Which window asked? If all four are Catppuccin Mocha, the honest answer is that you check — four times an hour, forever — or that one day you do not. The scheme below exists for that one day.
Assign colors to roles, not projects
Projects rotate weekly; roles are stable for years. Key the scheme to roles and it survives every context switch. A mapping we like, using themes from our own shelves:
Main work gets your best high-contrast dark — the window you live in should be the one tuned hardest. Ember Shift was built for this seat: near-black layers, one ember-orange accent that marks your own prompts. Tokyo Night fills the same slot with a cooler cast.
Review gets a light theme: Paper Terminal or GitHub Light. Review is reading, light backgrounds read as paper, and the polarity flip is visible from across the room. You will not mistake the library for the workshop.
Experiments get caution tape: something saturated and slightly loud. Neon Garden's mint-on-forest-black is unmistakable even in peripheral vision; Dracula's purple-and-pink does the job with more nostalgia. The point is a color that asks "are you sure?" before you do.
Background jobs get a muted theme like Nord — frost blue, low drama, easy to ignore on purpose. A window you check twice an hour should not shout in between.
Claude Code: per-window identity via the terminal
Claude Code's theme is a single setting, so the reliable per-window route runs one layer down: terminal profiles. iTerm2, Ghostty, kitty, Windows Terminal and friends all support multiple profiles with distinct color palettes. Make one profile per role, then run Claude Code with the dark-ansi or light-ansipreset — those render from the terminal's sixteen ANSI colors, so each profile's palette becomes that window's Claude Code look automatically.
The setup cost is one-time. Afterwards, opening the review terminal is opening the light room; nothing to switch per session. When you do want an app-level change, /theme is right there, and v2.1.118+ can hold a custom theme for your main seat. The full decision tree lives in the Claude Code guide.
Codex app: switching is cheap, so lean on it
The Codex app keeps its appearance in its own settings, and switching takes seconds. Faster still: keep one install prompt per role palette — every theme page has the copy button — and let the agent restyle itself when a window changes jobs. If your setup shares one appearance across all app windows (details vary by version; trust your own settings page), split roles across surfaces instead: desktop app in the main palette, CLI sessions in role-colored terminals.
The one-glance audit
How do you know the scheme works? Look away from the screen, look back, and name each window's role in under a second without reading anything. That is the whole audit. If two windows need a second glance, they are too close — push them apart in temperature, not just hue: a warm dark next to a cool dark reads instantly, two cool darks never will. Position is your free second channel: keep review on the same monitor edge every day, and the color confirms what the location already suggested. Redundancy is not waste here — it is what lets the check happen below conscious attention, which is where you need it.
Make the mapping boring and shared
Two rules make the system stick. First, keep the mapping unchanged for a month before judging it — the payoff is muscle memory, and muscle memory needs repetitions, not novelty. Second, agree on it with your team. Once light means review, a screen-share explains itself before anyone speaks, and a saturated window at the edge of a demo tells the whole room what not to touch. The scheme stops being decoration and becomes vocabulary.
FAQ
? I only ever run two sessions. Still worth it?
Even more so — take a dark/light pair from one family: Gruvbox Dark and Light, Rosé Pine and Dawn, Catppuccin Mocha and Latte. Same taste, opposite polarity, and the wrong-window paste becomes nearly impossible.
? Claude Code has one theme setting. How do windows differ?
Do it at the terminal layer: one terminal profile per role, each with its own palette, then run Claude Code on dark-ansi or light-ansi so it inherits whichever profile hosts it. The app setting stays global; the windows still look nothing alike.
? A light review window at midnight hurts. Alternatives?
Swap the light slot for a soft, cool dark that contrasts your main — Nord next to Ember Shift reads instantly different. Identity comes from difference, not from lightness; keep the two far apart in hue and temperature and the scheme still works.
? Does this scale to eight agents?
Four or five clearly-distinguishable hue families is about the human ceiling. Past that, keep color for the risk tiers — loud still means experimental — and layer terminal tab titles or numbered profiles on top. At eight parallel agents, color is triage, not a full addressing scheme.
Pick your set in one pass through the gallery: one dark you love, one light you respect, one loud thing you would never daily-drive. That last one is the point.