# `ACP.ToolCall`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/tool_call.ex#L276)

Represents a tool call that the language model has requested.

# `t`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/tool_call.ex#L279)

```elixir
@type t() :: %ACP.ToolCall{
  content: [ACP.ToolCallContent.t()],
  kind: ACP.ToolKind.t(),
  locations: [ACP.ToolCallLocation.t()],
  meta: map() | nil,
  raw_input: any() | nil,
  raw_output: any() | nil,
  status: ACP.ToolCallStatus.t(),
  title: String.t(),
  tool_call_id: String.t()
}
```

# `from_json`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/tool_call.ex#L325)

# `new`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/tool_call.ex#L299)

# `to_json`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/tool_call.ex#L314)

# `to_update`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/tool_call.ex#L345)

# `update`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/tool_call.ex#L303)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
