N8n "Think tool" bug

Describe the problem/error/question

Hello. I am testing the “Think tool” of n8n version 2.23.3, and keep getting error “Bad request - please check your parameters
Invalid schema for function ‘Think’: schema must be a JSON Schema of ‘type: “object”’, got ‘type: “None”’.” I’m lost and don’t know how to proceed. Please help

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Hi @JM12345

Essentially, you are seeing this error because the “Think Tool” in n8n is not speaking the same technical language as the AI model you are using. The AI expects every tool it is given to be formatted as a specific type of “object” (like a structured digital form). However, the Think Tool is sending its information as a simple piece of text.

Because the AI is very strict about its rules, it looks at the tool, sees that the “object” label is missing, and assumes the type is “None.” Instead of trying to guess what you mean, the AI simply rejects the entire request and sends back the “Bad request” error you are seeing.

If you happen to be using a Claude (Anthropic) model, there is an extra complication. Claude has its own built-in “Extended Thinking” feature. If you turn that on in the model settings while also using the n8n Think Tool, the two systems clash. It is like having two different people trying to steer the same car at once, which causes the system to crash.

To fix this, the first thing you should try is disabling the “Enable Thinking” option in your AI model’s settings if you are using Claude. If that doesn’t work, the best solution is to update n8n to the newest possible version. This is a bug in the software’s code, and the developers fix these issues by updating the “form” the tool uses to communicate with the AI.

If you are already on the latest version and it still isn’t working, you are unfortunately dealing with a known bug in that specific version of n8n. In this case, your best options are to try a different AI model that is less strict about its formatting or report the issue

Thank you for your response. I’m currently using n8n version 2.23.3, and OpenAI as AI model. I guess this might be a bug for this version related to “Think tool”. By any chance, do you know an n8n version where the “think tool” don’t cause issues under normal usage (maybe a version closest to 2.23.3)?

While some people have found success by downgrading to much older versions, this is generally not recommended for you. If you go back too far, you will lose the Think Tool entirely or miss out on other critical features and security updates, making the “cure” worse than the disease.

The most reliable way to fix this without changing versions is to use a “sub-workflow.” Instead of plugging the Think Tool directly into your agent, put it inside its own separate mini-workflow. By explicitly telling n8n that the input for that workflow is a “String” (text), you force the system to use the structured format that OpenAI requires, which bypasses the bug entirely.

I’ll try to work around your suggestion. Thanks, this helps a lot.

Welcome to the n8n community @JM12345

Follow the thread for reference Invalid schema for tool: “type: None” when using MS SQL node with $fromAI() inside AI Agent - Questions - n8n Community
Think Tool node documentation | n8n Docs

Here’s a summary:
Use $fromAI() without the {{ }} wrapper If the Think Tool has any field with a $fromAI() expression, write it directly without the double braces; Configure the Tool Description as “Set Automatically” This allows n8n to derive the schema from the arguments declared in $fromAI(), enforcing a valid type: “object”; Use only straight quotes (') Typographic/curly quotes break the schema parsing.

Welcome @JM12345 to our community!

That error message

Invalid schema for function 'Think': schema must be a JSON Schema of type "object", got type "None"

is a known pattern in n8n – it happens whenever a tool node doesn’t produce a valid JSON Schema for the Agent (the model expects type: "object", but effectively gets “nothing”).

Before trying complex workarounds, I’d first do a quick version check:

  • If you’re on 2.23.3, try upgrading to 2.24.0 (current stable) and test the same workflow again to see if the Think Tool still throws the same type: "None" error. There have been fixes around tool schemas and AI integrations between these versions, so it’s worth ruling out a regression that’s already been patched.

If the error is still there on 2.24.0, then we’re very likely in “bug” territory for the Think Tool specifically, and the sub‑workflow workaround makes sense as a next step.