Show us your custom Codex Pet 🐾

Hi everyone!

I’ve been exploring custom pets in Codex, and I thought it would be fun to create a place where we can share our creations.

A note on the creation process

Creating Sentinel was fun, but it also took several iterations: refining the shape, improving symmetry, keeping the design visible in dark mode, and validating the final sprite sheet.

In the current Pets screen, I can create, select, refresh, or tuck away a pet, but there is no visible way to export or import one. A shareable pet package would make this feature much more collaborative: people could publish a pet, credit its creator, preview it, and import it with one click.

It would be great to have:

  • Export a pet as a shareable package
  • Import a pet created by someone else
  • Include a preview, metadata, and creator attribution
  • Share creations with the community without manually moving files

Meet Sentinel, the pet I created: an original sci-fi guardian with two arms, two legs, a fully symmetrical design, and bright armor that stays visible in dark mode.

If you’ve created a custom or personalized pet, share it here! It would be great to include:

  • an image or GIF of your pet
  • its name and the idea behind it
  • a little about your creation process
  • any tips, challenges, or lessons learned

Let’s build a gallery of community-made Codex pets. I’d love to see what everyone creates! :paw_prints:

I don’t have a pet in Codex, but for anyone wondering how to share theirs more easily, here’s how you can do it today:

https://x.com/OpenAIDevs/status/2080747505474736162?s=20

Bet!

Hello from Germany! My name is Silvana, and this is Quark, my custom ChatGPT pet—a curious silver-grey laboratory rat.

Unfortunately, Quark currently only shows his idle animation and briefly jumps when touched by the mouse. None of his automatic activity animations are triggered. I have tested all the built-in pets as well, and they behave the same way in my Windows app. OpenAI Support is currently looking into the issue.

Has anyone else experienced this?

I don’t speak English, so I am using translation assistance. I look forward to meeting you and your pets!

Hello all, my name is Dave and I got introduced to the codex pets a week ago by a coworker, and my pet is named “Patch”, he’s a little puppy modeled after my childhood best friend :smiling_face_with_tear: :heart: :headstone:



I’ve got his spritesheet.webp setup:

(took a couple times asking codex to work and challenge it with prompts from chatGPT classic) but he should be laid out in the Atlas v2 style 8x11 however I don’t see him do any animations except the 1st and 5th rows, is there something I’m missing to make the custom pets do the other animations? seems like the only thing we get is the pet.json and spritesheet.webp file, I feel like there must be some other kind of code file which should tell it the image coordinates of the actions no??

Thanks for any help anyone can provide :heart:

I think you and I might be having the same problem.

Mine will do his 5th row animation while the codex harness is actively sending and receiving information, but it looks awkward.

Codex analyzing my spritesheet.webp in separate chats thinks the problem is my images are not aligned properly, and there’s some pink artifacting on some of the images from the alpha channel setup, but Codex made the image :man_facepalming:

I think personally from the ones I’ve seen from a coworker and Mimi another pet from another thread on here that the pets have to be 1980s style block / minecraft graphics with clearly defined hard edges, and anything curvy it can’t figure out the sprites animation. Just my opinion though.

I considered making jokes about how the v1 pets didn’t have any for Windy.

They had earth fire, air… but no Windy…

So I made my own ^.^

This is my pet, Miqo. She’s always there to cheer up when stuff is being done :smiling_face_with_three_hearts:. For some reason took more than 3 tries to use the hatch-pet skill to get her done. Wish this would be cross-environment, she’s only on windows currently. pet’s are found under %userprofile%/.codex/petsin windows. Haven’t tried to just copy the pet in another environment.

IMG_6273

Make a tunnel and you can get your Pet’s animation into the mobile-app

oh cool, now I know, thanks for the tip

Meet 魄纳 Porona :paw_prints:

Porona is a fluffy, round Poro wearing a complete purple six-eye Baron Nashor-inspired hat. The main design lock was that the hat must fully cover the Poro horns and every white head tuft, while keeping the cream muzzle, glossy black eyes, huge pink tongue, pink belly, and paw pads.

