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

# Tools Resolve

> Resolve a tool name to its source location

## Code Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonai.templates.tool_override import (
    create_tool_registry_with_overrides,
    resolve_tools,
)

# Create registry
registry = create_tool_registry_with_overrides(include_defaults=True)

# Resolve tool names to callables
tools = resolve_tools(["shell_tool", "internet_search"], registry=registry)

# Check resolution
for tool in tools:
    print(f"Resolved: {tool.__name__} from {tool.__module__}")
```

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonai.templates.tool_override import resolve_tools

# Resolve with custom registry
registry = create_tool_registry_with_overrides(
    override_files=["my_tools.py"],
    tools_sources=["praisonai_tools.video"],
)

tools = resolve_tools(["my_custom_tool"], registry=registry)
```

`resolve_tools()` no longer implicitly loads `<template_dir>/tools.py` unless `PRAISONAI_ALLOW_TEMPLATE_TOOLS=1`. See [Tools Override → Security](/docs/cli/tools-override#security) for details.

***

## Related

<Note>
  **Alternative Tool Resolution:** For YAML-based tool resolution with per-agent isolation, see [YAML Tools - Tool Resolver](/docs/tools/yaml-tools#per-agent-tool-resolution) which uses the `praisonai.tool_resolver` module. The API documented on this page uses `praisonai.templates.tool_override` for template-based tool overrides.
</Note>
