Why integer tool input is converted into float internally by Crew ai

@Ahsen_Tahir,

Looks like your code there is Kotlin. The issue you’re hitting isn’t a CrewAI thing (on the client side), but more likely something on your Kotlin server’s end.

In that snippet, you’re setting up a JSON Schema, and timeoutMs is defined like:

put("type", "number")

Now, according to the JSON Schema docs, number accepts any numeric type, either integer or floating. So, if your server is only expecting an integer, you need to change that to:

put("type", "integer")