{"id":47745563,"url":"https://github.com/qaz61328/claudepet","last_synced_at":"2026-04-08T09:00:31.207Z","repository":{"id":347783057,"uuid":"1192930693","full_name":"qaz61328/ClaudePet","owner":"qaz61328","description":"macOS desktop pet that brings Claude Code notifications to life with pixel-art characters.","archived":false,"fork":false,"pushed_at":"2026-04-02T07:38:53.000Z","size":3428,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T09:38:56.645Z","etag":null,"topics":["appkit","claude-code","desktop-pet","macos","menubar","pixel-art","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qaz61328.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-26T17:46:57.000Z","updated_at":"2026-04-02T07:39:00.000Z","dependencies_parsed_at":"2026-04-08T09:00:28.907Z","dependency_job_id":null,"html_url":"https://github.com/qaz61328/ClaudePet","commit_stats":null,"previous_names":["qaz61328/claudepet"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/qaz61328/ClaudePet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaz61328%2FClaudePet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaz61328%2FClaudePet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaz61328%2FClaudePet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaz61328%2FClaudePet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qaz61328","download_url":"https://codeload.github.com/qaz61328/ClaudePet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaz61328%2FClaudePet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31547845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appkit","claude-code","desktop-pet","macos","menubar","pixel-art","swift"],"created_at":"2026-04-03T00:53:16.244Z","updated_at":"2026-04-08T09:00:31.183Z","avatar_url":"https://github.com/qaz61328.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ClaudePet\n\nYour desktop buddy for Claude Code. Intercepts permissions, pops notifications, mumbles to itself.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/idle.gif\" width=\"96\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-0.3.7-blue\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/macOS-13%2B-black?logo=apple\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Swift-5.9%2B-F05138?logo=swift\u0026logoColor=white\" /\u003e\n\u003c/p\u003e\n\nA pixel-art desktop pet that lives next to your terminal.\nIt replaces Claude Code's permission prompts with clickable speech bubbles,\nnotifies you when work is done, and occasionally talks to itself when bored.\nCreate your own character with custom dialogue, sprites, and sounds.\n\n## Features\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/features.png\" height=\"120\" /\u003e\n\u003c/p\u003e\n\n- Pixel-art character with idle, bow, alert, and happy animations\n- Speech bubbles for work complete, needs input, and plan ready events\n- Allow once, always allow, or deny — replaces terminal permission prompts\n- Idle chatter when bored — ClaudePet runs an external script to generate persona-flavored lines\n- Persona system with custom dialogue, sprites, and sound effects\n- Status bar menu for visibility, persona switching, and chatter control\n- Auto-launch with every `claude` invocation\n\n## How it works\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/how-it-works.png\" height=\"120\" /\u003e\n\u003c/p\u003e\n\nClaudePet runs an HTTP server on `127.0.0.1:23987`. Two Claude Code hooks feed it events: a Stop hook sends notifications when work finishes, and a PreToolUse hook intercepts tool calls that need authorization. The authorization bubble holds the HTTP connection until you click allow or deny, so Claude Code pauses in the meantime.\n\n\"Always Allow\" remembers the tool name for the rest of the session. The memory clears when ClaudePet exits.\n\nFor the full HTTP API, animation state machine, and hook integration details, see [CLAUDE.md](CLAUDE.md).\n\n## Quick start\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/quick-start.png\" height=\"210\" /\u003e\n\u003c/p\u003e\n\nRequirements: macOS 13+, Swift 5.9+ (Xcode Command Line Tools), `jq`\n\n```bash\ngit clone https://github.com/qaz61328/ClaudePet.git\ncd ClaudePet\nbash scripts/setup.sh\n```\n\nThe setup script builds the binary, configures Claude Code hooks, checks for LLM providers (idle chatter), and adds a shell wrapper so ClaudePet launches with every `claude` invocation.\n\nFor step-by-step instructions or manual configuration, see [SETUP.md](docs/SETUP.md) | [繁體中文](docs/SETUP_zh-TW.md).\n\n## Update\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/update.png\" height=\"120\" /\u003e\n\u003c/p\u003e\n\nClick **Check for Updates** in the status bar menu. ClaudePet checks the latest GitHub Release and walks you through the upgrade automatically.\n\nTo update manually:\n\n```bash\ngit pull origin main\nbash scripts/upgrade.sh\n```\n\nThe upgrade script rebuilds the binary, updates Claude Code hooks and configs, and restarts ClaudePet.\n\n## Uninstall\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/uninstall.png\" height=\"120\" /\u003e\n\u003c/p\u003e\n\n```bash\nbash scripts/uninstall.sh\n```\n\nThis removes all ClaudePet environment configs: Claude Code hooks, the shell wrapper, and temp files. It does not delete the repo itself.\n\n## Personas\n\nEvery character is fully customizable — dialogue, pixel sprites, and sound effects. Build your own or use the built-in default.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/cat.png\" width=\"60\" /\u003e\n  \u003cimg src=\"docs/media/milk.png\" width=\"60\" /\u003e\n  \u003cimg src=\"docs/media/claude.png\" width=\"60\" /\u003e\n  \u003cimg src=\"docs/media/pom.png\" width=\"60\" /\u003e\n  \u003cimg src=\"docs/media/sun.png\" width=\"60\" /\u003e\n  \u003cimg src=\"docs/media/eel.png\" width=\"60\" /\u003e\n\u003c/p\u003e\n\nThe fastest way: run `/create-persona` inside Claude Code. It walks you through character design and generates everything.\n\nYou can also build a persona by hand. Drop a `persona.json` plus optional sprites and sounds into `Personas/\u003cyour-id\u003e/`. See [CLAUDE.md](CLAUDE.md) for the full persona architecture.\n\nSwitch between installed personas from the status bar menu.\n\n## FAQ\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/media/faq.png\" height=\"120\" /\u003e\n\u003c/p\u003e\n\nSee [FAQ.md](docs/FAQ.md) | [繁體中文](docs/FAQ_zh-TW.md)\n\n## Contributing\n\nThis project is built by me and Claude Code together. If you run into any issues, feel free to modify the code yourself or submit a PR. See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqaz61328%2Fclaudepet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqaz61328%2Fclaudepet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqaz61328%2Fclaudepet/lists"}