docs/sdk/reference/agent.mdx
Agent is an alias for AgentRuntime from @cline/agents.
import { Agent, AgentRuntime, createAgent, createAgentRuntime } from "@cline/sdk"
new Agent(config: AgentRuntimeConfig)
AgentRuntimeConfig accepts either:
model: AgentModel, orproviderId, modelId, and optional provider credentials (apiKey, baseUrl, headers).Common fields:
| Field | Type | Required | Description |
|---|---|---|---|
providerId | string | Yes, unless model supplied | Provider ID |
modelId | string | Yes, unless model supplied | Model ID |
apiKey | string | No | Provider API key |
baseUrl | string | No | Custom provider base URL |
systemPrompt | string | No | System instructions |
tools | AgentTool[] | No | Tools available to the runtime |
initialMessages | AgentMessage[] | No | Preloaded conversation |
toolPolicies | Record<string, ToolPolicy> | No | Per-tool enablement/approval |
hooks | AgentRuntimeHooks | No | Runtime lifecycle hooks |
run(input)const result = await agent.run("Analyze this codebase")
Starts a run with input.
continue(input?)const result = await agent.continue("Now inspect the auth module")
Continues with optional new input.
abort(reason?)agent.abort("User cancelled")
Aborts the active run.
subscribe(listener)const unsubscribe = agent.subscribe((event) => {
console.log(event.type)
})
Subscribes to AgentRuntimeEvent events.
restore(messages)agent.restore(savedMessages)
Replaces conversation history and resets runtime state while preserving tools, hooks, model, agent identity, and subscribers.
snapshot()const state = agent.snapshot()
Returns an AgentRuntimeStateSnapshot.
interface AgentRunResult {
agentId: string
agentRole?: string
runId: string
status: "completed" | "aborted" | "failed"
iterations: number
outputText: string
messages: readonly AgentMessage[]
usage: AgentUsage
error?: Error
}
const agent = createAgent(config)
const runtime = createAgentRuntime(config)