# StateBackend

> **Class** in `deepagents`

📖 [View in docs](https://reference.langchain.com/javascript/deepagents/backends/StateBackend)

Backend that stores files in agent state (ephemeral).

Uses LangGraph's state management and checkpointing. Files persist within
a conversation thread but not across threads. State is automatically
checkpointed after each agent step.

Special handling: Since LangGraph state must be updated via Command objects
(not direct mutation), operations return filesUpdate in WriteResult/EditResult
for the middleware to apply via Command.

## Signature

```javascript
class StateBackend
```

## Implements

- `BackendProtocolV2`

## Constructors

- [`constructor()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/constructor)

## Methods

- [`delete()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/delete)
- [`downloadFiles()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/downloadFiles)
- [`edit()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/edit)
- [`glob()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/glob)
- [`grep()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/grep)
- [`ls()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/ls)
- [`read()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/read)
- [`readRaw()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/readRaw)
- [`uploadFiles()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/uploadFiles)
- [`write()`](https://reference.langchain.com/javascript/deepagents/backends/StateBackend/write)

---

[View source on GitHub](https://github.com/langchain-ai/deepagentsjs/blob/60e32118b0ba24ea7ef636476a9a96add9d1a99b/libs/deepagents/src/backends/state.ts#L51)