Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cline.bot/llms.txt

Use this file to discover all available pages before exploring further.

The SDK exposes multiple event surfaces.

AgentRuntimeEvent

Direct AgentRuntime usage emits low-level runtime events through agent.subscribe(listener).
const unsubscribe = agent.subscribe((event) => {
  console.log(event.type)
})
Common runtime events include model events, tool execution events, run lifecycle events, and failure events. Runtime results use AgentRunResult.status rather than finishReason.

AgentEvent

Core/host-facing agent events are emitted through AgentConfig.onEvent and core adapters.
EventDescription
content_startText/reasoning/tool content begins
content_updateTool progress update
content_endText/reasoning/tool content completes
iteration_startLoop iteration begins
iteration_endLoop iteration completes
usageToken/cost usage update
noticeRuntime status/recovery notice
doneAgent completed/aborted/failed
errorError occurred

Done Event

interface AgentDoneEvent {
  type: "done"
  reason: "completed" | "max_iterations" | "aborted" | "mistake_limit" | "error"
  text: string
  iterations: number
  usage?: LegacyAgentUsage
}

Usage Event

interface AgentUsageEvent {
  type: "usage"
  inputTokens: number
  outputTokens: number
  cacheReadTokens?: number
  cacheWriteTokens?: number
  cost?: number
  totalInputTokens: number
  totalOutputTokens: number
  totalCacheReadTokens?: number
  totalCacheWriteTokens?: number
  totalCost?: number
}

CoreSessionEvent

ClineCore.subscribe(listener, options?) emits session-level events from the runtime host.
const unsubscribe = cline.subscribe((event) => {
  console.log(event.type, event.sessionId)
}, { sessionId })