Loading AgentsKit ecosystem navigation…
AgentsKit Chat
Components

Tool call

Status display for a tool invocation. Component key `tool-call`.

View canonical Markdown

Tool call

tool-call is display-only: name, status lifecycle, optional arguments and result. No interaction events.

Live preview

Tool call
Status display for a tool invocation (pending → complete/error).
tool-call
Searchcomplete
{
  "q": "AgentsKit"
}
"Found"

Demos use docs host CSS. Package primitives are intentionally unstyled so your product theme owns the look.

When to use

  • Show what the agent is doing mid-turn
  • Surface tool args/result in a consistent panel across shells

Prefer something else when

  • Human must approve the tool → approval-request + action confirmation
  • Percent progress of a job → progress

Props (schema)

FieldTypeNotes
namestringTool display name
statuspending | running | complete | errorLifecycle
argumentsrecord?JSON-serializable args
resultjson?Optional result payload

Frame example

code
{
  "protocol": "agentskit.chat.component",
  "version": 1,
  "type": "render",
  "componentKey": "tool-call",
  "instanceId": "tool-call-fixture",
  "props": {
    "name": "Search",
    "status": "complete",
    "arguments": { "q": "AgentsKit" },
    "result": "Found"
  },
  "fallback": {
    "kind": "tool-call",
    "summary": "Search completed."
  }
}

Events

No events. This key is display-only — do not invent host callbacks.

Host wiring

Display-only — register the component so the frame resolves; no interact handler is required.

code
import { ToolCallComponent, defineComponentManifest, defineChat } from '@agentskit/chat'

const definition = defineChat({
  id: 'app',
  components: defineComponentManifest([ToolCallComponent]),
  chat: { adapter },
})

For agents

FieldValue
componentKeytool-call
ExportToolCallComponent
Protocolagentskit.chat.component v1
Envelopetype: "render" + instanceId + props + fallback
Eventsnone (display-only)
Host callbacknone — display only
InteractionDo not emit user events for this key
FallbackAlways include fallback.kind + fallback.summary

Do not invent props or events outside the schema. Unknown keys and invalid props stay inert.

Shells

ShellNotes
React / Vue / Svelte / Solid / AngularSame frame; replaceable slots
React NativeAccessibility roles from the catalog definition
InkTerminal-safe fallback when interactive chrome is limited