claudeers.
// Other

claudme

๐Ÿฆ€ Your AI coding agents are a crime family. One pixel crab per Claude Code session, crawling the edges of your screen.

// Other[ cli ][ api ][ desktop ][ web ][ mobile ][ claude ]#claude#otherโ—ท MIT$open-sourceupdated 5 days ago

Install with your AI

Paste into Claude Code, Cursor, or any agent โ€” it reads the repo and wires the tool into your project.

Install and set up claudme (git-clone project) into my current project.
Found on https://claudeers.com/claudme
Repo: https://github.com/marekadvocate/claudme
Homepage/docs: โ€”
Detected install method: git-clone โ†’ git clone https://github.com/marekadvocate/claudme
Category: other. Platforms: cli, api, desktop, web, mobile.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
unknown; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/marekadvocate/claudme

// compatibility

Platformscli, api, desktop, web, mobile
Operating systemsโ€”
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageSwift
Claudme

Claudme

Your AI coding agents are a crime family. Now you can see them.

One pixel crab per running Claude Code session, crawling the edges of your screen.

Native Swift ยท no Electron ยท no permissions ยท ~3 MB ยท MIT

An independent community project โ€” not affiliated with Anthropic. Full notice ยท Website


Have you lost the dopamine from clauding?

You used to build things. Now you type a sentence, watch a spinner, and read a diff. The work still ships โ€” faster than ever โ€” but the part that felt like something is gone. Six terminals, six spinners, nothing to look at.

Here comes the second stage. Your agents stop being progress bars and become a crew: named, ranked, wearing colours you recognise, celebrating their own wins along the edge of your screen. Same output. The feeling comes back.

Why

If you run one agent, you don't need this. If you run six, you know the problem:

Which one just finished? Which one is waiting on permission? Which one died on a rate limit?

Claudme moves that question out of your working memory and into your peripheral vision. Every session becomes a crab on the edge of your screen โ€” never covering your work, but always telling you who needs you. The crime family part is because it's more fun that way.

Install

Requires macOS 13+ and Xcode command line tools (xcode-select --install).

git clone https://github.com/marekadvocate/claudme.git
cd claudme
./build.sh
open build/Claudme.app

A ๐Ÿฆ€ and a count appear in your menubar. Crabs show up along your screen edge within a second.

On first launch Claudme asks once whether to enable live reactions โ€” a one-line hook in ~/.claude/settings.json that lets crabs react the instant a turn ends instead of up to a second later. It only ever talks to 127.0.0.1, always exits 0 so it can never block or slow Claude Code, and your settings are backed up to settings.json.bak-claudme first. Answer once; it never asks again. Change your mind later with --install-hooks / --remove-hooks.

Uninstall: build/Claudme.app/Contents/MacOS/Claudme --remove-hooks, quit, delete the folder. Nothing else is left behind.


What the crabs tell you

you seeit means
strolling slowly, smallsession idle
hurrying, full sizesession working
steam off its head, dilated eyes, jitterworking at xhigh or max effort
stops and hops, ! bubblewaiting for you โ€” permission or input
jump, confetti, "It's done, boss."turn just finished
curled up on the bottom edge, z Zidle more than 10 minutes
wakes up, grumbles, shuffles somewhere elseasleep in the same spot for a minute
stretched out in a striped deckchairit's Friday
in the deckchair, but grey and queasyit's Saturday
shaking its head, no chair, no patienceit's Monday
โš ๏ธ bubblerate limit or API error
chewing, ๐Ÿ—œ๏ธ bubble, then a burpcompacting its context
little crabs bobbing alongsidethat session's subagents
๐Ÿ•ถ๏ธ black shadesrunning with --dangerously-skip-permissions
๐Ÿค“ round glassesplan mode
๐Ÿ›ฐ๏ธ orbiting satelliteremote / bridged session
bigger, darker crabbigger model

Click a crab โ€” the terminal running that session comes to the front. Right-click โ€” its working directory, era and status.

The Dock. The overlay sits a level above the Dock so the crabs walk in front of it, which means a crab parked on an icon could swallow the click meant for it. Two things stop that, and only one of them is a setting.

