All field notes

Field note · found 31 October 2026

n8n Cannot access "caller" due to security concerns

n8n refuses to evaluate an expression that reads a property named caller, with the message: Cannot access "caller" due to security concerns. Our notes list callee, arguments, constructor and prototype as blocked in the same way, though we only saw the message for caller.

Test record: run by Fractional HQ on 31 October 2026 on n8n 2.23.4, against real Google Sheets and Gmail. Five pinned runs on 27 October had all passed. Run numbers not recorded. Not tested: the other four blocked names, other n8n versions, a live Twilio number.

Symptom

On 31 October 2026, on n8n 2.23.4, we ran our missed-call text-back template against real Google Sheets and Gmail for the first time and no call was logged. The first version of that template read a property called caller in twelve Sheets and Gmail nodes, which is why nothing reached the sheet.

What made this expensive is that five test runs on 27 October had all passed.

How to reproduce it

The pattern that failed for us was an expression reading a property called caller in a parameter of a Sheets or Gmail node, in a workflow run for real with actual credentials and no pinned data. We have not recorded a smaller test case than the template itself.

Cause, as far as we know

There are two parts. The first is that n8n blocks that property name in expressions for security reasons, which the error message states. We did not look up why n8n blocks that name.

The second part explains why our tests passed. We had been testing with pinned runs, where credentialed nodes return whatever data we pin and their parameters are never evaluated. So an expression on a Sheets, Gmail or Twilio node went unchecked, and a pinned run could pass while twelve nodes would fail in real use.

The fix

The fix for the error itself is to stop reading a name from the blocked list in any expression. Our notes do not record what replaced it, so no replacement is suggested here.

The process change matters more than the rename. Before we call a template tested, we now run each lane on a test n8n with real test Sheets and Gmail, including the paths that send. Pinned runs still help us check that Code, IF, Filter and Set nodes execute in the right order, which is what they actually exercise.

The rule is to replace a changed template everywhere it is sold on the same day. Fractional HQ has broken that rule before: a marketplace copy of one of its packs was left behind after a fix.

What we did not establish

We did not test whether the other four blocked names fail in the same way in every node type, as the message was only recorded for caller. We did not check other n8n versions, and we did not find the reason n8n blocks these names. We also did not record how many of the twelve failing nodes were Sheets and how many were Gmail. That run covered Sheets and Gmail only, and we have no record of running the template against a live Twilio number.

The Fractional HQ template this affected was Missed Call Text Back.

Written by Fractional HQ from its own runs. If your n8n behaves differently, email hello@fractionalhq.uk and we will correct the note.