Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Entity for Claude CodeNew to Visual Studio Code? Get it now.
Entity for Claude Code

Entity for Claude Code

MTB

|
1 install
| (0) | Free
A low-poly head with an open skull that watches Claude Code work: it thinks, searches, frowns at failing tests, smiles at a commit and sends sub-agents flying out of its skull.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Entity

A low-poly head with an open skull that watches Claude Code work.

Česky

Entity sending out five sub-agents

Entity puts a face on Claude Code. Every prompt, tool call, sub-agent and compaction plays out on a faceted head inspired by the opening of Beyond the Mind's Eye: in place of a brain, a cluster of atoms sends pulses of light through the open skull, and the corners carry live telemetry from your session.

It runs as a VS Code panel, or in a window of its own next to Claude Code in a terminal or the Claude desktop app.

Download: the standalone app (zip) · the VS Code extension (.vsix) · or Entity for Claude Code in the VS Code Marketplace. Earlier versions are on the Releases page.

What it does

When Claude… the head…
gets a prompt looks at you, then narrows its eyes and thinks; the cluster lights up
reads and searches (Read, Grep, Glob) eyes darting, looking around; blue pulses
searches the web (WebSearch, WebFetch, a browser) looks far off, past you; teal pulses
runs a command (Bash, PowerShell) a grave, fixed stare, brows down; orange pulses
runs tests holds its breath, lips pressed; breathes out and smiles when they pass, winces when they fail
fails at the same thing again a deep breath, a deeper frown; relief when it works at last
commits or pushes a proud nod and a smile
edits files a focused look down; purple pulses
sends out a sub-agent a smaller cluster flies out of the skull on a tether and roams round the head – up to its outline, never across it – each by its temper: the searcher (Explore) darts everywhere, the worker runs low, the planner hovers above, the inspector (review, tests) circles close, the watcher (logs) keeps to the top corners. It stops and scans whenever the agent uses a tool
a sub-agent finishes the fragment flies home and merges with the brain; a background agent stays out until it really ends
a tool fails a twitch, a red glitch
compacts the conversation closes its eyes and lifts its head as in meditation, while a wave of facets runs across the face in time with its breath; violet pulses
needs your permission raises its brows, looks straight at you and says so
asks you something (a question, a plan to approve) tilts its head, leans in and waits for your answer
is thanked or praised smiles
is interrupted (Esc) a start – head back, eyes wide, a blink – then calm
is done nods and rests; falls asleep halfway through the prompt-cache countdown
the session ends, or the cache runs out meditates, then falls apart into shards, leaving a golden spark; your next prompt brings it back together
Taking shape from shards and dissolving again The compacting wave
taking shape from shards, and falling apart again compacting: a wave of facets, in time with its breath
Asking a question A smile when thanked
asking you something thanked

Getting started

VS Code

  1. Install Entity for Claude Code from the Marketplace.
  2. Click the Entity icon in the activity bar. On first start Entity asks to connect to Claude Code: choose Install hooks.
  3. Start a new Claude Code session – in the terminal, the VS Code extension or the desktop app. The head takes shape with your first prompt.

The head is a VS Code view: drag it to the side bar, the secondary side bar or the panel by the terminal, and VS Code remembers where. Entity: Open in Editor Tab puts it next to your code or in a window of its own. If you lose it, click 👁 Entity in the status bar or run Entity: Show Head.

Without VS Code

Download the standalone app, unpack it anywhere and run Entity.cmd (Windows), Entity.command (macOS, double-click) or ./entity.sh (Linux). On its first start it connects to Claude Code, then opens a window without browser bars at http://localhost:5190 (Edge or Chrome in app mode). Any browser can open that address too – the browser panel of the Claude desktop app included.

Options: --port=5191, --no-open (only the server), --remove-hooks (disconnects Entity from Claude Code), --log (prints every event from Claude Code and what the head got).

macOS blocks a file downloaded from the internet the first time (unidentified developer): right-click → Open → Open; on macOS 15+ System Settings → Privacy & Security → Open Anyway; or once xattr -dr com.apple.quarantine <the Entity folder>.

The extension and the standalone window can run at the same time.

