Skip to content

claude-code-driver / AgentStatus

Type Alias: AgentStatus ​

ts
type AgentStatus = 
  | {
  kind: "starting";
  since: number;
}
  | {
  backgroundAgents: number;
  kind: "idle";
  lastError?: ClaudeSessionErrorData;
  queued: number;
  quiescent: boolean;
  since: number;
}
  | {
  attempt?: number;
  kind: "modelRequest";
  maxAttempts?: number;
  phase: "waiting" | "streaming" | "retrying" | "stalled";
  provenance: Provenance;
  retryInMs?: number;
  since: number;
}
  | {
  kind: "writing";
  provenance: Provenance;
  since: number;
}
  | {
  kind: "runningTools";
  provenance: Provenance;
  since: number;
  tools: readonly ToolKey[];
}
  | {
  kind: "awaitingPermission";
  permission: PermissionKey;
  since: number;
}
  | {
  inputKind: "elicitation" | "elicitationUrl" | "agentNeedsInput" | "unknownModal";
  kind: "awaitingInput";
  message?: string;
  since: number;
}
  | {
  kind: "interrupted";
  since: number;
}
  | {
  kind: "compacting";
  since: number;
}
  | {
  autoResume: boolean;
  kind: "usageLimited";
  nextWakeAt?: number;
  resetsAt?: number;
  since: number;
}
  | {
  kind: "authRequired";
  message: string;
  since: number;
}
  | {
  exitStatus: number | null;
  kind: "exited";
  signal: string | null;
  since: number;
}
  | {
  claudeSessionId: string;
  kind: "suspended";
  since: number;
};

Defined in: api/public-types.ts:66

All times are wall-clock epoch ms.

Union Members ​

Type Literal ​

ts
{
  kind: "starting";
  since: number;
}

Type Literal ​

ts
{
  backgroundAgents: number;
  kind: "idle";
  lastError?: ClaudeSessionErrorData;
  queued: number;
  quiescent: boolean;
  since: number;
}

Type Literal ​

ts
{
  attempt?: number;
  kind: "modelRequest";
  maxAttempts?: number;
  phase: "waiting" | "streaming" | "retrying" | "stalled";
  provenance: Provenance;
  retryInMs?: number;
  since: number;
}

Type Literal ​

ts
{
  kind: "writing";
  provenance: Provenance;
  since: number;
}

Type Literal ​

ts
{
  kind: "runningTools";
  provenance: Provenance;
  since: number;
  tools: readonly ToolKey[];
}

Type Literal ​

ts
{
  kind: "awaitingPermission";
  permission: PermissionKey;
  since: number;
}

Type Literal ​

ts
{
  inputKind: "elicitation" | "elicitationUrl" | "agentNeedsInput" | "unknownModal";
  kind: "awaitingInput";
  message?: string;
  since: number;
}

Type Literal ​

ts
{
  kind: "interrupted";
  since: number;
}

Type Literal ​

ts
{
  kind: "compacting";
  since: number;
}

Type Literal ​

ts
{
  autoResume: boolean;
  kind: "usageLimited";
  nextWakeAt?: number;
  resetsAt?: number;
  since: number;
}

Type Literal ​

ts
{
  kind: "authRequired";
  message: string;
  since: number;
}

Type Literal ​

ts
{
  exitStatus: number | null;
  kind: "exited";
  signal: string | null;
  since: number;
}

Type Literal ​

ts
{
  claudeSessionId: string;
  kind: "suspended";
  since: number;
}

Claude was stopped on idle; the next send, command, usage or setMode resumes this conversation (ICR 0041).

Released under the MIT License. Not affiliated with Anthropic.