The character began from two visual references: a handmade keycap that fused Poro with Baron Nashor, and a canonical Poro reference used to recover the round body and facial proportions. I built it as a complete Codex v2 pet: an 8 × 11 atlas with all 9 standard animation rows plus 16 clockwise look directions.

The tricky parts were maintaining the same identity in every row, keeping the hat coverage consistent from all angles, cleaning transparent edges, and making left/right plus up/down directions readable at pet size. The final package passed deterministic v2 atlas validation and independent visual QA.

Package status

The install-ready community package is complete. It contains pet.json, the original transparent spritesheet.webp, an idle GIF, a full contact sheet, and bilingual installation notes. Local paths and private QA metadata have been removed.

This forum account currently cannot include outbound links, so this reply shares the complete preview and technical details. A public adoption page is ready and can be added when link posting is enabled.

Install

  1. Download and unzip the complete package.
  2. Copy the extracted porona folder to ~/.codex/pets/porona/.
  3. Open Settings → Pets, select Refresh, and choose 魄纳 Porona.

Fan-work notice: This is an unofficial, non-commercial fan-made Codex pet inspired by Poro and Baron Nashor from League of Legends. It is not affiliated with or endorsed by Riot Games or OpenAI. The related characters and trademarks belong to their respective owners.

Preview

Porona idle animation

https://drive.google.com/file/d/133AJoJr-A_4NRPTTbVlOt6JraNCnEfc0/view?usp=drive_link

Meet Sodam (소담) — a free community Codex pet

Hello from Korea! This is Sodam, a warm and attentive chibi customer-support specialist.

“Sodam” is a Korean name with a gentle and wholesome feeling. I wanted to create a pet who looks calm, friendly, and ready to help, so she wears a navy business suit, carries her headset, and reacts to different Codex states.

The character concept and art direction were provided by me, and the Codex pet adaptation was created with ChatGPT/Codex assistance.

About the pet

Sodam is a complete Codex v2 pet with:

  • an 8 × 11 animated atlas
  • all 9 standard animation rows
  • left and right drag animations
  • idle blinking
  • working, waiting, review, failure, waving, and jumping poses
  • 16 clockwise look directions
  • a validated transparent WebP spritesheet

The final package passed v2 atlas validation with no errors or warnings.

Known Windows app issue

On Codex/ChatGPT desktop app version 26.803.5235.0, I found that neither Sodam nor the built-in blue pet displayed the automatic working animation while an ordinary ChatGPT conversation was generating a response.

The working animation does appear during Codex tasks, so this seems to be an app-side activity-status issue rather than a problem with Sodam’s spritesheet. Another Windows user in this thread has reported the same behavior with both custom and built-in pets.

Download and installation

Download the ZIP here:

YOUR GOOGLE DRIVE LINK

  1. Download and extract the ZIP.
  2. Copy the included sodam folder to:
    • Windows: %USERPROFILE%\.codex\pets\sodam
    • macOS/Linux: ~/.codex/pets/sodam
  3. Open Settings → Pets.
  4. Select Refresh, then choose 소담 under Custom pets.

The ZIP includes the pet files, previews, validation result, checksums, installation notes, and license.

License

Sodam is shared under CC BY-NC-SA 4.0.

You may use, share, and modify her for non-commercial purposes. Attribution to Sodam Pet Project is required, and adaptations must use the same license.

Suggested attribution:

Sodam Codex Pet by Sodam Pet Project — CC BY-NC-SA 4.0. Created with ChatGPT/Codex assistance.

This is an unofficial community project and is not affiliated with, sponsored by, or endorsed by OpenAI.

I hope Sodam can keep some other builders company too!

I kept forgetting which pet folder Codex was reading, so I finally stopped copying these by hand and put them in one repo.

It is called codex-nikeru8-pets under my GitHub username nikeru8.

