# resolve_model

> **Function** in `deepagents`

📖 [View in docs](https://reference.langchain.com/python/deepagents/_models/resolve_model)

Resolve a model string to a `BaseChatModel`.

If `model` is already a `BaseChatModel`, returns it unchanged.

String models are resolved via `init_chat_model`. OpenAI models
(prefixed with `openai:`) default to the Responses API.

OpenRouter models include default app attribution headers unless overridden
via `OPENROUTER_APP_URL` / `OPENROUTER_APP_TITLE` env vars.

## Signature

```python
resolve_model(
    model: str | BaseChatModel,
) -> BaseChatModel
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `model` | `str \| BaseChatModel` | Yes | Model string (e.g. `"openai:gpt-5.4"`) or pre-configured `BaseChatModel` subclass instance. |

## Returns

`BaseChatModel`

Resolved `BaseChatModel` instance.

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/1ae053f347679e58562d2b81eb6d6e6e9bbf0b07/libs/deepagents/deepagents/_models.py#L13)