PICK A TOOL. FOLLOW ITS SETUP.
Install a Codex pet—or connect it to your coding tool.
Pick the tool you already use, copy its command, and keep your pet’s creator and license metadata intact. ZIP downloads remain available when you prefer a manual install.
FROM DOWNLOAD TO DESKTOP
Choose a target. Copy one command.
Among these nine export targets, Codex uses a native pet package. Claude Code, Gemini CLI, GitHub Copilot CLI, and Cursor use local hooks; OpenCode uses a local plugin. Agent Pets, Petdex, and Clawd on Desk are separate desktop renderers. ChatGPT web takes a raw sprite sheet through its own upload setting.
Generated exports use the v1 8×9 atlas. Catalog entries marked v2 use an 8×11 atlas and have packages for Petdex and Clawd on Desk. ChatGPT web accepts PNG or WebP sprite sheets at 1536×1872 or 1536×2288, up to 20 MiB. Install the destination application separately. The Claude integration is for Claude Code, not Claude Desktop chat.
Codex pet setup
Native petNative files → ~/.codex/pets/ (or $CODEX_HOME/pets/)
~/.codex/pets/ (or $CODEX_HOME/pets/)npm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target codexReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
Prefer a manual install? The native Codex folder layout is listed below.
- Download and extract the ZIP into a folder named after your pet.
- Place that folder inside
~/.codex/pets/(or$CODEX_HOME/pets/if configured). Keeppet.jsonand the includedspritesheet.pngorspritesheet.webpdirectly inside the pet folder, not another nested folder. - Desktop: open Settings → Pets, select Refresh, choose your pet, and enter /pet. Codex CLI: enter /pets. Terminal pets require iTerm2 3.6+, Kitty graphics, or Sixel support, and do not work inside tmux or Zellij.
Claude Code pet setup
Hooks/plugin bridgeIntegration writes → ~/.claude/settings.json
~/.claude/settings.jsonnpm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target claude-codeReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
- Download the Claude Code ZIP, not the Codex ZIP.
- Install the Pet Studio installer first.
npm install --global @pet-studio/pets@0.2.0 - Rename your download to
my-pet.zip, or replace that filename in the command above.
Replace <pet-id> with the ID in your package’s pet.json.
pets doctor <pet-id> --target claude-code
pets launch <pet-id> --target claude-codeInstallation adds managed hooks or a local event plugin. Launch starts the separate Agent Pets renderer and may download it on first use. Restart your coding tool after installation. It reports activity states, not your prompts or code.
The installer merges privacy-safe lifecycle hooks into Claude Code; restart Claude Code to load them.
Check the included README for target-specific requirements. If the pet does not appear, run the doctor command before reinstalling.
Read the Claude Code upstream docs ↗Gemini CLI pet setup
Hooks/plugin bridgeIntegration writes → ${GEMINI_CLI_HOME:-$HOME}/.gemini/settings.json
${GEMINI_CLI_HOME:-$HOME}/.gemini/settings.jsonnpm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target gemini-cliReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
- Download the Gemini CLI ZIP, not the Codex ZIP.
- Install the Pet Studio installer first.
npm install --global @pet-studio/pets@0.2.0 - Rename your download to
my-pet.zip, or replace that filename in the command above.
Replace <pet-id> with the ID in your package’s pet.json.
pets doctor <pet-id> --target gemini-cli
pets launch <pet-id> --target gemini-cliInstallation adds managed hooks or a local event plugin. Launch starts the separate Agent Pets renderer and may download it on first use. Restart your coding tool after installation. It reports activity states, not your prompts or code.
The installer merges lifecycle hooks into Gemini CLI; restart Gemini CLI to load them.
Check the included README for target-specific requirements. If the pet does not appear, run the doctor command before reinstalling.
Read the Gemini CLI upstream docs ↗OpenCode pet setup
Hooks/plugin bridgeIntegration writes → ~/.config/opencode/plugins/pets.mjs
~/.config/opencode/plugins/pets.mjsnpm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target opencodeReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
- Download the OpenCode ZIP, not the Codex ZIP.
- Install the Pet Studio installer first.
npm install --global @pet-studio/pets@0.2.0 - Rename your download to
my-pet.zip, or replace that filename in the command above.
Replace <pet-id> with the ID in your package’s pet.json.
pets doctor <pet-id> --target opencode
pets launch <pet-id> --target opencodeInstallation adds managed hooks or a local event plugin. Launch starts the separate Agent Pets renderer and may download it on first use. Restart your coding tool after installation. It reports activity states, not your prompts or code.
The installer writes the local event plugin; restart OpenCode to load it.
Check the included README for target-specific requirements. If the pet does not appear, run the doctor command before reinstalling.
Read the OpenCode upstream docs ↗GitHub Copilot CLI pet setup
Hooks/plugin bridgeIntegration writes → ${COPILOT_HOME:-$HOME/.copilot}/hooks/pet-studio-pets.json
${COPILOT_HOME:-$HOME/.copilot}/hooks/pet-studio-pets.jsonnpm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target copilot-cliReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
- Download the GitHub Copilot CLI ZIP, not the Codex ZIP.
- Install the Pet Studio installer first.
npm install --global @pet-studio/pets@0.2.0 - Rename your download to
my-pet.zip, or replace that filename in the command above.
Replace <pet-id> with the ID in your package’s pet.json.
pets doctor <pet-id> --target copilot-cli
pets launch <pet-id> --target copilot-cliInstallation adds managed hooks or a local event plugin. Launch starts the separate Agent Pets renderer and may download it on first use. Restart your coding tool after installation. It reports activity states, not your prompts or code.
The installer writes user-level hooks for GitHub Copilot CLI; restart Copilot CLI to load them.
Check the included README for target-specific requirements. If the pet does not appear, run the doctor command before reinstalling.
Read the GitHub Copilot CLI upstream docs ↗Cursor pet setup
Hooks/plugin bridgeIntegration writes → ~/.cursor/hooks.json
~/.cursor/hooks.jsonnpm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target cursorReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
- Download the Cursor ZIP, not the Codex ZIP.
- Install the Pet Studio installer first.
npm install --global @pet-studio/pets@0.2.0 - Rename your download to
my-pet.zip, or replace that filename in the command above.
Replace <pet-id> with the ID in your package’s pet.json.
pets doctor <pet-id> --target cursor
pets launch <pet-id> --target cursorInstallation adds managed hooks or a local event plugin. Launch starts the separate Agent Pets renderer and may download it on first use. Restart your coding tool after installation. It reports activity states, not your prompts or code.
The installer merges lifecycle hooks into Cursor; restart Cursor to load them.
Check the included README for target-specific requirements. If the pet does not appear, run the doctor command before reinstalling.
Read the Cursor upstream docs ↗Agent Pets pet setup
Desktop rendererRuntime reads → ~/.codex/pets/ (or $CODEX_HOME/pets/)
~/.codex/pets/ (or $CODEX_HOME/pets/)npm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target agent-petsReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
- Download the Agent Pets ZIP, not the Codex ZIP.
- Install the Pet Studio installer first.
npm install --global @pet-studio/pets@0.2.0 - Rename your download to
my-pet.zip, or replace that filename in the command above.
Replace <pet-id> with the ID in your package’s pet.json.
pets doctor <pet-id> --target agent-petsInstall and open Agent Pets separately, then select the installed pet. The package does not include the desktop application.
Open Agent Pets separately; it reads the installed Codex-compatible pet. The renderer is not bundled in the ZIP.
Check the included README for target-specific requirements. If the pet does not appear, run the doctor command before reinstalling.
Read the Agent Pets upstream docs ↗Petdex pet setup
Desktop rendererRuntime reads → $HOME/.petdex/pets and $HOME/.codex/pets
$HOME/.petdex/pets and $HOME/.codex/petsnpm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target petdexReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
- Download the Petdex ZIP, not the Codex ZIP.
- Install the Pet Studio installer first.
npm install --global @pet-studio/pets@0.2.0 - Rename your download to
my-pet.zip, or replace that filename in the command above.
Replace <pet-id> with the ID in your package’s pet.json.
pets doctor <pet-id> --target petdexInstall and open Petdex separately, then select the installed pet. The package does not include the desktop application.
Open Petdex separately after install; the package does not bundle the Petdex desktop app.
Check the included README for target-specific requirements. If the pet does not appear, run the doctor command before reinstalling.
Read the Petdex upstream docs ↗Clawd on Desk pet setup
Desktop rendererRuntime reads → $HOME/.codex/pets
$HOME/.codex/petsnpm install --global @pet-studio/pets@0.2.0 && pets install ./my-pet.zip --target clawdReplace my-pet.zip with the ZIP you downloaded. The CLI checks the target package before writing files; this check does not run the destination app.
- Download the Clawd on Desk ZIP, not the Codex ZIP.
- Install the Pet Studio installer first.
npm install --global @pet-studio/pets@0.2.0 - Rename your download to
my-pet.zip, or replace that filename in the command above.
Replace <pet-id> with the ID in your package’s pet.json.
pets doctor <pet-id> --target clawdInstall and open Clawd on Desk separately, then select the installed pet. The package does not include the desktop application.
Open Clawd on Desk separately after install; the package does not bundle the desktop app.
Check the included README for target-specific requirements. If the pet does not appear, run the doctor command before reinstalling.
Read the Clawd on Desk upstream docs ↗FORMATS & COMPATIBILITY
Codex pets CLI, v1, and v2 explained.
Native Codex pets use a pet.json manifest and an animated sprite sheet. Install a compatible package with the Pet Studio CLI, then open /pets or /pet in a supported Codex session.
The v1 8×9 atlas is used for Codex packages, Agent Pets, and coding-tool bridges. Catalog entries marked v2 use an 8×11 atlas and have packages for Petdex and Clawd on Desk. ChatGPT web has a separate raw-sheet upload for either atlas size: 1536×1872 or 1536×2288, in PNG or WebP up to 20 MiB.
Claude Code, Gemini CLI, GitHub Copilot CLI, and Cursor use local hooks; OpenCode uses a local plugin. These bridges send high-level activity states to a separate desktop renderer. They do not turn the coding tool into a native pet host.