There are 8 packs now. They use the normal Codex v2 pet library, so there isn’t another app to install. Run the Bash script on macOS/Linux or the PowerShell script on Windows, then go to Settings → Pets → Refresh.

I added the ID and SHA-256 checks after nearly overwriting a local pack. Existing folders are left alone unless force is used, and force moves the old copy into a timestamped backup first.

Frieren’s magic-hover loop is in the previews folder. Windows and Linux are covered by CI, but I haven’t tried every real-machine setup. If Refresh behaves oddly or scaling exposes a seam, an issue would be useful.

Unofficial, non-commercial fan project. The scripts and docs are MIT; the character art keeps its own attribution and non-commercial terms in the repo.

Introducing Hunter :slight_smile: - my Codex Pet!

A few years ago, we made the difficult decision to rehome my goldendoodle, Hunter. He had been by my side for almost four years, through many of my ups and downs. Rehoming him was heartbreaking, but we knew he deserved a home where he could receive all the space, attention, and love he needed.

He will always have a special place in my heart.

Now, I have created an AI version of Hunter who lives in my ChatGPT interface and keeps me company throughout my OpenAI journey. :blue_heart:

For anyone who loves dogs, you can adopt Hunter as your ChatGPT companion as well:

https://chatgpt.com/s/sharepet_6a7b1e698f88819197e1429dff200449

Alvis-the-Wise-fixed-animation My Pet is called Alviss the Wise. I like the idea of a visual representation and communicator of what my agents are doing and when they need attention. This is a clever way to solve the, “I have a bunch of things going on and lost attention” problem.


Open Research and Development Laboratories - ordl-dejavu | Deja Vu I tell you, see me once, but never again. To the frontier we head, pathing the way for those who are to follow.

Actively revamping this pet if anyone would like it’s files.


pet.json

{
  "id": "ordl-dejavu",
  "displayName": "Deja Vu",
  "description": "A hooded lantern-bearing research sentinel that carries open inquiry through uncertainty and leaves a path for those who follow.",
  "spriteVersionNumber": 2,
  "spritesheetPath": "spritesheet.webp"
}

behavior-map.json

