611c10176a27.A pet package should be data only
The essential files are pet.json and the referenced spritesheet PNG or WebP. Before extracting, open the ZIP in the browser-local Pet Builder doctor. It rejects traversal, nested payloads, executable extras, encryption, symlinks, expansion beyond the size limit, manifest/atlas mismatches, and missing transparency without uploading the archive. A visual companion does not need to change API keys, model settings, the signed Codex app, WindowsApps, or app.asar.
Use one explicit folder
Place the files together under the current Codex Home pets directory, normally ~/.codex/pets/<pet-id>/ for native macOS, Linux, or Windows user storage. Keep the folder id aligned with pet.json, preserve the exact spritesheet filename, and avoid copying a ZIP inside another unnecessary nested directory.
Refresh and test in the application
Open Codex Settings, Appearance, and Pets, then refresh custom pets and select the new entry. Restart Codex once if the picker does not update. Use /pet and observe idle, working, waiting, review, and failure changes. Remove only the specific pet folder if you decide not to keep it.
Completion checklist
- Archive contains data only
- Manifest path matches
- Atlas dimensions match version
- Folder is under the active Codex Home
- Pet appears after refresh