# tmuxp.workspace.builder.resolve_builder_class

- **Module:** tmuxp.workspace.builder
- **Package:** tmuxp
- **Language:** Python
- **Kind:** function
- **Source:** https://github.com/tmux-python/tmuxp/blob/153acdf6ff1268b14d3d03ed488f545a7123c8f1/src/tmuxp/workspace/builder/registry.py#L259
- **Page:** https://libtmux.org/en/py/latest/workspace/reference/tmuxp-workspace-builder-resolve_builder_class/

```
tmuxp.workspace.builder.resolve_builder_class(session_config: dict[str, t.Any]) -> type[WorkspaceBuilderProtocol]
```

Resolve the workspace builder class selected by ``session_config``.

Resolution of the ``workspace_builder`` value:

1. absent/empty → the classic
   :class:`~tmuxp.workspace.builder.classic.ClassicWorkspaceBuilder` (no
   import, no entry-point scan);
2. contains ``:`` → a ``module:attr`` object reference;
3. no ``.`` and no ``:`` → an entry-point name in the
   ``tmuxp.workspace_builders`` group;
4. dotted, no ``:`` → an entry-point name if registered, otherwise a
   ``module.attr`` dotted path.

## Parameters

- `session_config` (dict[str, t.Any]): the expanded workspace configuration

## Returns

type
    a workspace builder class (or builder factory) satisfying
    :class:`~tmuxp.workspace.builder.protocol.WorkspaceBuilderProtocol`

## Example

The default resolves to the classic builder without importing anything:

```python
>>> from tmuxp.workspace.builder.classic import ClassicWorkspaceBuilder
>>> resolve_builder_class({}) is ClassicWorkspaceBuilder
True
```

## Example

A dotted ``module:attr`` reference is imported and validated:

```python
>>> resolve_builder_class(
...     {
...         "workspace_builder": (
...             "tmuxp.workspace.builder.classic:ClassicWorkspaceBuilder"
...         )
...     }
... ) is ClassicWorkspaceBuilder
True
```
