diff --git a/fern/tools/custom-tools-troubleshooting.mdx b/fern/tools/custom-tools-troubleshooting.mdx
index b46eb6ad2..2f3b89ea2 100644
--- a/fern/tools/custom-tools-troubleshooting.mdx
+++ b/fern/tools/custom-tools-troubleshooting.mdx
@@ -31,7 +31,8 @@ Start with the most common issue for your symptoms:
format problems
- **Symptoms:** Tool parameters or responses truncated Increase token limits
+ **Symptoms:** Tool parameters or responses truncated Increase the model
+ token limit
@@ -76,15 +77,14 @@ Check that your tool schema includes all required parameters:
Add `strict: true` to catch validation errors early:
-```json title="Tool configuration" {7}
+```json title="Tool function definition" {7}
{
"name": "get_weather",
"description": "Get current weather for a city",
"parameters": {
// ... your parameters
},
- "strict": true,
- "maxTokens": 500
+ "strict": true
}
```
@@ -223,23 +223,32 @@ Tool returns data but the assistant doesn't use it in conversation.
## Token truncation
-Tool parameters or responses are getting cut off.
+Tool call arguments or assistant responses are getting cut off.
-### Increase token limits
+### Increase the model token limit
-The default token limit is only 100. Increase it for complex tools:
+Tool call arguments are generated by the model, so they draw on the same
+per-turn token budget as speech. Raise `maxTokens` on the assistant's `model`:
-```json title="Tool configuration" {7}
+```json title="Assistant model configuration" {6}
{
- "name": "complex_tool",
- "description": "Tool that needs more tokens",
- "parameters": {
- // ... your parameters
- },
- "maxTokens": 500 // Increase from default 100
+ "model": {
+ "provider": "openai",
+ "model": "gpt-4o",
+ "messages": [{ "role": "system", "content": "..." }],
+ "maxTokens": 500
+ }
}
```
+`maxTokens` accepts a value from `50` to `10000` and defaults to `250`.
+
+
+ `maxTokens` is a model property, not a tool property. Setting it inside
+ `tools[].function` is rejected with `400 Bad Request` and the message
+ `assistant.model.each value in tools.function.property maxTokens should not exist`.
+
+
Look for "Token truncation warnings" in your call logs to identify when this
occurs.
@@ -292,9 +301,12 @@ Tool behavior doesn't match your expectations.
```json
{
- "name": "sync_tool",
- "async": false, // or omit (default)
- // ... other config
+ "type": "function",
+ "async": false, // or omit (default)
+ "function": {
+ "name": "sync_tool"
+ // ... rest of the function definition
+ }
}
```
@@ -309,9 +321,12 @@ Tool behavior doesn't match your expectations.
```json
{
- "name": "async_tool",
+ "type": "function",
"async": true,
- // ... other config
+ "function": {
+ "name": "async_tool"
+ // ... rest of the function definition
+ }
}
```
@@ -353,21 +368,26 @@ Tool behavior doesn't match your expectations.
```json title="Complete tool configuration"
{
- "name": "tool_name",
- "description": "Clear description of what the tool does",
- "parameters": {
- "type": "object",
- "properties": {
- "param1": {
- "type": "string",
- "description": "Parameter description"
- }
+ "type": "function",
+ "async": false,
+ "function": {
+ "name": "tool_name",
+ "description": "Clear description of what the tool does",
+ "parameters": {
+ "type": "object",
+ "properties": {
+ "param1": {
+ "type": "string",
+ "description": "Parameter description"
+ }
+ },
+ "required": ["param1"]
},
- "required": ["param1"]
+ "strict": true
},
- "strict": true,
- "maxTokens": 500,
- "async": false
+ "server": {
+ "url": "https://your-server.com/webhook"
+ }
}
```
@@ -389,5 +409,5 @@ Look for these key error messages in your call logs:
| "Tool call ID mismatches" | toolCallId doesn't match | Ensure exact ID match |
| "HTTP errors" | Webhook not returning 200 | Return HTTP 200 always |
| "Schema validation errors" | Missing required parameters | Check required array |
-| "Token truncation warnings" | Need more tokens | Increase maxTokens |
+| "Token truncation warnings" | Need more tokens | Increase `model.maxTokens` |
| "Response parsing errors" | Malformed JSON/line breaks | Fix JSON format |