Hermes Agent Just Got Pets, and I Already Built My Own

Hermes Agent now has animated pet sprites that react to what the agent is doing. Nearly 3,000 pets via the petdex gallery. I built my own version first, and their's is better.

Hermes Agent Just Got Pets, and I Already Built My Own

I laughed when I saw this drop, because I already built it.

Nous Research just released Hermes Pets for Hermes Agent — animated pet sprites that sit in your GUI or TUI and react to what the agent is doing. Idle. Running a tool. Thinking. Waiting. Finishing. Failing. Each state triggers a different animation.

I released a standalone Hermes Pets project a while back. And to be fair, their version is way better than mine. No beef. Just thought it was funny to watch the official version land after I’d already been down that road.

Here’s what shipped and why PetDex is genuinely awesome.

What Hermes Pets actually is

Your Hermes Agent can now adopt an animated pet. A small sprite lives in the interface, and it changes its animation based on what the agent is currently doing:

  • Idle — pet chills, looks around
  • Running a tool — pet perks up, pays attention
  • Thinking — pet looks contemplative
  • Waiting — pet gets impatient or sleepy
  • Finishing — pet celebrates
  • Failing — pet reacts with concern or disappointment

It works in both the GUI and the TUI. If your terminal supports graphics (kitty, Ghostty, WezTerm, iTerm2, sixel), you get full sprite rendering. Otherwise there’s a Unicode half-block fallback that still looks good.

The PetDex: nearly 3,000 pets

This is the part that got me. The PetDex gallery has nearly 3,000 pets to choose from. You can browse by category, search by keyword, and install any of them with a single command.

Current PetDex commands:

  • hermes pets list — browse the gallery
  • hermes pets install <slug> --select — install and activate
  • hermes pets show — preview your pet
  • hermes pets select <slug> — switch pets
  • hermes pets off — disable

You can also submit your own sprites. The gallery is community-driven and open. If you can make pixel art (or AI-generate it), you can contribute.

Why this matters more than you think

A pet sprite sounds like a gimmick until you actually use one.

There’s something about having a visual companion that responds to what the agent is doing. It makes the agent feel less like a black box and more like something you’re working with. When the pet gets excited during a tool call or looks concerned when something fails, it adds a layer of feedback that text logs just don’t provide.

I built my version because I wanted that feedback loop. Nous’s version is better because they integrated it deeper — it hooks into the actual agent state machine, works across GUI and TUI natively, and the PetDex infrastructure means you’re not hunting for sprite sheets on GitHub.

How it compares to my version

My standalone Hermes Pets project worked. It had sprites, it had state reactions, it ran in the terminal. But it was bolted on. You had to install it separately, configure it manually, and the sprite selection was whatever I’d cobbled together.

The official version is:

  • Integrated directly into Hermes Agent — no separate install
  • Nearly 3,000 sprites vs the handful I managed
  • GUI + TUI support out of the box
  • A community submission pipeline via PetDex
  • Professional sprite quality

I’m not mad about it. I’m honestly impressed. I built a prototype. They built a product. That’s the right order.

Bottom line

Hermes Pets is the kind of feature that makes open-source agent frameworks fun. It’s not essential. It doesn’t change the model’s capabilities. But it makes the experience of working with an agent more human, more engaging, and honestly more delightful.

If you use Hermes Agent, install a pet. It takes two commands and it changes how the interface feels. I’ve got mine running and it makes me smile every time the little guy reacts to a tool call.

The PetDex is at petdex.dev and the feature ships with the latest Hermes Agent update.

Submit a Take

Your email address will not be published. Required fields are marked *