Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
# Claude Code UI layout (measured reference)
Captured from the real `claude` CLI (v2.1.220) under a pty + VT102 emulator at
100x30, with per-cell SGR attributes extracted, so every color below is
measured, not eyeballed. This is the reference to diff
[repl-ui-layout.md](repl-ui-layout.md) against when editing copperhead's
chrome.
## State 1: idle prompt
```text
2| ▐▛███▜▌ Claude Code v2.1.220 <- logo[#d77757] name[bold, default fg] version[#999999]
3|▝▜█████▛▘ Fable 5 with high effort · Claude Max <- logo[#d77757] model+plan[#999999]
4| ▘▘ ▝▝ ~/Github/chouhan-industries/copperhead <- logo[#d77757] cwd[#999999]
5|
6| Tackle your toughest work with Opus 5. ... <- notice body[default fg]
7| +1 more · /status <- [#999999]
..| <- content region, output scrolls here
25| ● high · /effort <- meta right-aligned, all [#999999]
26|───────────────────────────────────────────────────── <- rule[#888888], full width
27|❯ Try "create a util logging.py that..." <- ❯ + nbsp[default], placeholder[faint], caret = real cursor
28|───────────────────────────────────────────────────── <- rule[#888888], full width
29| ⚠ Transcript saving is off · ... <- warning line (only when present)
30| ⏸ manual mode on · ? for shortcuts <- status left[#999999]
```
## State 2: slash menu open (upward overlay, input row fixed at 27)
```text
22| /pr-review Review a copperhead pull request... <- hovered: label+desc[#b1b9f9], no inverse video
23| spec workflow. Use when the user... <- description wraps to a second row
24| /review Review a GitHub pull request; ... <- unhovered: [#999999]
26|─────────────────────────────────────────────────────
27|❯ / <- typed filter[default fg]
28|─────────────────────────────────────────────────────
30| ⏸ manual mode on <- status shrinks while menu is open
```
## State 3: Ctrl+C pressed once
```text
30| Press Ctrl-C again to exit <- [#999999], replaces the status line
```
## Measured color palette
| Role | Value | Notes |
| --------------------------- | ----------------- | --------------------------------------- |
| Accent (logo) | `#d77757` | truecolor; the only saturated color |
| Title (`Claude Code`) | bold, default fg | not white-forced: follows the theme |
| Secondary text | `#999999` | truecolor gray, softer than SGR 90 |
| Rules | `#888888` | one step darker than secondary text |
| Menu hover | `#b1b9f9` | periwinkle, hover is a color change |
| Placeholder | faint (SGR 2) | not fg-colored, uses the faint attr |
| Caret | terminal cursor | real cursor, not a synthetic inverse |
## Structural notes vs copperhead's current implementation
1. Grays: adopted. copperhead's `dim`/`ruleDim` are truecolor
`#999999`/`#888888` (with an SGR 90 fallback when truecolor is off).
2. Menu hover: adopted as a color change. Claude recolors the row with
periwinkle `#b1b9f9`; copperhead recolors with `copperLight` (#eec9a5)
instead of inverse video.
3. Hovered menu descriptions: adopted. Both wrap to a second row.
4. Caret: adopted. copperhead parks the real terminal cursor in the input
row instead of drawing a synthetic inverse block.
5. The name `Claude Code` is bold in the terminal's default foreground, so it
adapts to light/dark themes, it is not hard-coded white.
6. There is a non-breaking space after `❯` in the prompt.
To adopt any of these in copperhead, edit the corresponding line in
[repl-ui-layout.md](repl-ui-layout.md) and paste it back.
ff4fe56b2This file is pinned to the selected release. Download the original to open it in your design tool.