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

# Handoff • AI Agent SDK

> Handoff: Represents a handoff configuration for delegating tasks to another agent.

# Handoff

> Defined in the [**handoff**](https://praison.ai/docs/sdk/reference/praisonaiagents/modules/handoff.md) module.

AI Agent

Represents a handoff configuration for delegating tasks to another agent.

Handoffs are represented as tools to the LLM, allowing agents to transfer
control to specialized agents for specific tasks.

This is the unified mechanism for agent-to-agent task transfer, supporting:

* LLM-driven handoffs (via tool calls)
* Programmatic handoffs (direct Python API)
* Async handoffs with concurrency control
* Cycle detection and depth limiting
* Configurable context policies

## Constructor

**agent** `Agent` *required*

No description available.

**tool\_name\_override** `Optional[str]`

No description available.

**tool\_description\_override** `Optional[str]`

No description available.

**on\_handoff** `Optional[Callable]`

No description available.

**input\_type** `Optional[type]`

No description available.

**input\_filter** `Optional`

No description available.

**config** `Optional[HandoffConfig]`

No description available.

## Methods

> [card] [tool\_name()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/Handoff-tool_name.md)
>
> Get the tool name for this handoff.

> [card] [tool\_description()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/Handoff-tool_description.md)
>
> Get the tool description for this handoff.

> [card] [default\_tool\_name()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/Handoff-default_tool_name.md)
>
> Generate default tool name based on agent name.

> [card] [default\_tool\_description()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/Handoff-default_tool_description.md)
>
> Generate default tool description based on agent role and goal.

> [card] [execute\_programmatic()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/Handoff-execute_programmatic.md)
>
> Execute handoff programmatically (not via LLM tool call).

> [card] [execute\_async()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/Handoff-execute_async.md)
>
> Execute handoff asynchronously with concurrency control.

> [card] [to\_tool\_function()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/Handoff-to_tool_function.md)
>
> Convert this handoff to a tool function that can be called by the LLM.

## Source

> [card] [View on GitHub](https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/agent/handoff.py#L369)
>
> `praisonaiagents/agent/handoff.py` at line 369

***

## Related Documentation

> [card] [Handoffs Concept](https://praison.ai/docs/docs/concepts/handoffs)

> [card] [Handoffs Feature](https://praison.ai/docs/docs/features/handoffs)


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