Always on: a crab loitering in the Dock's band scurries sideways as your cursor comes down, so it is out of the way by the time you arrive.

Clickable over the Dock (menubar, on by default): leave it on and the crabs stay clickable everywhere, relying on them moving aside. Turn it off and Claudme never takes the mouse inside the Dock's band at all โ€” an icon click can then never be swallowed, at the cost of not being able to click a crab that is standing there.

The family

Every session is a made man with a stable name: the same session always produces the same crab.

Don Vito Opus IX
 โ”‚    โ”‚    โ”‚   โ””โ”€โ”€ numeral, hashed from the session name
 โ”‚    โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€ family: the model it runs on
 โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ given name, from its era
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ rank, earned by staying alive
  • Rank โ€” Picciotto (< 10 min) โ†’ Soldato (< 1 h) โ†’ Capo (< 4 h) โ†’ Don
  • Era โ€” Roman ยท Medieval ยท Renaissance ยท Prohibition ยท Yakuza ยท Syndicate
  • Family โ€” Opus ยท Fable ยท Sonnet ยท Haiku, read from the session transcript
  • Colour โ€” every live crab wears a different one, matching its dot in the menubar

Era skins

Each era has its own headwear and markings on the shell, so the era reads even when the hat is behind a bubble. Colour stays the identity colour, so two crabs of the same era are still distinguishable.

eraheadwearshell
Romanlaurel wreathtoga sash
Medievalspiked crownchainmail
Renaissanceplumed flat capruff collar
Prohibitionfedorapinstripes
Yakuzahachimaki headbandirezumi sleeves
Syndicatecyber visorcircuit trace

A life of their own

They greet each other in passing, take a beer break every few minutes and clink glasses if a neighbour is close, occasionally spin or take a balloon ride when bored, and run a stadium wave when the last busy session finishes. Crabs that drift too close slide apart.

Shift change โ€” a sleeping crab that has lain in the same patch for a minute gets sick of it, says so, and walks off to a different stretch of the floor, at least a fifth of the edge away. A session you parked this morning is a crew member with somewhere better to be, not a statue in one corner.

The week โ€” the family knows what day it is. On a Friday an idle crab unfolds a striped deckchair on the edge, leans back and tells you it's Friday. On a Saturday it does the same thing, but the chair is washed out, the crab sways queasily and the line is "Never again." On a Monday there is no chair at all โ€” just a slow, unimpressed head shake and "Monday. Again." It picks its moment every 7โ€“15 minutes and only when the session is idle, so it never interrupts work. Every mood is written in all nineteen languages.

Traversals โ€” standing on the ceiling or a side wall is the cue: a crab up there rappels to the floor on a rope ๐Ÿชข, one on a side wall rockets across to the other ๐Ÿš€. Both leave the perimeter for a few seconds, then rejoin it wherever they land. The only pacing is an 18โ€“40 s settle, which exists purely because a rocket lands on the opposite wall โ€” itself an eligible spot โ€” and without it the crab would bounce between the two forever.

Dancing โ€” whenever anything plays audio on your Mac, the family dances. In 2D the shell comes apart into its individual pixel cubes and a wave travels diagonally through them; in 3D the whole body moves. Four moves โ€” bounce, twist, shuffle, headbang โ€” rotating every few bars, about 30 s of dancing then 30 s off, on each crab's own clock. They keep crawling and working throughout: the music changes how they move, never what they're doing. Switch it off with Party mode.

The familyone row per session: rank, colour, status. Click a row to show its terminal
Languagenineteen of them, plus the Clean / Street talk switch
SpeedSlow motion ยท Normal ยท On something. Normal is the default; the third one is what the app used to do
Crab size50% to 300%, on top of the per-state and per-model scales
Clickable over the Dockwhether a crab on the Dock takes the click, or the icon does
Playgroundfire any of the fifteen effects on demand instead of waiting out its timer
Party modewhether music makes them dance. On by default
3D crabsrender the family as isometric voxels, like the app icon
Check for updatesโ€ฆpull, rebuild and relaunch
Contribute on GitHub

