# `ConduitMcp.OptionalDependencyError`
[🔗](https://github.com/nyo16/conduit_mcp/blob/v0.11.0/lib/conduit_mcp/optional_dependency_error.ex#L1)

Raised when a feature is configured whose optional dependency is not
compiled into the current build of `:conduit_mcp`.

Several ConduitMCP modules are wrapped in `if Code.ensure_loaded?(Dep)`
guards, which is *conditional compilation*: whether the module exists is
decided once, when `:conduit_mcp` itself is compiled inside the consuming
project's `_build`. Mix does not recompile an already-built dependency when
the consumer later adds one of its optional deps, so adding `:joken` to
`mix.exs` is not by itself enough — `mix deps.compile conduit_mcp --force`
is required.

The message therefore always names both the missing dependency and the
rebuild command.

# `t`

```elixir
@type t() :: %ConduitMcp.OptionalDependencyError{
  __exception__: true,
  deps: [{atom(), String.t()}],
  feature: String.t(),
  message: String.t(),
  module: module()
}
```

---

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