Feature request: Let Codex pets act as companions, not agent avatars

Open 💬 2 comments Opened Jul 11, 2026 by Crystal32378

Summary

Codex Desktop pets currently mirror the agent's full text in a speech bubble. This makes the pet feel like a visual avatar or duplicate of Codex rather than a separate companion.

A pet can communicate agent state without repeating everything the agent says.

Product distinction

The intended relationship can be:

  • Codex: the agent doing the work and speaking to the user
  • Pet: a companion that reacts to Codex's state and keeps the user company

When the pet reproduces the full agent response, those identities collapse into one. The pet stops feeling like a companion and starts looking like Codex's talking head.

Suggested controls

Please consider a per-user or per-pet speech setting with options such as:

  1. Full agent text — current behavior
  2. Short reactions only — brief pet-specific responses
  3. Status symbols only — for example …, ✓, !, or an icon
  4. State only — thinking, waiting, reviewing, failed, completed
  5. No speech bubble — animation only

A good default may be state only or short reactions, while preserving full-text mode for users who prefer it.

Why this matters

  • avoids duplicating text already visible in the Codex interface
  • preserves the pet as a distinct character
  • reduces visual clutter from long responses
  • supports different pet personalities without impersonating the agent
  • makes the pet useful as a lightweight state indicator

Observed behavior

With a custom pet loaded in Codex Desktop on macOS:

  1. The pet idles and animates correctly.
  2. When Codex is thinking or responding, the pet displays the agent's full text above its head.
  3. The result looks like the pet is speaking as Codex, rather than accompanying Codex.

The animation system already distinguishes states such as idle, running, waiting, review, and failed. Those states could carry most of the pet's communication without mirroring the full response.

The pet is Codex's companion, not Codex's clone.

View original on GitHub ↗

2 Comments

fefaith7 · 1 month ago

I added a detailed interaction-design proposal in #20863 that complements this issue.

It focuses on how the pet can remain a distinct companion—rather than repeating Codex’s text—by communicating task states through expressive, full-body animations: working, waiting for input, waiting for review, requesting permission, retrying, partial success, validation failure, task failure, cancellation, and true completion.

The core idea is that the pet should communicate Codex’s state emotionally and visually, not behave like Codex’s talking avatar. My full animation proposal is in #20863.

Crystal32378 · 1 month ago

@fefaith7 Thank you for linking this — I checked out #20863, and your pet is genuinely adorable. I especially love how much personality comes through in the full-body animation chains.

This is exactly the direction I hoped pets could move toward: expressing the agent’s state visually and emotionally, while still remaining their own companion rather than becoming a talking duplicate of Codex.

My issue focuses more on the companion-versus-avatar boundary, while your proposal shows a much more complete runtime path through configurable states, animation chains, richer activity events, and hover/drag behavior. They complement each other very naturally.

I also built and locally verified a complete nine-state custom pet, Helios. One thing we noticed in daily use is that the artwork already contains much more expression than the current runtime usually surfaces, so your proposal directly addresses a real limitation we encountered.

Thank you for sharing this — it is wonderful to see another builder thinking about pets as expressive companions, not just decorative avatars.