किसी ग्लोबल वैरिएबल को फिर से असाइन नहीं किया जा सकता. यह हमेशा एक ही ऑब्जेक्ट पर पॉइंट करेगा. हालांकि, अगर वैल्यू में बदलाव किया जा सकता है, तो इसका कॉन्टेंट बदल सकता है. उदाहरण के लिए, किसी सूची का कॉन्टेंट. लोकल वैरिएबल पर यह पाबंदी लागू नहीं होती.
a = [1, 2]
a[1] = 3
b = 3
b = 4 # forbidden
ERROR: /path/ext.bzl:7:1: Variable b is read only
किसी फ़ंक्शन को फिर से परिभाषित करने पर भी आपको गड़बड़ी का ऐसा ही मैसेज दिखेगा. फ़ंक्शन को फिर से परिभाषित करने की सुविधा काम नहीं करती. उदाहरण के लिए:
def foo(x): return x + 1
def foo(x, y): return x + y # forbidden