A tiny desktop pet for coding agents.
See agent progress, test runs, and coding state as a playful desktop companion.
OpenPets is the original cross-platform desktop pet system for AI coding agents.
- Desktop companion - a small pet that changes state while agents think, edit, test, and finish.
- MCP ready - agents can launch, talk to, and control the pet through the OpenPets MCP server.
- Integration friendly - use MCP, the TypeScript client, or companion integrations for automatic status updates.
- Pet-pack friendly - loads Codex style animated pet directories.
Official site: https://openpets.dev
Integration guides: https://openpets.dev/integrations
export-1778004411002.mp4
Install the desktop app, then connect your coding agent.
Download the latest app from OpenPets Releases:
- macOS Apple Silicon:
OpenPets-*-arm64.dmgorOpenPets-*-arm64.zip - macOS Intel:
OpenPets-*-x64.dmgorOpenPets-*-x64.zip - Windows:
OpenPets-Setup-*-x64.exe - Linux:
OpenPets-*-x86_64.AppImageorOpenPets-*-amd64.deb
Install or unzip it, then launch OpenPets. You should see the desktop pet and the OpenPets tray/menu-bar icon.
Current builds are unsigned. macOS or Windows may show a security warning the first time you open the app.
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.appSee INSTALL.md for platform notes and troubleshooting.
Use the companion integration for your agent when one exists:
- Claude Code: install Claude Pets for Claude hooks and OpenPets setup.
- OpenCode: install OpenCode Pets for OpenCode plugin integration.
For Cursor, VS Code, Windsurf, Zed, or any other MCP-capable agent, configure the OpenPets MCP server directly. See MCP integration for copy-paste JSON and commands, or use the full AI assistant integration guides.
The OpenPets MCP server lets agents control the desktop pet over the Model Context Protocol.
{
"mcpServers": {
"openpets": {
"type": "stdio",
"command": "bunx",
"args": ["@open-pets/mcp"]
}
}
}Once connected, an agent can use OpenPets tools to start the desktop app, check health, set pet states, show short speech bubbles, and release its session.
Full setup guides live in docs/ai-assistants/ and on https://openpets.dev/integrations.
Cursor
Add this to ~/.cursor/mcp.json for global setup, or .cursor/mcp.json inside a project:
{
"mcpServers": {
"openpets": {
"type": "stdio",
"command": "bunx",
"args": ["@open-pets/mcp"]
}
}
}Restart Cursor after changing MCP config.
Zed
Add this to ~/.config/zed/settings.json:
{
"context_servers": {
"openpets": {
"command": "bunx",
"args": ["@open-pets/mcp"]
}
}
}Restart Zed after changing settings. See docs/ai-assistants/zed.md for rules and troubleshooting.
VS Code / GitHub Copilot
Add this to .vscode/mcp.json for a workspace setup:
{
"servers": {
"openpets": {
"type": "stdio",
"command": "bunx",
"args": ["@open-pets/mcp"]
}
}
}Or add it to your user profile from the command line:
code --add-mcp '{"name":"openpets","command":"bunx","args":["@open-pets/mcp"]}'VS Code uses servers as the root key, not mcpServers.
Windsurf
Add this to ~/.codeium/windsurf/mcp_config.json on macOS/Linux, or %USERPROFILE%\.codeium\windsurf\mcp_config.json on Windows:
{
"mcpServers": {
"openpets": {
"command": "bunx",
"args": ["@open-pets/mcp"]
}
}
}Fully quit and reopen Windsurf after changing MCP config.
openpets_health- check whether the desktop app is reachable.openpets_start- launch OpenPets and acquire an agent session.openpets_say- show a short speech bubble and optional pet state.openpets_set_state- update the pet state without speech.openpets_release- release the agent session.
Supported states include thinking, working, editing, running, testing, waiting, success, and error.
The MCP server talks to the local OpenPets desktop app through the same local IPC client used by other integrations. Speech is intentionally short and validated before it appears on screen.