feat: Claude Code-style gray box behind user messages #43

Merged
owlburtoe merged 1 commit from clfy-user-message-box into master 2026-07-16 18:45:16 -04:00
Owner

What

Claude Code v2.1.211 renders settled user input on a gray block — dim on the background, text bright, one rectangle padded to the widest wrapped line plus a column (fresh tmux capture: bg 48;5;237, prefix 239, text 231). This supersedes the July 13 capture's "no box" row; claudify 2.2.0 renders user messages unboxed.

New userMessageBox setting on the Messages section of /claudify:

  • theme (default) — the box inherits the active pi theme's own userMessageBg and dim colors. pi themes are user-editable JSON and every one defines userMessageBg, so heavily customized themes keep their palette; claudify remembers the theme's original value per instance before its transparent overwrite.
  • claude — the captured CC values byte-for-byte (#3a3a3a / #4e4e4e / bright white). Wrong-by-construction on light themes, which is why it isn't the default.
  • off — the 2.2.0 rendering.

One capture nuance, documented: CC paints the box only once the message settles (the in-flight echo is plain). pi has no separate pending-echo presentation, so claudify boxes from the start.

Capture + geometry: docs/plans/2026-07-16-cc-user-message-box.md.

Test plan

  • scripts/test-claudify-hub.ts: claude-mode bytes exact (bg/prefix/text), rectangle padding equal across lines, theme mode structural (truecolor bg, text color left to theme), interior blank lines painted, trailing spacing line untouched.
  • Full suite 15/15 green; tsc --noEmit --strict clean.
  • Live eyeball in pi (then cut 2.3.0 with the accent change).
## What Claude Code v2.1.211 renders settled user input on a gray block — `❯` dim on the background, text bright, one rectangle padded to the widest wrapped line plus a column (fresh tmux capture: bg `48;5;237`, prefix `239`, text `231`). This supersedes the July 13 capture's "no box" row; claudify 2.2.0 renders user messages unboxed. New **`userMessageBox`** setting on the Messages section of `/claudify`: - **`theme`** (default) — the box inherits the **active pi theme's own `userMessageBg`** and `dim` colors. pi themes are user-editable JSON and every one defines `userMessageBg`, so heavily customized themes keep their palette; claudify remembers the theme's original value per instance before its transparent overwrite. - **`claude`** — the captured CC values byte-for-byte (`#3a3a3a` / `#4e4e4e` / bright white). Wrong-by-construction on light themes, which is why it isn't the default. - **`off`** — the 2.2.0 rendering. One capture nuance, documented: CC paints the box only once the message settles (the in-flight echo is plain). pi has no separate pending-echo presentation, so claudify boxes from the start. Capture + geometry: `docs/plans/2026-07-16-cc-user-message-box.md`. ## Test plan - [x] `scripts/test-claudify-hub.ts`: claude-mode bytes exact (bg/prefix/text), rectangle padding equal across lines, theme mode structural (truecolor bg, text color left to theme), interior blank lines painted, trailing spacing line untouched. - [x] Full suite 15/15 green; `tsc --noEmit --strict` clean. - [ ] Live eyeball in pi (then cut 2.3.0 with the accent change).
feat: Claude Code-style gray box behind user messages
All checks were successful
Plane Sync / Close referenced Plane work items (pull_request) Successful in 1s
31d9fd7ba6
CC v2.1.211 paints settled user input on a gray block (captured: bg 237,
dim ❯ 239, bright text 231, one rectangle padded to the widest wrapped line
+1 column) — superseding the July 13 'no box' capture. New userMessageBox
setting on the Messages section: theme (default — inherits the active pi
theme's own userMessageBg and dim, so custom theme JSONs keep their palette),
claude (the captured CC values exactly), off (the 2.2.0 rendering). The
theme's original userMessageBg is remembered per instance before claudify's
transparent overwrite so the box can use it.

Capture/decisions: docs/plans/2026-07-16-cc-user-message-box.md.
owlburtoe merged commit 96b49081c6 into master 2026-07-16 18:45:16 -04:00
owlburtoe deleted branch clfy-user-message-box 2026-07-16 18:45:17 -04:00
owlburtoe referenced this pull request from a commit 2026-07-16 18:47:01 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
owlburtoe/pi-claudify!43
No description provided.