usebruno/bruno · error · Error

Circular reference detected during interpolation.

Error message

Circular reference detected during interpolation.

What it means

Error "Circular reference detected during interpolation." thrown in usebruno/bruno.

Source

Thrown at packages/bruno-common/src/interpolate/index.ts:141

      matchFound = true;
      return result;
    });
  }

  return resultStr;
};

export const interpolateObject = (obj: unknown, variables: Record<string, any>): unknown => {
  const seen = new WeakSet<object>();
  const walk = (value: unknown): unknown => {
    if (value == null) return value;
    if (typeof value === 'string') {
      return interpolate(value, variables);
    }
    if (typeof value === 'object') {
      if (seen.has(value as object)) {
        throw new Error('Circular reference detected during interpolation.');
      }
      seen.add(value as object);
      try {
        if (Array.isArray(value)) {
          return value.map(walk);
        }
        if (isPlainObject(value)) {
          return mapValues(value as Record<string, unknown>, walk);
        }
        return value;
      } finally {
        seen.delete(value as object);
      }
    }
    return value;
  };
  return walk(obj);
};

View on GitHub (pinned to 9bdd81c7bd)

Solutions

  1. Remove variables that reference themselves directly or indirectly.
  2. Restructure the variable definitions to break the reference cycle.

When it happens

Trigger: Thrown at packages/bruno-common/src/interpolate/index.ts:141 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13). Data as JSON: /api/errors/043d452fcd1217ca. Report an issue: GitHub.