npx claudepluginhub texmeijin/claude-code-mascot-statuslineASCII and ANSI mascot runtime for Claude Code status lines.
A pixel-sprite mascot that lives in your Claude Code status line.

Claude Code has dramatically improved development efficiency — but it has also increased cognitive load. In the middle of intense coding sessions, we need a little moment of comfort.
This mascot changes its expression every time a tool runs during your session. When context window usage gets critical, it turns bright red in panic. You can even create your own custom character pack (this is still in beta — give it a try!).
For engineers who find themselves more and more consumed by their work — a small dose of comfort, right in your terminal.
The mascot detects session state through Claude Code's hook system. Each hook event (tool start, tool success, permission request, etc.) updates the mascot's internal state, and the status line renders the corresponding expression.
Because this is event-driven rather than continuous polling, the displayed state may not always reflect the exact real-time status of your session. For example, there can be brief delays or missed transitions depending on hook timing. Think of it as a companion that reacts to events — not a precise status monitor.
/plugin marketplace add TeXmeijin/claude-code-mascot-statusline
/plugin install claude-code-mascot-statusline
Then run the setup skill to configure your status line and hooks:
/claude-code-mascot-statusline:setup
git clone https://github.com/TeXmeijin/claude-code-mascot-statusline.git
cd claude-code-mascot-statusline
npm install && npm run build
node dist/cli/setup-helper.js --write
Existing statusLine is replaced automatically. Hook entries are merged without removing your existing hooks.
A second built-in pack space-invader is also available — useful for distinguishing between projects or accounts.
The mascot is fully swappable. You can create your own character pack and use it instead of the default cat.
<project>/.claude/mascot-packs/<pack-name>/~/.claude/plugins/claude-code-mascot-statusline/packs/<pack-name>/packs/<pack-name>/ (ships with the plugin)examples/external-pack/pack.yaml as a starting point~/.claude-mascot/packs/<your-pack-name>/pack.json (or pack.yaml)~/.claude/plugins/claude-code-mascot-statusline/config.json:{
"pack": "your-pack-name"
}
node dist/cli/validate-pack.js ~/.claude/plugins/claude-code-mascot-statusline/packs/your-pack-name
node dist/cli/storybook.js --pack your-pack-name
See docs/pack-spec.md for the full pack specification.
Tip: You can also use the
/create-mascot-packskill in Claude Code to create or iterate on a pack interactively.
~/.claude/plugins/claude-code-mascot-statusline/config.json.claude/mascot.json (overrides user config){
"pack": "pixel-buddy",
"color": "auto",
"twoLine": true,
"renderProfile": "claude-code-safe",
"safeBackground": "#000000"
}
| Variable | Description |
|---|---|
CLAUDE_MASCOT_PACK | Override the active pack name |
CLAUDE_MASCOT_COLOR | Set to never to disable colors |
CLAUDE_MASCOT_WIDTH_HINT | Hint the available width for narrow mode |
NO_COLOR | Standard no-color flag (disables ANSI colors) |
claude-code-safe (default): keeps half-block rendering for visible pixels, emits transparent cells as background-colored non-breaking spaces to prevent host trimmingauto: uses the pack's declared renderer exactly as-isRun from the plugin root directory (cd into your clone or install path):
# View all states in a storybook-style gallery
node dist/cli/storybook.js --pack pixel-buddy
RuFlo Marketplace: Claude Code native agents, swarms, workers, and MCP tools for continuous software engineering
No description available.
Code intelligence powered by a knowledge graph — execution flows, blast radius, and semantic search