Reasoning - should it use a tool?

This is using gpt-oss:120b throught vLLM.

I enabled reasoning for an Agent. Sometimes I see it’s using a tool (Used create_reasoning_plan (1)) and sometimes not. How is this decision made? I looked at the documentation but couldn’t find anything related to that tool.

πŸš€ Crew: crew
β”œβ”€β”€ πŸ“‹ Task: extractor_task (ID: 09b4162c-f6ee-4d54-a797-011cf285bd6f)
β”‚   Assigned to: Device, interface and time extractor
β”‚   
β”‚   Status: βœ… Completed
β”‚   β”œβ”€β”€ βœ… Reasoning Completed
β”‚   β”œβ”€β”€ πŸ”§ Used create_reasoning_plan (1)
β”‚   └── βœ… Knowledge Retrieval Completed
β”œβ”€β”€ βœ… Knowledge Retrieval Completed
└── πŸ“‹ Task: elasticsearch_lldp_task (ID: 7e21214b-756d-4a75-b026-9559f417b0ca)
    Assigned to: You are an expert in Elasticsearch Query DSL.
    
    Status: βœ… Completed

Other times (most of the time), I see the following:

πŸš€ Crew: crew
β”œβ”€β”€ πŸ“‹ Task: extractor_task (ID: df19f2b6-b808-4709-bf39-0ec55bfff2ee)
β”‚   Assigned to: Device, interface and time extractor
β”‚   
β”‚   Status: βœ… Completed
β”‚   β”œβ”€β”€ βœ… Reasoning Completed
β”‚   └── βœ… Knowledge Retrieval Completed
β”œβ”€β”€ βœ… Knowledge Retrieval Completed
└── πŸ“‹ Task: elasticsearch_lldp_task (ID: a01183b9-6c37-451d-b818-d7bec25a6523)
    Assigned to: You are an expert in Elasticsearch Query DSL.
    
    Status: βœ… Completed

In both cases, the reasoning plan looked good but the task failed to abide by the plan and/or hallucinate.