Languages

Nineteen, picked in the menubar, defaulting to your system language: English, Slovak, Czech, German, Greek, Spanish, French, Hindi, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Russian, Swedish, Turkish, Ukrainian, Chinese โ€” each in its own script.

None are translations. Each was written in its own crime-fiction register, so the yakuza speak like yakuza and the Italians like Italians.

Clean and Street

Every language ships in two registers, switched at the bottom of the Language menu:

Street talkreal underworld argot โ€” Greek ฮผฮฌฮณฮบฮฑฯ‚, Polish grypsera, Russian ั„ะตะฝั, French verlan, Roman romanesco, cockney, Bombay bhai. It swears. The default
Cleanthe crime film you'd watch with your parents in the room

The strong words ship censored โ€” "j_bem na to", "k_rwa", "f_ck" โ€” so a line that lands on a shared screen reads at a glance without being spelled out in full. Nothing in either register targets anyone: the crew is crude about the work and the situation, never about people as a class. Switch to Clean in one click if you'd rather.

3D mode

3D crabs renders the family as isometric voxels โ€” the same look as the app icon โ€” instead of flat pixel art. The mark, the app icon, the menubar image and the website logo all come from one voxel model in tools/logo.swift, so they can never drift apart.

Updating

Check for updatesโ€ฆ compares your checkout against the remote and, with your say-so, pulls, rebuilds and relaunches. It refuses on a dirty tree or a non-git copy rather than touching your work. By hand: git pull && ./build.sh.

It also looks once a day on its own, in the background. That check only looks โ€” it never pulls, never rebuilds and never puts a dialog in front of you; if there is something new the menubar entry turns orange and says how many commits. Pulling and rebuilding someone's checkout unasked is not a thing an app should do on its own. Switch it off with Check for updates in the background.

There is no Sparkle here, which is the usual answer for a Mac app. Sparkle expects a signed, notarised bundle it can swap out; Claudme is source you build yourself, so the update is a git fetch and a rebuild โ€” and adding Sparkle would mean a paid developer account, a hosted appcast and the project's first dependency.


How it works

Two independent channels, so it degrades gracefully:

  1. Session registry โ€” Claude Code maintains ~/.claude/sessions/<pid>.json for every live CLI session, with its name, working directory, start time and status. Polled once a second; dead PIDs filtered with kill(pid, 0). This alone gives you crabs and their idle/busy/waiting states, with no hooks at all.
  2. Hooks โ€” for instant reactions, each hook curls its event JSON to a loopback listener on 127.0.0.1:48291. Ten events: SessionStart, UserPromptSubmit, Stop, Notification, SessionEnd, SubagentStart, SubagentStop, StopFailure, PreCompact, PostCompact.

The model comes from the tail of the session transcript, cached by file stamp. Audio detection reads kAudioDevicePropertyDeviceIsRunningSomewhere on the default output device โ€” a public CoreAudio property, so it needs no microphone permission and never touches the audio itself.

Rendering is one borderless, transparent, click-through NSWindow per display, sitting one level above the Dock so crabs walk in front of it. Each crab is a layer-backed NSView drawn entirely in code โ€” there is not a single image asset in this repo. Movement is constrained to the screen perimeter, with the body rotating so the legs always face the edge.

The session registry is an internal Claude Code detail, not a public API. The parser is defensive โ€” if a future version changes the format, the crabs simply don't appear.

Source map

filewhat it does
SessionRegistry.swiftpolls the session files, reads the model from the transcript
HookServer.swiftloopback HTTP listener the hooks post to
HooksInstaller.swiftmerges/removes our hooks in settings.json
PetManager.swiftone overlay per display, spawning, ambient behaviour, playground
PetView.swifta single crab: geometry, states, dance, traversals, clicks
VoxelSprite.swiftisometric voxel rendering for 3D mode
Naming.swiftranks, eras, made names
Quips.swifteverything a crab can say, in nineteen languages and two registers
AudioSense.swiftwhether anything is playing on this Mac
TerminalFocus.swiftwalks the process tree to raise a session's terminal
Updater.swiftself-update via git
tools/logo.swiftgenerates the icon, the menubar mark, the SVG and the PNG

