{"record":{"id":"1d86ae0094d14af2","repo":"emberjs/ember.js","slug":"a-block-may-only-be-used-inside-an-html-element-or","errorCode":null,"errorMessage":"A block may only be used inside an HTML element or another block.","messagePattern":"A block may only be used inside an HTML element or another block\\.","errorType":"validation","errorClass":"SyntaxError","httpStatus":null,"severity":"error","filePath":"packages/@glimmer/syntax/lib/parser/handlebars-node-visitors.ts","lineNumber":126,"sourceCode":"        // If the stack is not balanced, then it is likely our own bug, because\n        // any unclosed Handlebars blocks should already been caught by now\n        assert(poppedNode !== undefined, '[BUG] empty parser elementStack');\n        assert(false, `[BUG] mismatched parser elementStack node: ${node.type}`);\n      }\n    }\n\n    return node;\n  }\n\n  BlockStatement(block: HBS.UpstreamBlockStatement): ASTv1.BlockStatement | void {\n    if (this.tokenizer.state === 'comment') {\n      assert(block.loc, '[BUG] BlockStatement in parser unexpectedly did not have loc');\n      this.appendToCommentData(this.sourceForNode(block as HBS.Node));\n      return;\n    }\n\n    if (this.tokenizer.state !== 'data' && this.tokenizer.state !== 'beforeData') {\n      throw generateSyntaxError(\n        'A block may only be used inside an HTML element or another block.',\n        this.source.spanFor(block.loc)\n      );\n    }\n\n    const { path, params, hash } = acceptCallNodes(this, block);\n    const loc = this.source.spanFor(block.loc);\n\n    // Backfill block params loc for the default block\n    let blockParams: ASTv1.VarHead[] = [];\n    let repairedBlock: HBS.BlockStatement;\n\n    if (block.program.blockParams?.length) {\n      // Start from right after the hash\n      let span = hash.loc.collapse('end');\n\n      // Extend till the beginning of the block\n      if (block.program.loc) {","sourceCodeStart":108,"sourceCodeEnd":144,"githubUrl":"https://github.com/emberjs/ember.js/blob/26f97246a8bf2e28edf26ac3093da2e86c04ffc5/packages/@glimmer/syntax/lib/parser/handlebars-node-visitors.ts#L108-L144","documentation":"Error \"A block may only be used inside an HTML element or another block.\" thrown in emberjs/ember.js.","triggerScenarios":"Thrown at packages/@glimmer/syntax/lib/parser/handlebars-node-visitors.ts:126 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"26f97246a8bf2e28edf26ac3093da2e86c04ffc5","analyzedAt":"2026-09-01T05:01:28.182Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}