Review and plan
npm ci --omit=dev --ignore-scripts
node ./bin/codextheme-pet.mjs plan /ABSOLUTE/PATH/TO/PET.zipReview a local Pet directory or ZIP, see the exact target and hashes, then opt into a staged install. Replacement and uninstall move the current package into a private backup first, so the returned transaction ID can restore it.
v0.1.0 · 15.6 KB · 065b9c414e11d1370f9dc7bb6fd34dc71ec9fb0a3d2ee844cd36cf84b194a74a
backup → stage → rename → receiptThis source tool writes only inside the active Codex home's custom-Pet folder and its own private recovery directory. It never reads Codex auth, sessions, logs, memories, projects, or Desktop global state.
The download is source code. Nothing runs until you extract it, review it, install its pinned dependency, inspect a local Pet, and add --apply yourself.
npm ci --omit=dev --ignore-scripts
node ./bin/codextheme-pet.mjs plan /ABSOLUTE/PATH/TO/PET.zipnode ./bin/codextheme-pet.mjs install \
/ABSOLUTE/PATH/TO/PET.zip --applynode ./bin/codextheme-pet.mjs doctor pet-id
node ./bin/codextheme-pet.mjs select pet-idnode ./bin/codextheme-pet.mjs uninstall pet-id
node ./bin/codextheme-pet.mjs uninstall pet-id --apply
node ./bin/codextheme-pet.mjs restore TRANSACTION-ID --applyPackage sources are local. The manager has no network client, registry, analytics, updater, login, or hidden postinstall script.
CODEX_HOME/pets/<id> contains one validated kebab-case Pet with allowlisted, non-linked data files.
CODEX_HOME/.codextheme-pet-manager keeps backups, receipts and recoverable trash local with private permissions.
The CLI returns Settings steps and an official one-session TUI override; it does not patch internal Desktop state.
This is not a signed native macOS or Windows application. A successful file transaction does not prove that Codex displayed the Pet, that every frame rendered, or that Desktop switched it. Refresh the custom-Pet list, choose the item manually, wake it with /pet, and keep the transaction ID until recovery is verified.
Windows-native and WSL behavior stay separate: upstream reports unresolved WSL custom-Pet discovery, so the doctor warns there rather than claiming universal compatibility.