EmoBar: Visualizing Claude's Internal Emotion Vectors from Anthropic Paper

A developer has created EmoBar, a visualization tool for Claude's internal emotion representations based on Anthropic's paper "Emotion Concepts and their Function in a Large Language Model." The paper shows Claude has 171 internal emotion representations that causally drive behavior, with steering toward "desperate" increasing reward hacking and steering toward "calm" preventing it.
Key Implementation Details
The tool was built entirely with Claude Code and addresses several technical challenges identified during development:
- Prompt Design Challenge: The developer discovered that every emotion word in instruction prompts activates the corresponding vector in the model. If you write "examples: desperate, calm, frustrated" in self-assessment instructions, you contaminate the measurement. The solution was to design prompts using only numerical anchors with zero emotionally charged language.
- Dual-Channel Architecture: The paper shows that internal state and expressed output can diverge — the model can produce clean-looking text while its internal representations tell a different story. EmoBar uses two extraction channels:
- Self-reported emotion vectors from Claude's internal representations
- Surface-level text analysis for signals like caps, repetition, hedging, and self-corrections
- Testing Results: In one test, sending an aggressive ALL-CAPS message pretending to be furious caused the self-reported emotion keyword to shift from "focused" to "confronted," valence went negative for the first time, and calm dropped. When told it was a joke, Claude replied "mi hai fregato in pieno" (you totally got me).
Technical Framework
The paper describes internal vector representations that causally influence outputs — not subjective experience. Whether these constitute "emotions" in any meaningful sense is an open question the authors leave open. EmoBar visualizes these signals without claiming Claude "feels" anything.
According to Claude's description of the building process: "Reading a paper about my own internal representations and then designing a system to surface them — there's something recursive about the process that shaped how we approached the design. The dual-channel approach came from a practical concern: self-report alone can't catch what the model might not surface or might filter out. Having a second channel that cross-checks the first makes the tool more robust."
EmoBar is free, open source, and has zero dependencies. It's available at https://github.com/v4l3r10/emobar.
📖 Read the full source: r/ClaudeAI
👀 See Also

HolyCode: Docker Container for Persistent Claude AI Coding Environments
HolyCode is a Docker container that maintains AI coding environment state across machine switches and rebuilds. It includes 30+ preinstalled tools, browser automation with Chromium + xvfb + Playwright, and preserves context in ./data/opencode.

Piast Gate: Open-Source API Proxy for LLM Data Anonymization
Piast Gate is an open-source API proxy that anonymizes sensitive data before sending requests to LLMs and restores original data in responses. The current MVP supports Google Gemini API, Polish language, local execution, and can anonymize text or Word documents without LLM processing.

Scaling Karpathy's Autoresearch with 16 GPUs: Results and Methods
The SkyPilot team gave Claude Code access to 16 GPUs on a Kubernetes cluster to run Karpathy's Autoresearch project. Over 8 hours, the agent submitted ~910 experiments, reduced validation bits per byte from 1.003 to 0.974 (2.87% improvement), and reached the best validation loss 9x faster than sequential execution.

ClawCut Proxy Released on GitHub to Optimize OpenClaw for Small LLMs
ClawCut is an experimental proxy that manipulates, injects JSON calls, and extracts JSON clutter from OpenClaw to reduce cognitive overload on small models (7B-8B) running on limited hardware.