> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentium.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Handoff

> Public handoff signatures and configuration in @agentium/core 4.0.0.

Import these **7 exports** from `@agentium/core`. Read the [handoff guide](/handoff/overview) for setup and behavior, or return to the [package reference](/api-reference/core).

A `?` marks an optional field. These are declarations for lookup; run the examples in the linked guide. Follow related-type links for Agentium types and source links for imported dependency types.

## createCompleteTool

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/handoff/handoff-tool.ts)

```typescript theme={null}
export declare function createCompleteTool(): ToolDef;
```

Related: [`ToolDef`](/api-reference/core/tools#tooldef).

## createHandoffTool

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/handoff/handoff-tool.ts)

```typescript theme={null}
export declare function createHandoffTool(targets: HandoffTarget[]): ToolDef;
```

Related: [`HandoffTarget`](/api-reference/core/handoff#handofftarget), [`ToolDef`](/api-reference/core/tools#tooldef).

## HandoffConfig

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/handoff/types.ts)

```typescript theme={null}
export interface HandoffConfig {
    targets: HandoffTarget[];
    maxHandoffs?: number;
    carryMessages?: boolean;
    carrySessionState?: boolean;
}
```

Related: [`HandoffTarget`](/api-reference/core/handoff#handofftarget).

## HandoffManager

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/handoff/handoff-manager.ts)

```typescript theme={null}
export declare class HandoffManager {
    constructor(config: HandoffConfig);
    getTarget(name: string): HandoffTarget | undefined;
    execute(signal: HandoffSignal, sourceAgent: string, originalInput: string, conversationMessages: ChatMessage[], ctx: RunContext, eventBus: EventBus, opts?: RunOpts, approvals?: readonly ApprovalManager[]): Promise<HandoffResult>;
    /** Continue a live Agent stream after a fully authorized, settled transfer batch. */
    stream(signal: HandoffSignal, sourceAgent: string, originalInput: string, conversationMessages: ChatMessage[], ctx: RunContext, eventBus: EventBus, opts?: RunOpts, approvals?: readonly ApprovalManager[], transcript?: ChatMessage[], sourceModel?: ModelProvider): AsyncGenerator<StreamChunk, HandoffResult>;
}
```

Related: [`ApprovalManager`](/api-reference/core/tools#approvalmanager), [`ChatMessage`](/api-reference/core/models#chatmessage), [`EventBus`](/api-reference/core/events#eventbus), [`HandoffConfig`](/api-reference/core/handoff#handoffconfig), [`HandoffResult`](/api-reference/core/handoff#handoffresult), [`HandoffSignal`](/api-reference/core/handoff#handoffsignal), [`HandoffTarget`](/api-reference/core/handoff#handofftarget), [`ModelProvider`](/api-reference/core/models#modelprovider), [`RunContext`](/api-reference/core/agent#runcontext), [`RunOpts`](/api-reference/core/agent#runopts), [`StreamChunk`](/api-reference/core/models#streamchunk).

## HandoffResult

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/handoff/types.ts)

```typescript theme={null}
export interface HandoffResult extends RunOutput {
    handoffChain: string[];
    finalAgent: string;
}
```

Related: [`RunOutput`](/api-reference/core/agent#runoutput).

## HandoffSignal

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/handoff/types.ts)

```typescript theme={null}
export declare class HandoffSignal extends Error {
    readonly targetAgent: string;
    readonly reason: string;
    constructor(targetAgent: string, reason: string);
}
```

## HandoffTarget

[Source](https://github.com/agentiumOS/agentium/blob/v4.0.0/packages/core/src/handoff/types.ts)

```typescript theme={null}
export interface HandoffTarget {
    agent: Agent;
    description: string;
    onHandoff?: (ctx: RunContext) => Promise<void>;
}
```

Related: [`Agent`](/api-reference/core/agent#agent), [`RunContext`](/api-reference/core/agent#runcontext).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.