Known limits

  • macOS only. Rendering is AppKit; the process-tree walk is BSD sysctl.
  • Terminal tabs can't be told apart โ€” clicking a crab raises the window, not the tab.
  • Sessions started before hooks were installed need a restart to get live reactions.
  • In 3D the crabs don't shatter when dancing: isometric depth order is fixed when the sprite is composed, so moving the columns independently makes the shape collapse.

Contributing

MIT, no dependencies, no project file โ€” ./build.sh is the entire build system.

Good first contributions: a language (one entry in Quips.swift โ€” write what a mobster would say in your language, don't translate; a slangTable entry is optional), an idle behaviour (copy the shape of the beer break; keep it rare), an era (a name pool plus headwear and shell cells).

House rules: no image assets, never block Claude Code, parse the registry defensively. Details in CONTRIBUTING.md.

CLAUDME_DEBUG=1 enables GET /snapshot (renders the overlays to a PNG) and GET /effect/<name> (fires a playground effect) โ€” which is how this gets tested without screen-recording permission.

Licence

MIT โ€” see LICENSE.


Not an Anthropic product

Claudme is an independent, unofficial, community-built tool. It is not made, published, endorsed, sponsored or supported by Anthropic PBC, and has no affiliation with them of any kind.

"Anthropic", "Claude" and "Claude Code" are trademarks of Anthropic PBC. They appear here only to state truthfully which software Claudme works with. Any resemblance in the name is unintentional and implies no connection or endorsement.

Claudme reads Claude Code's local session files on your own machine. It sends nothing anywhere, is not a client for any Anthropic service, and does not use their API. Please do not contact Anthropic about this project โ€” open an issue here instead.

// faq

What is claudme?

๐Ÿฆ€ Your AI coding agents are a crime family. One pixel crab per Claude Code session, crawling the edges of your screen.. It is open-source on GitHub.

Is claudme free to use?

claudme is open-source under the MIT license, so it is free to use.

What category does claudme belong to?

claudme is listed under other in the Claudeers registry of Claude-compatible tools.

1 views
โ˜… 10 stars
unclaimed
updated 5 days ago

// embed badge

claudme on Claudeers
[![Claudeers](https://claudeers.com/api/badge/claudme.svg)](https://claudeers.com/claudme)

// retro hit counter

claudme hit counter
[![Hits](https://claudeers.com/api/counter/claudme.svg)](https://claudeers.com/claudme)

// reviews

// guestbook

0/500

// related in Other

๐Ÿ”“

็ฌฆๅˆnature่ฎบๆ–‡ๅญฆๆœฏ่กจ่พพๅ’Œ็ง‘็ ”็ป˜ๅ›พ็š„Skill

// otherYuan1z0825/โŸจPythonโŸฉโ˜… 36,535โ—ท Apache-2.0[ claude ]
๐Ÿ”“

Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.

// othermanaflow-ai/โŸจSwiftโŸฉโ˜… 26,069โ—ท NOASSERTION[ claude ]
๐Ÿ”“

Anti-AI-slop design skill for Claude Code, Cursor, and Codex.

// otherNutlope/โŸจCSSโŸฉโ˜… 25,307โ—ท MIT[ claude ]
๐Ÿ”“

Huashu Design ยท HTML-native design skill for Claude Code ยท Claude Code ้‡Œ HTML ๅŽŸ็”Ÿ็š„่ฎพ่ฎก skill ยท ้ซ˜ไฟ็œŸๅŽŸๅž‹ / ๅนป็ฏ็‰‡ / ๅŠจ็”ป + 20 ่ฎพ่ฎกๅ“ฒๅญฆ + 5 ็ปด่ฏ„ๅฎก + MP4 ๅฏผๅ‡บ ยท Agent-agnostic

// otheralchaincyf/โŸจHTMLโŸฉโ˜… 23,151โ—ท MIT[ claude ]
โ†’ see how claudme connects across the ecosystem