dots events tail

The live-event reader — dots events tail prints every frame one of the three server-sent event streams carries and runs until stopped.

BASH
dots events tail [options] <stream> [target...]

The live-event reader. Where dots wait blocks until one condition occurs and exits, dots events tail subscribes to one of the three server-sent event streams and prints every frame it carries as it arrives, through the ordinary --format pipeline, running in the foreground until it is stopped. Each printed record names the stream, the frame's event id (null where the stream carries none), the event name, and the payload — parsed as JSON where it is JSON, raw text where it is not.

The streams send a keepalive comment every 30 seconds; the reader consumes those and never prints them. A cleanly closed stream — a proxy idling out the connection — resubscribes after a short pause, while a transport error surfaces as the failure it is, and a refusal on the subscription request (401, 404) maps to the same exit class every other command's refusal takes.

Arguments:

  • <stream> — Which stream to read: global, presence, or onboarding. An unknown stream is a typed usage error naming the three.
  • [target...] — The stream's target: the <dotabase-slug> <rowHumanId> pair for presence; global and onboarding take none.

Options:

  • --after <id> — Resume from this event id: events between invocations are replayed instead of missed. Only the replay-capable streams (global, onboarding) accept it.

Streams

Global

BASH
dots events tail global --after <notificationId>

Tails this actor's notification events — created, updated, read, dismissed — from the global stream. Every frame carries the notification row id as its event id, which is the replay anchor a reconnect resumes from.

Presence

BASH
dots events tail presence <dotabase-slug> <rowHumanId>

Tails the live collaborator roster on one row: each frame is the current set of active sessions there, this tail's own connection included. Presence is ephemeral who-is-here state with no event ids, so this stream carries no --after.

Onboarding

BASH
dots events tail onboarding

Tails the actor's onboarding run events. The stream replays the actor's latest run on connect and then stays live, so a fresh tail prints the replayed history first; --after naming the last seen event id narrows the replay to what follows it.

Reconnect And Replay

The three streams' replay contracts are not uniform, and the reader honours each one's actual contract rather than assuming one. A cleanly closed global or onboarding stream resubscribes sending the last seen event id as the Last-Event-ID header — the global stream's route also reads the ?lastEventId= query anchor, so its anchor rides both — and resumes where it left off; --after seeds that same anchor for the first subscription. The presence stream emits no event ids and its route declares no replay, so a presence resubscription is live-only, and --after against it is a typed usage error naming the stream rather than a silently ignored flag.

Exemption

dots events tail is CLI-only and carries no MCP twin, named-exempt under the streaming axis beside dots wait: it holds an open stream until it is stopped, and a stdio tool call cannot hold a stream. For the same reason it is excluded from dots batch, which has no stop signal to give a foreground reader. Every other family is listed in CLI Reference.

dots events tail · This page in the graph

Connected Records5

Documents
packages/cli/src/commands/events.ts
Mentions
DOT
References
Relevant to
5 connections.

Where To Go Next

Reading this as an agent?For Agents
Something wrong on this page?Dots On GitHub