Codex has pets in two places. In the ChatGPT desktop app, open Settings → Pets, type /pet, or press ⌥Space on macOS to show a floating pet. In an interactive Codex CLI session, type /pets or /pet to choose a terminal pet for that session. Claude Code and Grok Build have no built-in equivalent today.
A pet is a small animated companion that shows what your agent is doing: working, waiting for you, done. It is a nice way to keep an eye on an agent without reading its output.
Here is how to set one up:
-
In the ChatGPT app: type
/pet, choose Show pet from the command menu, or press ⌥Space on macOS. Pick a built-in or custom pet in Settings → Pets. -
In the Codex CLI: type
/petsto pick one,/pets <name>to choose it directly, or/pets offto hide it. It needs iTerm2 3.6 or later, or a terminal with Kitty graphics or Sixel, and doesn't show in tmux or Zellij. -
Make your own: in Settings → Pets, click Create pet. The app installs its bundled
hatch-petskill and opens a chat where you describe the pet. It saves the pet to~/.codex/pets/<name>/.
How do Codex pets work?
The pet plays an animation for the state of the chat: Running while it works, Needs input while it waits for an answer or an approval, Ready when it finished and you haven't looked yet, and Blocked when it failed. In the ChatGPT app it floats on screen above a small chat box, and Mini shows the box without a pet. In the Codex CLI it sits in the terminal.
A pet is two files in a folder:
-
pet.json: the id, display name, description, and the sprite sheet's file name. -
spritesheet.webp: a grid of 192×208 pixel frames, eight columns wide, one row per animation. Nine rows cover idle, running right and left, waving, jumping, failed, waiting, working, and review. Pets made by the hatch-pet skill that ships with the ChatGPT app add two rows of poses for looking in 16 directions (11 rows,spriteVersionNumber: 2inpet.json); older pets have the nine rows only. Both kinds load.
How do I make my own Codex pet?
The ChatGPT app makes pets with OpenAI's hatch-pet skill:
- Open Settings → Pets and click Create pet. The app installs the bundled
hatch-petskill and opens a chat. - Describe the pet, or give it a picture: a photo of your dog works.
- The skill generates every animation row, checks the frames, and saves the folder under
${CODEX_HOME:-$HOME/.codex}/pets/. - Back in Settings → Pets, click the refresh button and pick the new pet.
Look at the result frame by frame before you keep it. Generated sheets can have a fifth leg in a pose, a size jump between rows, or leftover background color between the legs. The skill can repair a single row when you ask it to.
What happened to Claude Code's /buddy?
Claude Code shipped /buddy on April 1, 2026, in version 2.1.89: a small character next to the input that hatched from your account and reacted while you worked. On April 9, version 2.1.97 removed it. Anthropic said it was a small April Fools feature, and typing /buddy now says "Unknown command: /buddy". Claude Code has no pet today.
Can each session get a different pet?
In the Codex CLI, yes: /pets <name> chooses a pet for the current CLI session, and that pet reports the state of that session. The ChatGPT desktop pet is a floating companion for the app; when several chats are active, its activity tray lets you open the one that needs you. Claude Code and Grok Build have no built-in pets of their own.
PonyMux gives every Terminal a persistent pet in one shared window. Each Terminal running Claude Code, Codex, or Grok gets a pet when you create it and keeps it, and the pets line up above the window. So a pet tells you which session it is as well as what it is doing:
- Working: the agent is running.
- Waiting, with a wave every few seconds: it needs an answer or an approval.
- A hop: a turn just finished.
- Standing: the agent is idle.
- Failed: it stopped on an error.
Click a pet to jump to its Terminal. Shell-only Terminals and ended sessions don't get a pet on stage. Pets need the Claude Code, Codex, or Grok integration, which you connect once from the bottom of the sidebar.
Can I use the pet I hatched in PonyMux?
Yes. PonyMux reads ~/.codex/pets/, so a pet you made with hatch-pet, or downloaded, shows up next to the others. When ChatGPT is installed, its built-in pets are in the list too.
You don't need any of that to get started. PonyMux ships with six ponies of its own, Mochi, Nyx, Opal, Pixel, Rex, and Mocha, so different Terminals get different pets without Codex or ChatGPT installed.
If a pet in ~/.codex/pets/ has the same id as one of the ponies, yours takes its place.
How do I choose a pet for a Terminal in PonyMux?
Open Settings → General → Pets:
- Show a pet for every live session turns pets on or off.
- New Terminals get chooses the pet for new Terminals: one pet, or Random to spread them out.
- The row below says how many pets were found and where from. Click Rescan after you add a pet to
~/.codex/pets/.
To change one Terminal, open its Inspector. In the Pet section, pick another pet from the menu, or remove the pet from that Terminal with the trash button that appears when you hover the row.
For themes, cursor effects, and the rest of PonyMux's personal touches, see Personalize PonyMux.
Originally published on ponymux.com, where the pet demos are interactive.
Top comments (0)