# `Dsxir.Errors.Invalid.Tool`

Raised when a `Dsxir.Primitives.Tool` declaration or call is malformed.

# `t`

```elixir
@type t() :: %Dsxir.Errors.Invalid.Tool{
  __exception__: true,
  bread_crumbs: term(),
  class: term(),
  inner: term(),
  path: term(),
  reason: term(),
  splode: term(),
  stacktrace: term(),
  tool: term(),
  vars: term()
}
```

# `exception`

```elixir
@spec exception(opts :: Keyword.t()) :: %Dsxir.Errors.Invalid.Tool{
  __exception__: true,
  bread_crumbs: term(),
  class: term(),
  inner: term(),
  path: term(),
  reason: term(),
  splode: term(),
  stacktrace: term(),
  tool: term(),
  vars: term()
}
```

Create an `Elixir.Dsxir.Errors.Invalid.Tool` without raising it.

## Keys

- :tool
- :reason
- :inner

---

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