davenicoll

Claude Heads — Communication skill for Claude Code

Communication community

Floating chat heads on macOS for Claude Code instances.

How to install Claude Heads

This entry records only its repository, not the path inside it, so there is no exact command to give. Open davenicoll/claude-heads and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Heads does

Floating chat heads on macOS for Claude Code instances.

Alternatives in Communication

README

Claude Heads (AKA a stupid experiment)

A native macOS app that puts floating chat heads on your desktop, one per Claude Code session you launch from the app.

Pick a project folder from the menu bar and Claude Heads spawns `claude` in that folder inside a pseudo-terminal, then shows a head for it. Each head shows the folder name, with an auto-generated color derived from the path. Click a head to see its terminal. When Claude goes quiet after a stretch of work, the head waves to get your attention.

Heads are only created for sessions started from the app; it does not discover `claude` processes launched elsewhere (e.g. from your own terminal).

Features

  • Floating always-on-top chat heads, one per claude CLI process spawned by the app
  • Click a head to open a floating terminal (SwiftTerm) attached to the session's PTY; keyboard input goes straight to claude
  • Pin a terminal from its title bar to keep it open when you click away; unpinned terminals close when focus moves to another app or a non-terminal window (switching between head terminals keeps them open)
  • Auto-generated gradient backgrounds derived from the folder path
  • Magnetic snap: drop a head near another and it snaps edge-to-edge
  • Multi-monitor aware with position memory across launches
  • Wave animation when Claude goes idle after working
  • Subagent orbit: with the SubagentStart/SubagentStop hooks configured, each Claude Code subagent appears as a small head (35% of the parent's size, coloured by agent type, hover for the agent type) orbiting its parent until it finishes; turn it off with "Show children for subagents" in Settings
  • Configurable terminal font, head size, snap distance, subagent children on/off, and default CLI flags/arguments
  • Installs the Claude Code hooks it needs into ~/.claude/settings.json on launch and removes them on quit, with a minimal text edit that preserves everything outside its own entries byte-for-byte (see Hook Setup)
  • Menu bar app (no dock icon)

R