{"record":{"id":"043d452fcd1217ca","repo":"usebruno/bruno","slug":"circular-reference-detected-during-interpolation","errorCode":null,"errorMessage":"Circular reference detected during interpolation.","messagePattern":"Circular reference detected during interpolation\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/bruno-common/src/interpolate/index.ts","lineNumber":141,"sourceCode":"\n      matchFound = true;\n      return result;\n    });\n  }\n\n  return resultStr;\n};\n\nexport const interpolateObject = (obj: unknown, variables: Record<string, any>): unknown => {\n  const seen = new WeakSet<object>();\n  const walk = (value: unknown): unknown => {\n    if (value == null) return value;\n    if (typeof value === 'string') {\n      return interpolate(value, variables);\n    }\n    if (typeof value === 'object') {\n      if (seen.has(value as object)) {\n        throw new Error('Circular reference detected during interpolation.');\n      }\n      seen.add(value as object);\n      try {\n        if (Array.isArray(value)) {\n          return value.map(walk);\n        }\n        if (isPlainObject(value)) {\n          return mapValues(value as Record<string, unknown>, walk);\n        }\n        return value;\n      } finally {\n        seen.delete(value as object);\n      }\n    }\n    return value;\n  };\n  return walk(obj);\n};","sourceCodeStart":123,"sourceCodeEnd":159,"githubUrl":"https://github.com/usebruno/bruno/blob/9bdd81c7bdc57006e5f5ebffb79321a8d979f712/packages/bruno-common/src/interpolate/index.ts#L123-L159","documentation":"Error \"Circular reference detected during interpolation.\" thrown in usebruno/bruno.","triggerScenarios":"Thrown at packages/bruno-common/src/interpolate/index.ts:141 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove variables that reference themselves directly or indirectly.","Restructure the variable definitions to break the reference cycle."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9bdd81c7bdc57006e5f5ebffb79321a8d979f712","analyzedAt":"2026-08-13T04:09:25.751Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}