# SessionsBashBackend

> **Class** in `langchain_azure_dynamic_sessions`

📖 [View in docs](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend)

Azure Dynamic Sessions backend for the deepagents framework.

Extends ``BaseSandbox`` with bash-native overrides for all file
operations (``read``, ``write``, ``edit``, ``ls_info``, ``glob_info``).
This avoids the ``python3 -c`` wrappers from ``BaseSandbox``, which
may not be available in Shell-typed session pools.

## Signature

```python
SessionsBashBackend(
    self,
    pool_management_endpoint: str,
    *,
    session_id: Optional[str] = None,
    access_token_provider: Optional[Callable[[], Optional[str]]] = None,
    timeout: int = _DEFAULT_TIMEOUT,
    max_output_bytes: int = 100000,
)
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `pool_management_endpoint` | `str` | Yes | Management endpoint of the session pool. |
| `session_id` | `Optional[str]` | No | Identifier for the session. Defaults to a random UUID. (default: `None`) |
| `access_token_provider` | `Optional[Callable[[], Optional[str]]]` | No | Callable returning an access token string. Defaults to ``DefaultAzureCredential`` targeting the ``https://dynamicsessions.io`` scope. (default: `None`) |
| `timeout` | `int` | No | Default timeout in seconds for shell commands. (default: `_DEFAULT_TIMEOUT`) |
| `max_output_bytes` | `int` | No | Maximum bytes captured from command output. (default: `100000`) |

## Extends

- `BaseSandbox`

## Constructors

```python
__init__(
    self,
    pool_management_endpoint: str,
    *,
    session_id: Optional[str] = None,
    access_token_provider: Optional[Callable[[], Optional[str]]] = None,
    timeout: int = _DEFAULT_TIMEOUT,
    max_output_bytes: int = 100000,
) -> None
```

| Name | Type |
|------|------|
| `pool_management_endpoint` | `str` |
| `session_id` | `Optional[str]` |
| `access_token_provider` | `Optional[Callable[[], Optional[str]]]` |
| `timeout` | `int` |
| `max_output_bytes` | `int` |


## Properties

- `id`

## Methods

- [`execute()`](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend/execute)
- [`ls_info()`](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend/ls_info)
- [`read()`](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend/read)
- [`write()`](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend/write)
- [`edit()`](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend/edit)
- [`glob_info()`](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend/glob_info)
- [`upload_files()`](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend/upload_files)
- [`download_files()`](https://reference.langchain.com/python/langchain-azure-dynamic-sessions/backends/sessions/SessionsBashBackend/download_files)

---

[View source on GitHub](https://github.com/langchain-ai/langchain-azure/blob/3c0d223781807df0e9c6fc6a1926870bb1d79faf/libs/azure-dynamic-sessions/langchain_azure_dynamic_sessions/backends/sessions.py#L58)