*p5.brush
p5.brush.js is a versatile library for the p5.js ecosystem, tailored for artists, designers, and hobbyists who wish to explore natural textures in generative art. This library extends the drawing capa
A floating Mac companion that shows what every Claude Code session is doing, and steps forward when one needs you.
PluginsSwift · ShellGitHub @Icore0OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Wigglet: a floating pixel companion for Claude Code on macOS. One Wigglet per session, 80+ animations. Unofficial fan project.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
One Wigglet for every Claude Code session. A tiny pixel companion that floats on your Mac and shows what each session is doing. wigglet.vercel.app
• See every session at a glance. Each Wigglet acts out what its session is doing. The one that needs you steps to the front.
• Never miss an approval. The menu-bar icon shows how many sessions are waiting on you.
• Local by default. Hooks write small JSON files on your disk. There are no accounts and no analytics.
First release lands today. The download link appears here when v1.0.0 is published. Until then, build from source.Read the full README ↗Download Wigglet.dmg · macOS 13+ · Apple silicon and Intel
xattr -dr com.apple.quarantine /Applications/Wigglet.app
~/.claude/settings.json (with a backup), shows a check mark, and waits until your first Claude Code session appears.Every clip is listed in docs/ANIMATIONS.md, which is generated from the app's catalog.
| A team of Wigglets | One per session you're working in, including ones already open before you connected. Six side by side, then a +N badge, or switch to One Wigglet for all of them. Sessions you haven't touched for a while (30 min to a day, your pick) step aside. |
| Live activity | Each Wigglet shows what its session is doing: reading, editing, tests, builds, git, installs, web, sub-agents, plans or compaction. |
| 56 readable animations | Hand-timed 12 fps pixel art with real props and faces: a deploy rocket, a tea break on long commands, a check mark when tests pass, high-fives and pass-the-parcel between sessions. |
| Live hover card | Hover over a Wigglet: project, turn timer, last actions and the session's latest message as it arrives. Jump takes you to that session's window. |
| Chat with Claude | Click a Wigglet or press ⌃⌥Space. Uses your Claude Code login by default, or your own Anthropic, OpenAI, OpenRouter or Gemini key, or a local Ollama model. Keys live in the macOS Keychain. |
| Private by default | No accounts and no analytics. The network is used only for chat and signed updates. |
| Signed updates | New versions arrive only when they are published, and install only if their signature checks out. |
Home walks you through setup with live checks. Sessions lists every session with a Jump button. Animations plays any clip. Settings holds the connection, size, sounds, launch at login and chat.
Claude Code runs Wigglet --hook on session and tool events. The hook updates one small JSON file per session in ~/.claude/wigglet/sessions/. The app watches that folder and picks an animation for each session. Details are in docs/HOW_IT_WORKS.md.
~/.claude/wigglet/sessions/.claude CLI with no tools, so it can't read or change files.The full list is in docs/PRIVACY.md.
Requires macOS 13+ and the Xcode command line tools.
cd app && ./build.sh # universal Wigglet.app (arm64 + x86_64)
./package.sh # also writes Wigglet.zip and Wigglet.dmg
Checks, run from the repo root with a throwaway HOME:
HOME=/tmp/wigglet-test app/Wigglet.app/Contents/MacOS/Wigglet --selftest
HOME=/tmp/wigglet-test app/Wigglet.app/Contents/MacOS/Wigglet --pixel-audit
HOME=/tmp/wigglet-test app/Wigglet.app/Contents/MacOS/Wigglet --frame-audit
rm -rf ~/.claude/wigglet
for p in anthropic openai openrouter gemini; do security delete-generic-password -s dev.wigglet.app -a $p; done # keys, if you added any
defaults delete dev.wigglet.app
If you've already deleted the app, remove the hooks first with Wigglet.app/Contents/MacOS/Wigglet --remove-hooks, or delete the entries that contain Wigglet --hook from ~/.claude/settings.json.
Does it use my Claude usage?
The animations never do, because they come from local files. Chat uses Claude Code by default, which runs claude -p and counts toward your plan (with tools off, so each message is small). To keep chat off your plan, pick Anthropic, OpenAI, OpenRouter or Gemini with your own key, or a local Ollama model, in Settings → Chat.
Does it work with the Claude desktop app? Yes. Sessions in the desktop app's Code tab run the same hooks as the terminal, so they get a Wigglet too. Plain chats in the Claude app aren't Claude Code sessions, so they don't.
Does it work with several sessions? Yes, that's what it's for. Each session gets its own Wigglet, name tag and scarf colour.
Is it safe to connect?
Connect adds hook entries that call the app with --hook, after saving a backup to ~/.claude/settings.json.wigglet-backup. If your settings.json isn't valid JSON, it leaves the file alone. The hook only writes metadata, and the source is here if you want to check.
Can it jump to the right window?
Terminal: the exact tab (macOS asks once for permission). iTerm2 uses the same approach, and VS Code and Cursor open the session's folder in that editor, but those three are untested so far. Claude desktop app: Jump opens that session with the same claude://resume link Claude Code's /desktop command uses (not tested live yet). Anything else: the app comes forward and a note says it couldn't pick the session.
How do I disconnect? Click Disconnect in Settings, or use the menu-bar icon. Hooks you added yourself stay.
xattr line above. (Right-click → Open no longer skips this on macOS 15 and later.)~/.claude/settings.json probably isn't valid JSON. Fix it, then connect again.Wigglet is a fan tribute to the Claude mascot. Claude, Claude Code and the original mascot design are by Anthropic. Thank you for building Claude Code and its hooks, which make Wigglet possible.
Unofficial fan project. Not affiliated with, sponsored by, or endorsed by Anthropic. "Claude", "Claude Code" and "Anthropic" are trademarks of Anthropic, PBC, used here only to describe compatibility. Free, no ads, no data collection. Anthropic: if you'd like anything changed or removed, see TRADEMARKS.md and we'll comply within 48 hours.