# ClientToolsState

Package: `@threadplane/middleware/langgraph` · 0.0.2

Reference: /docs/api/middleware/langgraph/ClientToolsState

```typescript
import type { ClientToolsState } from '@threadplane/middleware/langgraph';
```

## ClientToolsState

The slice of graph state this middleware reads.

```typescript
export interface ClientToolsState  {
  client_tools?: ClientToolSpec[];
  messages: BaseMessage[];
  tools?: ClientToolSpec[];
}
```

### client_tools

Fallback channel — the raw run input key.

```typescript
client_tools?: ClientToolSpec[];
```

### messages

```typescript
messages: BaseMessage[];
```

### tools

Primary channel — AG-UI/LangGraph merges RunAgentInput.tools here.

```typescript
tools?: ClientToolSpec[];
```