> ## 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.

# Tool Config • AI Agent SDK

> ToolConfig: Configuration for tool execution behavior.

# ToolConfig

> Defined in the [**Feature Configs**](../modules/feature_configs) module.

<Badge color="blue">AI Agent</Badge>

Configuration for tool execution behavior.

Configuration for tool execution behavior including timeout, retry policy, parallel execution,
and artifact storage for large outputs.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#8B0000', 'primaryTextColor': '#fff', 'primaryBorderColor': '#710101', 'lineColor': '#189AB4', 'secondaryColor': '#189AB4', 'tertiaryColor': '#fff' }}}%%

graph LR
    agent["Agent"] -- "uses" --> tool["Tool: ToolConfig"]
    tool -- "returns" --> result["Result"]
    style tool fill:#189AB4,color:#fff
    style agent fill:#8B0000,color:#fff
    style result fill:#8B0000,color:#fff
```

## Properties

<ResponseField name="timeout" type="Optional[int]">
  No description available.
</ResponseField>

<ResponseField name="retry_policy" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="parallel" type="bool">
  No description available.
</ResponseField>

<ResponseField name="output_limit" type="int">
  No description available.
</ResponseField>

<ResponseField name="output_max_lines" type="Optional[int]">
  No description available.
</ResponseField>

<ResponseField name="output_direction" type="str">
  No description available.
</ResponseField>

<ResponseField name="enable_artifacts" type="bool">
  No description available.
</ResponseField>

<ResponseField name="artifact_retention_days" type="int">
  No description available.
</ResponseField>

<ResponseField name="artifact_store" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="redact_secrets" type="bool">
  No description available.
</ResponseField>

<ResponseField name="allow_global_tools" type="bool">
  No description available.
</ResponseField>

<Accordion title="Internal & Generic Methods">
  * **from\_dict**: Create ToolConfig from dictionary.
  * **to\_dict**: Convert to dictionary.
</Accordion>

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Simple enable with defaults
    Agent(tool_config=ToolConfig())
    
    # With custom settings
    Agent(tool_config=ToolConfig(
        timeout=60,
        retry_policy=RetryPolicy(max_attempts=5),
        parallel=True,
    ))
    
    # With artifact storage for large outputs
    Agent(tool_config=ToolConfig(
        output_limit=32000,
        enable_artifacts=True,
        artifact_retention_days=14,
    ))
```

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/config/feature_configs.py#L1131">
  `praisonaiagents/config/feature_configs.py` at line 1131
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Tools Concept" icon="wrench" href="/docs/docs/concepts/tools" />

  <Card title="Create Custom Tools" icon="plus" href="/docs/docs/guides/tools/create-custom-tools" />

  <Card title="Tool Development" icon="code" href="/docs/docs/tutorials/advanced-tool-development" />

  <Card title="Configuration Overview" icon="gear" href="/docs/docs/configuration/index" />

  <Card title="Agent Config" icon="robot" href="/docs/docs/configuration/agent-config" />
</CardGroup>
