# AgentSelectorScreen

> **Class** in `deepagents_cli`

📖 [View in docs](https://reference.langchain.com/python/deepagents-cli/widgets/agent_selector/AgentSelectorScreen)

Modal dialog for switching between available agents.

Displays agents found in `~/.deepagents/` in an `OptionList`. Returns the
selected agent name on Enter, or `None` on Esc (no change).
`Ctrl+S` toggles the highlighted agent as the persisted default
(`[agents].default`), mirroring the model selector's affordance.

## Signature

```python
AgentSelectorScreen(
    self,
    current_agent: str | None,
    agent_names: list[str],
    *,
    default_agent: str | None = None,
)
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `current_agent` | `str \| None` | Yes | The name of the currently active agent (to highlight).  May be `None` when no agent is active. |
| `agent_names` | `list[str]` | Yes | Sorted list of available agent names to display. |
| `default_agent` | `str \| None` | No | The persisted default agent name from `[agents].default`, or `None` if no default is set. (default: `None`) |

## Extends

- `ModalScreen[str | None]`

## Constructors

```python
__init__(
    self,
    current_agent: str | None,
    agent_names: list[str],
    *,
    default_agent: str | None = None,
) -> None
```

| Name | Type |
|------|------|
| `current_agent` | `str \| None` |
| `agent_names` | `list[str]` |
| `default_agent` | `str \| None` |


## Properties

- `BINDINGS`
- `CSS`

## Methods

- [`compose()`](https://reference.langchain.com/python/deepagents-cli/widgets/agent_selector/AgentSelectorScreen/compose)
- [`on_mount()`](https://reference.langchain.com/python/deepagents-cli/widgets/agent_selector/AgentSelectorScreen/on_mount)
- [`on_option_list_option_selected()`](https://reference.langchain.com/python/deepagents-cli/widgets/agent_selector/AgentSelectorScreen/on_option_list_option_selected)
- [`action_cancel()`](https://reference.langchain.com/python/deepagents-cli/widgets/agent_selector/AgentSelectorScreen/action_cancel)
- [`action_cursor_down()`](https://reference.langchain.com/python/deepagents-cli/widgets/agent_selector/AgentSelectorScreen/action_cursor_down)
- [`action_cursor_up()`](https://reference.langchain.com/python/deepagents-cli/widgets/agent_selector/AgentSelectorScreen/action_cursor_up)
- [`action_set_default()`](https://reference.langchain.com/python/deepagents-cli/widgets/agent_selector/AgentSelectorScreen/action_set_default)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/64d45f67c86edb4df2ced0e7b82f1a8fd158ec8c/libs/cli/deepagents_cli/widgets/agent_selector.py#L27)