# AnthropicTool

> **Class** in `langchain_anthropic`

📖 [View in docs](https://reference.langchain.com/python/langchain-anthropic/chat_models/AnthropicTool)

Anthropic tool definition for custom (user-defined) tools.

Custom tools use `name` and `input_schema` fields to define the tool's
interface. These are converted from LangChain tool formats (functions, Pydantic
models, `BaseTool` objects) via `convert_to_anthropic_tool`.

## Signature

```python
AnthropicTool()
```

## Extends

- `TypedDict`

## Constructors

```python
__init__(
    name: str,
    input_schema: dict[str, Any],
    description: NotRequired[str],
    strict: NotRequired[bool],
    cache_control: NotRequired[dict[str, str]],
    defer_loading: NotRequired[bool],
    input_examples: NotRequired[list[dict[str, Any]]],
    allowed_callers: NotRequired[list[str]],
)
```

| Name | Type |
|------|------|
| `name` | `str` |
| `input_schema` | `dict[str, Any]` |
| `description` | `NotRequired[str]` |
| `strict` | `NotRequired[bool]` |
| `cache_control` | `NotRequired[dict[str, str]]` |
| `defer_loading` | `NotRequired[bool]` |
| `input_examples` | `NotRequired[list[dict[str, Any]]]` |
| `allowed_callers` | `NotRequired[list[str]]` |


## Properties

- `name`
- `input_schema`
- `description`
- `strict`
- `cache_control`
- `defer_loading`
- `input_examples`
- `allowed_callers`

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/f0c5a28fa05adcda89aebcb449d897245ab21fa4/libs/partners/anthropic/langchain_anthropic/chat_models.py#L99)