Cheqq Docs
Guides

Reading the Cheqq logo

The Cheqq face changes expression to show what your agents are doing. Play with every state here, then learn what each one means and where it appears.

The Cheqq face in your sidebar is not a static logo. It changes expression to tell you what is happening: whether something is running, whether it finished, and whether it is stuck waiting on you.

Everything below is the live component — the same one running in the product. Poke at it.

The real component — the same one running in the product.

You already look at this mark. That is the whole argument for putting status in it: one thing to learn, instead of a different spinner, badge, and toast on every screen.

The states

Resting

Nothing is running and nothing needs you. The face breathes slowly and blinks every few seconds. If your workspace is quiet, this is what you see all day.

Resting

data-state="idle"
The blink is deliberately irregular against the breath, so the mark never looks like a loading spinner.

Thinking

Cheqq is composing a reply. The eyes fade out and the face collapses into three bouncing dots — the same shape as a typing indicator, because that is exactly what it means.

Thinking

data-state="thinking"
Appears in chat, beside the Cheqq is thinking message.

Working

Something longer is running: a workflow, an automation, an app build, or an image or video being generated. The mark shrinks slightly and coloured arcs sweep around it.

Working

data-state="working"
Each arc traces a fixed, tilted orbit at its own speed — they never bunch up into the same position.

The distinction from thinking is worth knowing. Thinking is Cheqq forming a response and usually lasts seconds. Working is a job executing, and can last as long as the job does.

Designing

Cheqq is making something visual — generating an image or a video. A brush sweeps across the face and lays down a stroke of paint, over and over, for as long as the job runs.

You get this whether or not you switched the composer into Create Image or Create Video mode. Just asking for a picture in ordinary chat counts.

Designing

data-state="designing"
The stroke is a rising diagonal on purpose: any curve sitting under two eyes gets read as a mouth.

This is a deliberate split from working. Both mean a long job is running, but orbiting arcs say "something is executing" and a brush says "something is being drawn" — and when you glance at a tab you left ten minutes ago, knowing which kind of job you are waiting on is worth the extra state.

Listening

You have started typing and Cheqq is waiting for the rest. The eyes widen and the whole mark grows toward you.

Listening

data-state="listening"
On the empty chat screen this fires on your first keystroke.

Pleased

Something finished successfully. A quick squash, an overshoot, and a wide grin — then it settles back to resting after about a second and a half.

Pleased

data-state="happy"
A one-shot beat, not a state you sit in. Press Replay to see it again.

Needs you

Either a run failed, or it has stopped and cannot continue until you answer something. The face startles, the eyes go wide, and a blue bead appears at the corner. This one holds longer than a celebration does — about three and a half seconds — because missing it costs you more.

Needs you

data-state="alert"
The bead lands after the shake, so the shake reads as the cause and the bead as the consequence.

Asleep

You have left an empty chat sitting untouched, or switched to another tab. The eyes close and the breath slows right down.

Asleep

data-state="sleeping"
Typing wakes it instantly, even mid-doze.

What a real run looks like

The states are more useful as a sequence than as a list. This is one request, from typing it to the run finishing:

Nothing running

One run, start to finish, at the pace you would actually see it.

Where each one appears

The sidebar mark is the ambient one. It reflects your workspace as a whole: it works while any run is in flight, looks pleased when a run completes, an app finishes building, or you tick off a setup step, and asks for you when a run fails.

If two things happen at once, trouble wins. A failure shows even when other runs are still going, because "something broke" is more useful than "still busy" — and the busy state will still be there once you have dealt with it.

In chat, the face beside each reply tracks that specific reply. It keeps working while the tools behind an answer are still running, which is why it can still be busy after the text has finished appearing. That is not a glitch: the words are done, the work is not. The face beside a question you need to answer — a tool approval, or a handed-back browser session — shows needs you, and the one beside an image or video request shows designing until the result arrives.

On the empty chat screen, the large face rests, wakes to listening the moment you type, and dozes off if you leave it alone.

When it doesn't move

If you have reduced motion turned on in your operating system, nothing loops, bounces, or orbits. The expressions stay: the eyes still narrow when Cheqq is working, still widen when it needs you, and the grin still appears on success.

You can check that claim right here. Freeze the animation and confirm every state is still telling you something different:

Resting
Thinking
Working
Designing
Listening
Pleased
Needs you
Asleep
Freeze the animation to check every state still reads as a distinct pose.

That constraint is why each state is a genuinely different pose rather than the same face at a different speed.

What it is not

The face is a status light, not a control. It reports; it never asks you to click it. When a run genuinely needs a decision from you, the decision itself is in the chat or on the run — the face only tells you to go and look.

It also does not replace notifications. The face tells you what is happening right now, while you are looking. Notifications are the record of what happened while you were not.

Was this page helpful?