Skip to content

[FEATURE] Support for async Tool #116

@tan-z-tan

Description

@tan-z-tan

Problem Statement

Hi team,

I’m looking to create tools for LLM calls and search systems, but these functions are implemented as async functions in my codebase.

Does StrandsAgents support defining tools as async functions? If not, I would like to request support for async tool definitions to better integrate with asynchronous workflows.

Proposed Solution

No response

Use Case

Many modern applications use asynchronous operations for network-bound tasks like API calls or database queries. For example:
• Calling an external LLM API such as OpenAI or Claude, which requires awaiting the HTTP response
• Performing a vector search against an async-compatible database or search engine (e.g., Redis, Qdrant, or OpenSearch via async clients)
• Fetching contextual information from other services in parallel

Allowing tools to be defined as async def would enable developers to:
• Seamlessly integrate StrandsAgents into async applications without blocking the event loop
• Compose multiple async tools in parallel using asyncio.gather
• Improve responsiveness and scalability in production environments

Alternatives Solutions

No response

Additional Context

No response

Metadata

Metadata

Assignees

Labels

area-asyncRelated to asynchronous flows or multi-threadingenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions