is a symbol whose value, if any, is evaluated with ReleaseHold[$PreInitialization] before any other initializations in a Wolfram Language session.


  • Persistent values of $PreInitialization are typically set with InitializationValue[$PreInitialization]=Hold[expr].
  • Values defined in different persistence locations on $PersistencePath are joined with Flatten.
  • Since $PreInitialization is used early in the startup of a Wolfram Language session, not all capabilities will already be initialized. For example, remote access such as of the cloud from the desktop will not yet be available.


open allclose all

Basic Examples  (1)

Set a value to be evaluated early every time the kernel starts:

Click for copyable input

View the current initialization value:

Click for copyable input

Properties & Relations  (2)

Possible Issues  (1)

See Also

InitializationValue  Initialize  $Initialization  $CommandLine  $EvaluationEnvironment

Introduced in 2017