Issue with Missing BaseTool Class in CrewAI 0.114.0 – Need Guidance on Custom Tool Creation

Hello CrewAI fam,

I’m currently using CrewAI version 0.114.0 and encountering an issue with creating custom tools. Specifically, I’m unable to find the BaseTool class, which was previously used to define custom tools.

Could you please help me understand:
• Is the BaseTool class still part of the current version (0.114.0)?
• If not, what is the recommended method to create and use custom tools in this version?
• Are there any breaking changes in the tool architecture between previous versions and the current one?
• How should I properly instantiate and integrate tools with agents in the latest version?

Any assistance would be greatly appreciated!
Thank you!

Welcome to the community!
CrewAI has not changed since .0114 from what I have seen.
Here is an example for creating a tool Tools - CrewAI

This is an example of a tool that works working crewai-qdrant/qdrant.py at main · yqup/crewai-qdrant · GitHub

1 Like
from crewai.tools.base_tool import BaseTool
from pydantic import BaseModel, ConfigDict, Field

class YourCustomToolSchema(BaseModel):
    """Input for YourCustomTool."""
    model_config = ConfigDict(arbitrary_types_allowed=True)

class YourCustomTool(BaseTool):
    name: str = "Your Custom Tool"
    description: str = (
        "YourCustomTool..."
    )
    args_schema: Type[BaseModel] = YourCustomToolSchema
2 Likes