octobercms/october · error · Twig\Error\SyntaxError

When using put, you must have the same number of variables a

Error message

When using put, you must have the same number of variables and assignments.

What it means

Error "When using put, you must have the same number of variables and assignments." thrown in octobercms/october.

Source

Thrown at modules/cms/twig/tokenparser/PutTokenParser.php:42

     * parse a token and returns a node.
     * @return PutNode
     */
    public function parse(TwigToken $token)
    {
        $lineno = $token->getLine();
        $stream = $this->parser->getStream();
        $names = $this->parseAssignmentExpression();

        $capture = false;
        $options = [];

        if ($stream->nextIf(TwigToken::OPERATOR_TYPE, '=')) {
            // Direct assignment mode
            $values = $this->parseMultitargetExpression();
            $stream->expect(TwigToken::BLOCK_END_TYPE);

            if (count($names) !== count($values)) {
                throw new TwigErrorSyntax(
                    'When using put, you must have the same number of variables and assignments.',
                    $stream->getCurrent()->getLine(),
                    $stream->getSourceContext()
                );
            }
        }
        else {
            // Capture mode
            $capture = true;

            if (count($names) > 1) {
                throw new TwigErrorSyntax(
                    'When using put with a block, you cannot have multiple targets.',
                    $stream->getCurrent()->getLine(),
                    $stream->getSourceContext()
                );
            }

View on GitHub (pinned to b608633a7e)

When it happens

Trigger: Thrown at modules/cms/twig/tokenparser/PutTokenParser.php:42 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of octobercms/october@b608633a7e (2026-08-21). Data as JSON: /api/errors/2a09bff29a7fdd05. Report an issue: GitHub.