---
title: "Class: PrefactorClaude"
editUrl: true
head: []
template: doc
sidebar:
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

[**Prefactor TypeScript SDK**](../../../index.md)

***

[Prefactor TypeScript SDK](../../../modules.md) / [@prefactor/claude](../index.md) / PrefactorClaude

# Class: PrefactorClaude

Defined in: [packages/claude/src/provider.ts:29](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/claude/src/provider.ts#L29)

## Implements

- `PrefactorProvider`\<[`ClaudeMiddleware`](../interfaces/ClaudeMiddleware.md)\>

## Constructors

### Constructor

> **new PrefactorClaude**(`options`): `PrefactorClaude`

Defined in: [packages/claude/src/provider.ts:35](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/claude/src/provider.ts#L35)

#### Parameters

##### options

[`PrefactorClaudeOptions`](../interfaces/PrefactorClaudeOptions.md)

#### Returns

`PrefactorClaude`

## Methods

### createMiddleware()

> **createMiddleware**(`tracer`, `agentManager`, `coreConfig`): [`ClaudeMiddleware`](../interfaces/ClaudeMiddleware.md)

Defined in: [packages/claude/src/provider.ts:39](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/claude/src/provider.ts#L39)

Creates provider middleware bound to the core runtime services.

#### Parameters

##### tracer

`Tracer`

Runtime tracer used for span creation.

##### agentManager

`AgentInstanceManager`

Runtime agent instance manager.

##### coreConfig

#### Returns

[`ClaudeMiddleware`](../interfaces/ClaudeMiddleware.md)

Provider middleware consumed by upstream frameworks.

#### Implementation of

`PrefactorProvider.createMiddleware`

***

### shutdown()

> **shutdown**(): `void`

Defined in: [packages/claude/src/provider.ts:58](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/claude/src/provider.ts#L58)

Optional provider-level cleanup hook invoked during client shutdown.

#### Returns

`void`

#### Implementation of

`PrefactorProvider.shutdown`

***

### normalizeAgentSchema()

> **normalizeAgentSchema**(`agentSchema`): `Record`\<`string`, `unknown`\>

Defined in: [packages/claude/src/provider.ts:69](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/claude/src/provider.ts#L69)

Normalizes a user- or provider-authored agent schema before core registers it.

#### Parameters

##### agentSchema

`Record`\<`string`, `unknown`\>

Authored agent schema configuration.

#### Returns

`Record`\<`string`, `unknown`\>

Normalized schema, or `undefined` to leave the input unchanged.

#### Implementation of

`PrefactorProvider.normalizeAgentSchema`

***

### getDefaultAgentSchema()

> **getDefaultAgentSchema**(): `Record`\<`string`, `unknown`\> \| `undefined`

Defined in: [packages/claude/src/provider.ts:75](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/claude/src/provider.ts#L75)

Provides a default agent schema when a user does not supply one.

#### Returns

`Record`\<`string`, `unknown`\> \| `undefined`

Agent schema object, or `undefined` when no default is available.

#### Implementation of

`PrefactorProvider.getDefaultAgentSchema`

***

### getSdkHeaderEntry()

> **getSdkHeaderEntry**(): `string`

Defined in: [packages/claude/src/provider.ts:79](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/claude/src/provider.ts#L79)

Returns the SDK header entry to append to HTTP requests created by the core runtime.

#### Returns

`string`

Adapter-specific SDK identifier, or `undefined` to use the core header only.

#### Implementation of

`PrefactorProvider.getSdkHeaderEntry`