claude-pets

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Uyari
  • process.env — Environment variable access in src/hook.ts
  • process.env — Environment variable access in src/install.ts
  • process.env — Environment variable access in src/map-claude-event.test.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose
This tool connects Claude Code to the OpenPets desktop application. It uses hooks to send activity status updates, making a local desktop pet react while Claude processes tasks.

Security Assessment
Overall risk: Low. The tool does not request any dangerous permissions and lacks hardcoded secrets. The environment variable access flagged in the audit is standard and benign; it primarily checks for standard system paths (like the user's home directory) to locate the Claude settings file. It does not scrape or exfiltrate sensitive project data. The only notable local action is modifying the global `~/.claude/settings.json` file to register its hooks, though the installer safely creates a backup before making changes. It runs locally and does not appear to make external network requests.

Quality Assessment
The project is relatively new and has low visibility with only 6 GitHub stars, meaning it has not been extensively vetted by a large community. However, it is actively maintained, with repository updates pushed as recently as today. The code is open-source under the standard MIT license, providing clear usage rights.

Verdict
Safe to use.
SUMMARY

Claude Code integration for OpenPets: automatic desktop pet status updates with one-command setup.

README.md

Claude Pets - pixel art Claude Code integration for OpenPets

Claude Pets

Make Claude Code feel alive with OpenPets.

Tiny Claude Code hooks that update your desktop pet while Claude works.


What is Claude Pets?

Claude Pets connects Claude Code activity to OpenPets, a local desktop pet.

Requirements

  • Bun >= 1.3.0
  • Claude Code
  • OpenPets desktop app

Quick start

1. Install OpenPets desktop

Download the latest OpenPets app:

https://github.com/alvinunreal/openpets/releases/latest

Pick the file for your OS:

  • macOS Apple Silicon: OpenPets-*-arm64.dmg or OpenPets-*-arm64.zip
  • Windows: OpenPets-Setup-*-x64.exe
  • Linux: OpenPets-*-x86_64.AppImage or OpenPets-*-amd64.deb

Open the app once. You should see the pet on your desktop and an OpenPets tray/menu-bar icon.

Preview builds are unsigned, so macOS or Windows may show a warning on first launch.

If macOS says the app is damaged or should be moved to Trash, remove the quarantine flag and open it again:

xattr -dr com.apple.quarantine /Applications/OpenPets.app
open /Applications/OpenPets.app

2. Add OpenPets to Claude Code

This gives Claude Code tools for talking to and controlling the pet:

claude mcp add -s user openpets -- bunx @open-pets/mcp

Restart Claude Code, then check:

claude mcp list

You should see openpets.

3. Enable automatic Claude reactions

Install Claude Pets hooks globally:

bunx @open-pets/claude-pets install

This updates your user-wide Claude Code settings:

~/.claude/settings.json

The installer preserves unrelated settings and creates a backup before writing.

Restart Claude Code after installing.

Test it

With OpenPets running:

bunx @open-pets/claude-pets test-event thinking

Your pet should animate briefly, then return to idle.

You can also try:

bunx @open-pets/claude-pets test-event testing
bunx @open-pets/claude-pets test-event success

Uninstall

Remove the global hooks:

bunx @open-pets/claude-pets uninstall

This only removes Claude Pets managed hook commands from ~/.claude/settings.json.

Troubleshooting

OpenPets is not reacting

  1. Start the OpenPets desktop app.
  2. Run:
bunx @open-pets/claude-pets test-event thinking
  1. If nothing happens, restart OpenPets and try again.

Hooks are not firing

  1. Make sure you installed hooks:
bunx @open-pets/claude-pets install
  1. Restart Claude Code.
  2. In Claude Code, run /hooks and confirm the Claude Pets command appears under user settings.
  3. Check that ~/.claude/settings.json contains @open-pets/claude-pets.

Bun is missing

Install Bun first:

https://bun.com

Restore settings from backup

Every write creates a backup next to the settings file:

~/.claude/settings.json.bak-<timestamp>

Quit Claude Code, copy the backup over ~/.claude/settings.json, then restart Claude Code.

Advanced

Project-only install

Global install is recommended. If you only want Claude Pets hooks in one project, run this from that project root:

bunx @open-pets/claude-pets install --project

This writes project-local settings instead:

.claude/settings.local.json

Uninstall project-local hooks with:

bunx @open-pets/claude-pets uninstall --project

Preview settings without writing

bunx @open-pets/claude-pets install --dry-run

Print the hook settings snippet

bunx @open-pets/claude-pets print

Production hooks use this command:

bunx --bun @open-pets/[email protected] hook

Commands

claude-pets install [--dry-run] [--project] [--local-command]
claude-pets uninstall [--dry-run] [--project]
claude-pets print [--local-command]
claude-pets hook
claude-pets test-event <state>

Local development

git clone https://github.com/alvinunreal/claude-pets.git
cd claude-pets
bun install
bun test
bun run typecheck
bun run build

Install hooks pointing at your local checkout:

bun src/cli.ts install --local-command

Recommended setup

Use both OpenPets integrations for the best experience:

  1. OpenPets MCP - lets Claude intentionally speak/control the pet.
  2. Claude Pets hooks - automatic background state changes while Claude works.

Yorumlar (0)

Sonuc bulunamadi