# ThreadSelectorScreen

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen)

Modal dialog for browsing and resuming threads.

Displays recent threads with keyboard navigation, fuzzy search,
configurable columns, and delete support.

Returns a `thread_id` string on selection, or `None` on cancel.

## Signature

```python
ThreadSelectorScreen(
    self,
    current_thread: str | None = None,
    *,
    thread_limit: int | None = None,
    initial_threads: list[ThreadInfo] | None = None,
    filter_cwd: str | _Sentinel | None = _CWD_DEFAULT,
)
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `current_thread` | `str \| None` | No | The currently active thread ID (to highlight). (default: `None`) |
| `thread_limit` | `int \| None` | No | Maximum number of rows to fetch when querying DB. (default: `None`) |
| `initial_threads` | `list[ThreadInfo] \| None` | No | Optional preloaded rows to render immediately. (default: `None`) |
| `filter_cwd` | `str \| _Sentinel \| None` | No | Working-directory filter for the picker.  When the default sentinel, the picker mirrors Claude Code's `/resume` and scopes to the current working directory; the "Show threads from" select in the Options panel widens the view to "all directories". Pass an explicit path to scope to that directory, or `None` to start the picker with no cwd filter. (default: `_CWD_DEFAULT`) |

## Extends

- `ModalScreen[str | None]`

## Constructors

```python
__init__(
    self,
    current_thread: str | None = None,
    *,
    thread_limit: int | None = None,
    initial_threads: list[ThreadInfo] | None = None,
    filter_cwd: str | _Sentinel | None = _CWD_DEFAULT,
) -> None
```

| Name | Type |
|------|------|
| `current_thread` | `str \| None` |
| `thread_limit` | `int \| None` |
| `initial_threads` | `list[ThreadInfo] \| None` |
| `filter_cwd` | `str \| _Sentinel \| None` |


## Properties

- `BINDINGS`
- `CSS`
- `is_delete_confirmation_open`

## Methods

- [`compose()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/compose)
- [`on_mount()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_mount)
- [`on_resize()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_resize)
- [`on_thread_controls_scroll_scrolled()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_thread_controls_scroll_scrolled)
- [`on_input_changed()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_input_changed)
- [`on_input_submitted()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_input_submitted)
- [`on_key()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_key)
- [`on_checkbox_changed()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_checkbox_changed)
- [`action_move_up()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_move_up)
- [`action_move_down()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_move_down)
- [`action_page_up()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_page_up)
- [`action_page_down()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_page_down)
- [`action_select()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_select)
- [`action_focus_next_filter()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_focus_next_filter)
- [`action_focus_previous_filter()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_focus_previous_filter)
- [`action_toggle_sort()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_toggle_sort)
- [`on_select_changed()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_select_changed)
- [`action_delete_thread()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_delete_thread)
- [`on_click()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_click)
- [`on_mouse_move()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_mouse_move)
- [`on_leave()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_leave)
- [`on_thread_option_clicked()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/on_thread_option_clicked)
- [`action_cancel()`](https://reference.langchain.com/python/deepagents-code/widgets/thread_selector/ThreadSelectorScreen/action_cancel)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/0412009c5441bef8d75a427e1da8909e33ab5b56/libs/code/deepagents_code/widgets/thread_selector.py#L601)