Skip to main content

A pixel desktop buddy that reacts to Claude Code in real time

Project description

claudlet 🐾

English | 한국어

PyPI

A tiny pixel creature that lives on your desktop and reacts to Claude Code in real time — it types while Claude works, waits when Claude needs you, celebrates when it's done, and roams around while you code. Click it to bring the terminal back to the front.

Drawn entirely in code — no image assets — so it's self-contained and original (CC0 artwork).

states

See it in action

Real desktop capture. Pets perch on the terminal titlebar, roam the desktop, doze off (💤) between tasks, and clamber over whatever else is on screen.

claudlet on the desktop

Pets perch on the terminal and roam the desktop Perching on the terminal, roaming, and dozing between tasks.

Dragging a pet while the others nap Grab and drag them around; the rest keep roaming and napping.

Pets roaming over the wallpaper They wander over whatever else is on your screen.

Install

Install with pipx (an isolated app install — pulls the deps, incl. pyobjc-framework-Quartz on macOS, and puts the claudlet* commands on your PATH), then wire it into Claude Code:

pipx install claudlet
claudlet-install      # registers the hooks + /claudlet skill (idempotent)

Update later with pipx upgrade claudlet && claudlet-install, or from inside Claude Code with /claudlet update. To install an unreleased revision, point pipx at the repo instead: pipx install "git+https://github.com/YeeDochi/Claudlet@master".

Remove it with claudlet-uninstall (stops pets, unregisters the hooks + skill; add --purge to also delete your config), then pipx uninstall claudlet.

Without pipx — one-line source install

Clones (or updates) to ~/claudlet, installs deps, registers hooks + skill:

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/YeeDochi/Claudlet/master/install.py | python3 -
# Windows (PowerShell)
irm https://raw.githubusercontent.com/YeeDochi/Claudlet/master/install.py | python -

New Claude Code sessions then auto-spawn a pet. Restart any already-running session to pick up the hooks — or launch one now with claudlet.

Best on KDE Plasma. Perching on and riding windows also works on Windows (Win32) and macOS (experimental — needs pyobjc-framework-Quartz, which the installer adds automatically; the pet self-calibrates window coordinates at runtime). Elsewhere the window tricks switch off gracefully and the pet just roams. See Platform support.

What it shows

The creature's pose tracks what Claude is doing — editing, reading, calling MCP, spawning subagents, thinking, waiting on your input, celebrating (see the sheet above). In auto / bypass mode it puts on a VR visor and cruises, with a per-tool variant for each activity. It also perches on and rides your windows — walking along the top or living inside — and clips/hides when the window it's on is covered or minimized.

Commands

pipx install claudlet puts these on your PATH:

Command What it does
claudlet Launch a pet right now (standalone).
claudlet-install Register the hooks + /claudlet skill in Claude Code — run once after installing.
claudlet-uninstall Stop pets, unregister the hooks + skill, clean up (--purge also deletes your config).
claudlet-config Show / scaffold / open the user config (--path, init, open).
claudlet-attach Attach a pet to the current Claude Code session.
claudlet-motion <name> Play a motion on running pets (jump, wave, … ; stop, list).
claudlet-install-hooks Just the hooks half of claudlet-install (--remove to undo).
claudlet-macos-diag Print raw macOS window coordinates (perch troubleshooting).
claudlet-hook Internal — invoked by Claude Code's hooks, not by you.

The /claudlet skill

claudlet-install also links a /claudlet skill into Claude Code, so you can drive the pet straight from a prompt:

  • /claudlet — attach a pet to this session (so it reacts to the session's activity)
  • /claudlet standalone — an unattached, decorative pet
  • /claudlet <motion>jump · wave · sing · juggle · float · celebrate · thinking · sleeping · error · attention (plus list, stop)
  • /claudlet config — show the config, or just ask in plain language ("jump when I run Bash") and Claude edits it for you
  • /claudlet update — pull the latest version and re-register

Docs

  • Usage & interaction — drag & throw, click-to-focus, tray menu, motions, autostart, uninstall
  • Configuration — remap which animation shows for which Claude Code activity (run claudlet-config or /claudlet config to locate & inspect it)
  • Platform support — support matrix + how to test on your OS

License

Code: MIT (see LICENSE). Creature artwork: CC0 (see NOTICE).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claudlet-0.1.1.tar.gz (98.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claudlet-0.1.1-py3-none-any.whl (80.8 kB view details)

Uploaded Python 3

File details

Details for the file claudlet-0.1.1.tar.gz.

File metadata

  • Download URL: claudlet-0.1.1.tar.gz
  • Upload date:
  • Size: 98.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for claudlet-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ef8878904758c81af59fd29169ccf949a2409d5b995e09080b9e0bf070aaaa1a
MD5 fe36c12ac2ad8d3441875177d24ffe43
BLAKE2b-256 443c5924bd9f0ed9e311a7a297b783986cd45ff400f9cb8f44a685b51d377886

See more details on using hashes here.

Provenance

The following attestation bundles were made for claudlet-0.1.1.tar.gz:

Publisher: publish.yml on YeeDochi/Claudlet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file claudlet-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: claudlet-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 80.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for claudlet-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 56bc4ee2c7fdd4570525319e3b0cbac1c1740c119387f72c8150697f9ef6954e
MD5 dfb3262b365b353df05a254243b108cc
BLAKE2b-256 4658075db491d83fa4297328b15df25cb68c67fdfbab86e2e66dcc3c7e288ec7

See more details on using hashes here.

Provenance

The following attestation bundles were made for claudlet-0.1.1-py3-none-any.whl:

Publisher: publish.yml on YeeDochi/Claudlet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page