Skip to content

feat(ui): draw Claude Code's mascot in the welcome overview - #441

Closed
ayush5harma wants to merge 2 commits into
srothgan:mainfrom
ayush5harma:contrib/welcome-mascot
Closed

ayush5harma wants to merge 2 commits into
srothgan:mainfrom
ayush5harma:contrib/welcome-mascot

Conversation

@ayush5harma

Copy link
Copy Markdown

Summary

  • Draw Claude Code's mascot in the welcome overview in place of the ASCII crab: the three rows of block glyphs from the Claude Code 2.1.293 welcome screen, in its clawd_body colour, with the eye cells on its clawd_background black.
  • The logo is nine columns wide where the crab is sixteen, so the overview text column moves from 20 to 13. The width and wrapping tests follow it, and measure columns by display width because each glyph is three bytes.

Why

Sessions in claude-rs run on the stock Claude Code, and the two banners differ for the same session. The rows were read from Claude Code's own screen with its colour escapes, not reconstructed. The eye cells sit on black so that the open quadrant of each eye glyph reads as an eye on light and dark terminal themes alike.

This is a design call, and it's yours to make (see #440). The crab is the project's own identity and the mascot is Anthropic's. This PR is kept separate so it can be declined without affecting anything else.

Closes #440

Validation

  • Automated, on this branch (macOS 27.2 on Apple Silicon, rustc 1.98.1 from nixpkgs rather than the 1.89 CI toolchain):
    • cargo fmt --all -- --check: passes
    • cargo clippy --all-targets --all-features -- -D warnings: passes, with five lints new in clippy 1.98 allowed (collapsible_match, manual_is_multiple_of, manual_is_variant_and, map_unwrap_or, while_let_loop). Across all targets, clippy 1.98 reports the same seven warnings on main and on this branch, none of them in this diff.
    • cargo fetch --locked: passes
    • cargo test --locked --all-features: all targets pass (lib 1878, terminal_resize 35 plus a serial run). The only failures were two update_check tests, caused by CLAUDE_RUST_NO_UPDATE_CHECK in my environment; they pass with it unset.
    • npm --prefix agent-sdk test (162) and npm --prefix agent-sdk run lint: pass
    • Not run: cargo deny, the MSRV check, the duplicate-code scan, Linux and Windows. I'm leaving those to CI.
  • Manual: started the debug binary against the real Claude Code 2.1.295 in tmux and captured the welcome screen on main and on this branch.
  • Screenshot/video (if UI changed): the text of both screens is below. The mascot is drawn in rgb(215, 119, 87), with the eye cells on black.

Before (main):

      _~^~^~_       Version: 0.15.2
  \) /  o o  \ (/   Subscription: Claude Team
    '_   -   _'     Cwd: ~/proj
    / '-----' \     Session ID: 7ca0ea29-...

After:

   ▐▛███▛█   Version: 0.15.2
  ▝▜██████▀  Subscription: Claude Team
   ▝▝   ▝▝   Cwd: ~/proj
             Session ID: 0bd87eaa-...

Notes

  • Breaking changes: N/A
  • Docs updated: N/A. Suggested changelog entry for the release: Welcome mascot: The welcome overview draws Claude Code's mascot instead of the ASCII crab.
  • Governance/release impact: N/A

🤖 Generated with Claude Code

ayush5harma and others added 2 commits October 9, 2026 20:40
The fork's sessions run on the stock Claude Code binary, so the banner
now shows the mascot Claude Code itself draws instead of the ASCII crab:
the three rows of block glyphs from the 2.1.293 welcome screen, in its
clawd_body colour with the eye cells on its clawd_background black, so
the open quadrant of each eye glyph reads as an eye on any terminal
theme. The rows were read from stock's screen with colour escapes, not
reconstructed.

The logo is nine columns wide where the crab was sixteen, so the text column moves
from 20 to 13. Static text, so it costs the same to draw as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ayush5harma
ayush5harma requested a review from srothgan as a code owner October 9, 2026 15:29
@srothgan

srothgan commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Pretty sure this violates Anthropic brand guidelines, so this wont be merged https://code.claude.com/docs/en/agent-sdk/overview#branding-guidelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Draw Claude Code's mascot in the welcome overview

2 participants