OpenPets CLI
A desktop pet that reacts to Claude Code, OpenCode and Cursor through hooks and MCP without putting code, paths or secrets in its speech
- 1,347 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Adds hooks to the Claude Code settings that run on every agent event and changes OpenCode and Cursor configuration
- The app runs third-party plugins that can hold microphone, clipboard and network permissions after you consent
- The first version of remote control does not encrypt traffic
Install
- Works in
Manual install
npx @open-pets/cli configureRun in the project folder with the app running. Configures Claude Code, OpenCode or Cursor depending on the chosen target.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Adds hooks to the Claude Code settings that run on every agent event and changes OpenCode and Cursor configuration
- The app runs third-party plugins that can hold microphone, clipboard and network permissions after you consent
- The first version of remote control does not encrypt traffic
This is third-party code. Review the repository files before installing.
What it does
OpenPets is a desktop app with an animated pet and plugins. The agent part is optional: the app works without it. It is connected with `npx @open-pets/cli configure`: for Claude Code it writes lifecycle hooks and an `openpets` MCP server, for OpenCode and Cursor it writes project configuration (OpenCode can be set up globally with `--global`). For other MCP clients the server runs as `npx @open-pets/cli mcp` over stdio. Hooks turn agent events into pet reactions. A submitted prompt gives "thinking", a permission request gives "waiting", a successful stop gives "success", a failure gives "error". An `Edit`, `Write` or `MultiEdit` call shows editing and test commands show testing. Through MCP the agent itself sets a reaction, shows a line and updates task status. Everything goes to the running app over local IPC. The pet's speech passes through a separate safeguard: automatic messages come from prepared lists, and validation rejects lines over 140 characters or containing code, links, paths or secret-like tokens. When several sessions run, each gets its own pet from a list you set. `npx @open-pets/cli doctor` gives diagnostics.
Who it is for. For developers on macOS, Windows and Linux who run agents in the background, want to tell from an on-screen pet that an agent is waiting for permission or has finished, and do not mind an extra app on the desktop.
Good fit when
- An agent works in the next window and you want a pet to show it is waiting for your permission
- Several sessions run in parallel and each needs its own pet instead of one shared pet
- You want reminders and timers near your work: the official plugins include Focus Buddy, Reminders and Water Reminder
- You want to write your own plugin: `npx @open-pets/cli plugin new` creates a scaffold from templates and `plugin validate` checks the manifest
- Pet reactions should fire from scripts: `npx @open-pets/cli react success` and `say` send them to the app
Not a fit when
- You need a tool that changes the result of an agent's work: OpenPets only shows state and does not affect code
- Company policy forbids installing an app with third-party plugins on a work machine: plugins run in a sandbox but ask for permissions such as `voice:listen` and `clipboard`
- You work on a server with no screen: the pet is drawn on the desktop and does not work without the running app
- Your agent is in Zed or another client without hooks: there only MCP reaction control is available, without automatic reactions to events
Example request
Connect OpenPets to Claude Code in this project and check with the doctor command that the pet receives eventsLimitations
The `npx @open-pets/cli` commands talk to the running desktop app. If the app is not running, the pet will not react, and `npx @open-pets/cli status` shows whether it is reachable. Installers are on the releases page: macOS builds may be unsigned, so the system will warn on launch. Windows installers are signed.
The first version of remote control uses plain TCP without encryption. The author advises against exposing it to the internet, forwarding ports or using it on shared Wi-Fi. Claude Code hooks are written into the agent settings and marked `--openpets-managed`, so they can be updated or removed without touching your entries. OpenClaw uses a separate global plugin. License: MIT.
How to disable. Quit the OpenPets app: without it hooks and MCP send nothing, and the agent does not notice connection failures. To remove the connection, open the integration settings in the app or delete entries marked `--openpets-managed` from the Claude Code settings and the `openpets` block from the client's MCP configuration.
FAQ
How do I connect the pet to Claude Code?
Download and launch the OpenPets app, then run `npx @open-pets/cli configure` in the project. The command writes event hooks and an MCP server, and `npx @open-pets/cli doctor` checks hooks and the connection to the app without writing.
Which agent events change the pet's reaction?
A submitted prompt, a permission request, a notification, a normal stop and a stop with an error. `Edit`, `Write` and `MultiEdit` calls show editing, and test commands show testing. Hooks run without waiting for a reply and do not slow the agent.
Will the pet see my code or secrets?
The author says no. Speech comes from prepared lists by category, and validation rejects lines with code, links, paths or tokens, and lines over 140 characters. For OpenClaw the plugin does not read event arguments.
How do I run the OpenPets MCP server for another client?
Give the client the command `npx @open-pets/cli mcp` as a stdio server. It controls the reaction, speech line, task status and pet choice for the agent, and the app must already be running.
How do I make a plugin for the pet?
Run `npx @open-pets/cli plugin new "My Plugin" --template tamagotchi`; there are six templates in all: `blank`, `reminder`, `ambient`, `ai-chat`, `tamagotchi` and `calendar`. `npx @open-pets/cli plugin validate ./my-plugin` repeats the install-time checks, and `@open-pets/plugin-sdk/testing` lets you test without the app.
What does the pet pool do with several agents?
The pool, on by default, gives each parallel session the next free pet from a configured list. If none is free the session takes the default pet, and the `--pet <id>` flag bypasses the pool.
Discussion
No questions or reviews yet.
Related
CLI toolsA gallery of animated companions for coding agents: a CLI installs a pet in one command, and a desktop app shows it reacting to the agent's activity
OpenSkills runs Anthropic's official skills in an isolated container on a Mac and serves them over MCP to any agent: Gemini CLI, Qwen CLI, OpenCode
Sound and on-screen notifications for coding agents: game voice lines when the agent finishes or waits for permission
OpenCove is a desktop app that lays out Claude Code and Codex sessions, terminals and notes on an infinite canvas
Agent Client for Obsidian
Agent Client
An Obsidian plugin that runs Claude Code, Codex and other agents via the Agent Client Protocol right inside your notes vault
A local MCP server that lets the agent ask you questions in the console and notify you when a task is done
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| OpenPets (this entry) | yes | 1,347 | |
| Petdex | no | 4,302 | a gallery of animated companions for coding agents: a CLI installs a pet in one command and a desktop app shows its reaction |
| PocketMen with You | no | 295 | a Codex skill that builds an animated companion from two or more of |
README in short
The description opens with downloading the app for macOS, Windows and Linux and a feature list: pets, official plugins, SDK v3 and an optional agent layer. Next come installation with a note on unsigned macOS builds, the pet gallery, nine official plugins and sandbox security with a permission table. The developer section shows templates, validation and a test harness. Separate documents cover MCP, agent integrations, the pet format, local IPC and release builds.