{
  "schema": "codex-pet-behavior-map/v1",
  "pet": {
    "id": "ordl-dejavu",
    "displayName": "Deja Vu",
    "manifestPath": "pet.json",
    "spritesheetPath": "spritesheet.webp",
    "spriteVersionNumber": 2,
    "cellSize": {
      "width": 192,
      "height": 208
    },
    "grid": {
      "columns": 8,
      "rows": 11
    }
  },
  "rendererContract": {
    "nativeCodexStates": "fixed-v2-rows",
    "semanticAliases": "sidecar",
    "note": "The native Codex pet manifest remains strict and uses fixed v2 rows. This sidecar gives external behavior orchestration and future renderers the recovered ORDL/Ralph semantics without adding unsupported manifest fields."
  },
  "semanticAliases": {
    "observe": "idle",
    "path-making-right": "running-right",
    "path-making-left": "running-left",
    "orient": "look-directions",
    "signal": "waving",
    "breakthrough": "jumping",
    "recover": "failed",
    "operator-gate": "waiting",
    "thinking": "running",
    "discovery": "review"
  },
  "states": {
    "idle": {
      "rows": [0],
      "frames": 6,
      "frameColumns": [0, 1, 2, 3, 4, 5],
      "intent": "Observe and maintain a stable research context."
    },
    "running-right": {
      "rows": [1],
      "frames": 8,
      "frameColumns": [0, 1, 2, 3, 4, 5, 6, 7],
      "intent": "Make a path toward the screen-right frontier."
    },
    "running-left": {
      "rows": [2],
      "frames": 8,
      "frameColumns": [0, 1, 2, 3, 4, 5, 6, 7],
      "intent": "Retrace, branch, or carry the path toward screen-left."
    },
    "waving": {
      "rows": [3],
      "frames": 4,
      "frameColumns": [0, 1, 2, 3],
      "intent": "Signal a checkpoint, acknowledgement, or handoff."
    },
    "jumping": {
      "rows": [4],
      "frames": 5,
      "frameColumns": [0, 1, 2, 3, 4],
      "intent": "Cross a boundary or mark a breakthrough."
    },
    "failed": {
      "rows": [5],
      "frames": 8,
      "frameColumns": [0, 1, 2, 3, 4, 5, 6, 7],
      "intent": "Hold a blocked or rejected branch as recoverable state."
    },
    "waiting": {
      "rows": [6],
      "frames": 6,
      "frameColumns": [0, 1, 2, 3, 4, 5],
      "intent": "Pause at the operator gate for approval, authority, help, or input."
    },
    "running": {
      "rows": [7],
      "frames": 6,
      "frameColumns": [0, 1, 2, 3, 4, 5],
      "intent": "Think, process, and construct the next path or RalphFlow step."
    },
    "review": {
      "rows": [8],
      "frames": 6,
      "frameColumns": [0, 1, 2, 3, 4, 5],
      "intent": "Inspect evidence, artifacts, and results to discover what comes next."
    },
    "look-directions": {
      "rows": [9, 10],
      "frames": 16,
      "frameColumns": [0, 1, 2, 3, 4, 5, 6, 7],
      "directionsDegrees": [0, 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180, 202.5, 225, 247.5, 270, 292.5, 315, 337.5],
      "intent": "Orient toward and check a new frontier point before acting."
    }
  },
  "loops": {
    "behavior": [
      "observe",
      "thinking",
      "path-making-right|path-making-left",
      "discovery",
      "operator-gate",
      "thinking"
    ],
    "recovery": [
      "recover",
      "thinking"
    ],
    "breakthrough": [
      "discovery",
      "breakthrough",
      "observe"
    ]
  },
  "legacyCorrelation": {
    "sourceAtlasPath": "dejavu.png",
    "sourceGrid": {
      "columns": 8,
      "rows": 9,
      "cellWidth": 192,
      "cellHeight": 208
    },
    "usedCellsByRow": {
      "0": 6,
      "1": 8,
      "2": 8,
      "3": 4,
      "4": 5,
      "5": 8,
      "6": 6,
      "7": 6,
      "8": 6
    },
    "alphaSilhouettePreservedInV2": true,
    "addedNeutralFrame": {
      "row": 0,
      "column": 6,
      "intent": "Neutral/front fallback while selecting a look direction."
    }
  }
}

Meet NezukoCoder HD — an unofficial fan-made Codex Pet

Meet NezukoCoder HD, a high-detail chibi coding companion built as a complete Codex Pet Atlas V2.

The final version uses a 1536 × 2288 transparent WebP atlas with 8 columns and 11 rows. I refined the character, laptop, ground, jump, and look-direction anchors so the animation stays stable instead of drifting or shrinking between frames.

Package highlights

  • Codex Pet Atlas V2
  • Idle, working, waiting, review, failure, waving, jumping, drag, and look-direction frames
  • Stable lower-body and laptop anchors
  • Bilingual installation notes and SHA-256 checksums
  • Only the final release files; no intermediate generations or local QA paths

Install

  1. Download and unzip the package.
  2. Copy nezukocoder-anchor-v4 to ~/.codex/pets/ on macOS/Linux or %USERPROFILE%\.codex\pets\ on Windows.
  3. Open Codex → Settings → Pets → Refresh, then select NezukoCoder HD.

ZIP SHA-256: df302336492f22ccdf0156afb7c2c893be992a7de2a472ea1c918509fe4a8549

Fan-work notice

This is an unofficial, non-commercial fan creation inspired by Nezuko Kamado from Demon Slayer: Kimetsu no Yaiba. It is not affiliated with, sponsored by, or endorsed by OpenAI or the related rights holders. Related character names, designs, and trademarks belong to their respective rights holders.

Preview and download

nezukocoder-hd-idle

Wapuu the Grey

This mouse is super cute <3