Now I know this!
I was using some code that I had written for Azure Pipelines for a Windows agent which had $(System.AgentToken)
as the variable name and all other pre-defined variables were the same PascalCase and separated by .
but the Linux agent needed all upper case and separated by _
In VS Code CTRL SHIFT P
to open the command pallette and then search for uppercase :-)
Simples