Requirements

  • Claude Code – the CLI, the VS Code extension or the desktop app.
  • Node.js 18+ to run the hooks (the Node.js inside VS Code can't be used for that). Without one, Entity offers to download its own: Node.js 24 LTS from nodejs.org, about 40 MB (60 MB on macOS/Linux), checked by SHA-256, into %LOCALAPPDATA%\Entity\node (~/.local/share/Entity/node). No admin rights; your PATH and everything else stay as they are.

Privacy

Everything stays on your computer.

  • The hooks start a small script in the background (async), so Claude Code never waits for it. It passes the event on to Entity at 127.0.0.1: what happened, the tool's name, the session, and a few flags – a command runs tests, a command commits, a prompt thanks or praises. Never the prompt, a command or a file's content. A sub-agent's type and the short description Claude gives it are passed on to label it.
  • Entity reads the session's transcript on your disk for the numbers in the corners and to see when sub-agents end.
  • No telemetry. The only download is the optional Node.js from nodejs.org, after you agree to it.

Connecting to Claude Code

Entity: Install Claude Code Hooks adds Entity's hooks to ~/.claude/settings.json; it saves a backup (settings.json.entity-backup) before every change and leaves your other hooks and settings alone. Entity: Remove Claude Code Hooks (or --remove-hooks) takes them out again – do that before you uninstall. A hook that gets lost is made up for within seconds from the session's transcript.

Older Claude Code. Before 2.1.101, Claude Code ignores the whole settings.json as soon as it finds a hook event it doesn't know. Entity asks claude --version and gives an older Claude Code only the events it knows (it then doesn't see tool failures, for one). After claude update, start Entity again and all of them are set.

The corners

  • top left – how full the context window is (CTX)
  • bottom left – output tokens and tools of the current request (REQ)
  • bottom right – how long the server keeps the conversation in its prompt cache (MEM). When the cache runs out and nothing is going on, the head dissolves; the next prompt brings it back.

Account limits only reach Entity through Claude Code's status line. Entity: Enable Claude Code Status Line sets ~/.claude/entity/entity-status.js as the status line: one row in the terminal (model, context, the 5-hour and weekly limits) and the same numbers for the head – top right what's left of the 5-hour session (SES) and when it resets (RST), bottom right the weekly limit (WK). Entity never replaces a status line of someone else's.

With several sessions, the head follows the one you last typed into; another takes over once that one is idle.

Voice

The head speaks a few lines in English or Czech (switch in the menu), with subtitles that type out even when the sound is off. Your own recordings with the same names in ~/.claude/entity/voice (Czech in cs/) take precedence – Entity: Open Voice Folder. VS Code lets a panel play sound only after it has been clicked once; until then the head speaks in subtitles.

Controls

Right-click the head for its menu: what it's doing, voice language, volume, talkativeness, the HUD, VHS, glow, grid, backdrop speed and the demo (Entity: Play Demo runs through all of the above). The D key shows the control panel with buttons for every event.

Setting
entity.onlyThisWorkspace react only to sessions running inside this window's folders
entity.statusBar the last Claude Code event in the status bar
entity.voiceFolder a folder with your own voice recordings
entity.showControls show the control panel on start

Development

npm install
npm run vendor
npm run preview

The preview runs at http://localhost:5180/?debug. Useful parameters: clean (no panel), still (the head holds still), zoom=2, orbit=90 (side view), lookX=-0.3, lookY=0.1, noeyes. npm run package builds the .vsix; npm run dist builds the extension and the standalone app (folder and zip) into distribuce/. A version tag (v1.0.7, matching package.json) makes GitLab build both and publish them as a release (.gitlab-ci.yml, tools/gitlab-release.js).

The head itself (media/js/head-mesh.js, head-shape.js) is generated from a detailed sculpt that is not part of this repository: tools/bake-shape.js fits it to anatomical measures and finds the skull cut, tools/build-head.mjs --tris=2600 opens the skull in square steps, cuts the eyes and lips and reduces it to about 2,600 flat triangles. node tools/export-stl.mjs exports the head as you see it.

Where What
media/js/sculpt-head.js the head: facets, jaw, brows, smile, shards, the compacting wave
media/js/eyes.js eyeballs and lids
media/js/brain.js the cluster in the skull and the sub-agent fragments
media/js/behavior.js moods: what the head does on which event
media/js/voice.js lines, playback, the jaw following the voice
media/js/fx.js, background.js scan ring, HUD, the backdrop
extension/core.js events in, shared by the extension and the standalone app: sessions, agents, transcripts
extension/hooks-config.js Entity's entries in ~/.claude/settings.json
hooks/entity-hook.js the script Claude Code runs for each hook
hooks/entity-status.js the optional status line
standalone/entity-app.js the standalone app

Credits

Inspired by the opening of Beyond the Mind's Eye – the open-skull head, the telemetry in the corners, the cyan scan ring, the glitch. Built with three.js. Made by MTB, together with Claude.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft