Automatically track the highest-priority active task with desktop pets
What variant of Codex are you using?
Codex Desktop App on Windows, package version 26.707.9564.0
What feature would you like to see?
Summary
Add an automatic real-time task-tracking mode for the floating desktop pet.
When no task is manually pinned, the pet should automatically follow the most relevant task and continuously display the animation associated with that task's current status.
Proposed behavior
The pet should automatically select a task using this priority:
- Needs input
- Blocked
- Ready
- Running
- Idle when no task has activity
The selected state's animation should loop until a new task-state event changes the result.
Manual selection
The existing task checkbox/activity-tray selection should remain available as an explicit pinning mechanism:
- Selecting a task manually pins the pet to that task.
- Clearing the manual selection returns the pet to automatic tracking.
- The activity tray can show which task is currently being followed automatically.
Motivation
Custom pet atlases already contain distinct animations for:
- Idle
- Running
- Needs input / Waiting
- Ready / Review
- Blocked / Failed
- Movement
- Pointer look directions
However, these animations are difficult to benefit from when the user must manually select a task before the pet starts reflecting its state.
Automatic tracking would make the floating pet useful as an ambient real-time activity indicator across multiple Codex tasks.
Additional information
Current observed behavior
On Codex Desktop for Windows, my floating custom pet appears to remain in Idle unless I manually select a task using the checkbox/activity tray.
After selecting a task, the pet can follow that task. I originally expected the pet to automatically follow current task activity and repeat the corresponding animation until the next status update.
Environment
- Product: Codex Desktop App
- Operating system: Windows
- App package version: 26.707.9564.0
- Pet format:
spriteVersionNumber: 2 - Atlas format: transparent WebP
- Atlas dimensions: 1536 × 2288
- Grid: 8 columns × 11 rows
- Cell size: 192 × 208
Reproduction example
I am attaching a validated custom pet named Terminus.
The package contains:
pet.jsonspritesheet.webpcontact-sheet.pngvalidation.json
The atlas includes visibly distinct state rows, which should make it useful as a reproduction and functional test asset.
Expected result
Without manually selecting a task, starting a long-running task should switch the pet from Idle to Running.
If the task requests approval or user input, the pet should switch to Needs input.
If the task fails or becomes blocked, the pet should switch to Blocked.
When the task completes with unread activity, the pet should switch to Ready.
Each animation should continue looping until another state takes priority.
Feedback reference
In-app feedback session ID: 019f5a3d-0039-72c3-baf2-dc9864ef51d0
pet.json
validation.json
<img width="768" height="1386" alt="Image" src="https://github.com/user-attachments/assets/2c25e650-36ad-4dd6-b790-c10fea7f66cb" />
<img width="1536" height="2288" alt="Image" src="https://github.com/user-attachments/assets/6512262a-e9a0-45f9-80b2-89866fb9fadf" />