Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Jamespptsr/CWTY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

7 Commits

Repository files navigation

CWTY — Claude Wanna Tell You

A status.claude.com health indicator for your Claude Code statusline. Monitors API health and shows it as a colored face — so Claude can tell you how it's feeling before you ask.

What It Looks Like

All systems operational — green [^_^]

All operational

Degraded performance — yellow [*_*] with warning text

Degraded status

Three Face Styles

 kaomoji (default) ascii minimal
 ───────────────── ───── ───────
 [^_^] all good :) all good OK all good
 [*_*] degraded :| degraded !! degraded
 [>_<] major outage :( outage XX outage
 [x_x] critical X( critical XX critical
 [?_?] unknown :? unknown -- unknown

Status Colors

 Green [^_^] All systems operational
 Yellow [*_*] not feeling great
 Red [>_<] check status.claude.com
 Bold Red [x_x] API is down
 Grey [?_?] No data yet

Faces are clickable links to status.claude.com in supported terminals (iTerm2, WezTerm, Kitty, Windows Terminal, ConEmu) via OSC 8 hyperlinks.

Features

  • Polls status.claude.com API every 60 seconds with synchronous fetch (~100ms)
  • UserPromptSubmit hook warns when API is degraded or down
  • Configurable segments: model, git branch, diff stats, context bar, status face, rate limit, cost
  • Three face styles: kaomoji, ascii, minimal
  • Auto-detects subscriber (shows rate limit %) vs API user (shows session cost)
  • Interactive /statusline skill for toggling segments
  • Zero extra dependencies — only curl and node (both already available with Claude Code)

Install

git clone https://github.com/Jamespptsr/CWTY.git
cd CWTY
# Extend your existing statusline (recommended)
bash scripts/install.sh --extend
# Or use as standalone statusline
bash scripts/install.sh --standalone
# Uninstall and restore original statusline
bash scripts/install.sh --uninstall

Prerequisites

  • curl (built-in on macOS/Linux/Git Bash)
  • node (comes with Claude Code — if you can run Claude Code, you already have it)

Windows

CWTY works on Windows via WSL2 (recommended) or Git Bash:

git clone https://github.com/Jamespptsr/CWTY.git
cd CWTY
bash scripts/install.sh --extend

Clickable face links work in Windows Terminal (detected via WT_SESSION env var) and ConEmu/Cmder (detected via ConEmuPID).

Configuration

Edit ~/.claude/statusline.conf or use the /statusline command inside Claude Code:

# Toggle segments: 1 = show, 0 = hide
SHOW_MODEL=1
SHOW_GIT_BRANCH=1
SHOW_GIT_DIFF=0
SHOW_CONTEXT_BAR=1
SHOW_STATUS_FACE=1
SHOW_COST=0
SHOW_RATE_LIMIT=1
# Face style: kaomoji | ascii | minimal
FACE_STYLE=kaomoji

How It Works

  1. Statusline script reads JSON from Claude Code on stdin (model, context, rate limits)
  2. Checks ~/.cache/claude-status-light/status.json — fetches fresh data if stale (>60s)
  3. Renders colored face segment based on API status indicator
  4. hooks/status-warning.sh fires on UserPromptSubmit, injects context warning if API is degraded
status.claude.com/api/v2/status.json
 │
 ▼
 ┌───────────┐ ┌──────────────┐ ┌────────────┐
 │ curl fetch │────▶│ cache (JSON) │────▶│ render face │
 │ 2s timeout│ │ 60s TTL │ │ + ANSI color│
 └───────────┘ └──────────────┘ └────────────┘

Cache location: ~/.cache/claude-status-light/status.json

Manual Test

# Fetch status and show the face
bash lib/fetch-status.sh
bash bin/claude-status-light
echo # newline
# Test the hook (pipe empty JSON)
echo '{}' | bash hooks/status-warning.sh

License

MIT

About

Claude Wanna Tell You — status.claude.com health indicator for Claude Code statusline

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /