-
See Also
- $Epilog
- $CommandLine
- $IgnoreEOF
- $BatchOutput
-
- Programs
- WolframNB
- wolfram
- WolframScript
- mathlm
-
- System Files
- init.m
- Related Guides
- Tech Notes
NAME
WolframKernel — starts a standalone Wolfram Language kernel.
SYNOPSIS
WolframKernel
WolframKernel -wstp
WolframKernel -run initcode
DESCRIPTION
WolframKernel runs the standalone Wolfram Language kernel. A standalone kernel session normally reads input from a device (typically a keyboard or a WSTP connection), evaluates the expression and prints the result to a device (typically a screen or a WSTP connection). On some systems, WolframKernel and wolfram are the same program.
OPTIONS
OPTIONS
Startup Options
-initfile file — Execute the commands in the initialization .
-noinit — Do not read initialization files from standard locations.
-run cmd — Run the command on startup.
Licensing Options
-lmverbose — Print information about interactions with MathLM.
-pwfile file — Read license passwords from .
Execution Mode Options
-wstp — Communicate only via WSTP.
-noicon — On platforms such as Windows that launch the kernel in a separate window, hide the window and suppress its entry in the operating system task bar.
-noprompt — Do not print banner or In [] and Out [] prompts or ask for user input due to startup errors (useful for batch scripts).
-script file — Execute the commands from the in script mode.
-threadpriority p — On Windows, specify the relative priority of the kernel process.
DETAILS
DETAILS
Startup
When -wstp is given, any general WSTP option understood by WSOpenArgcArgv may be given on the command line as well.
On platforms such as Windows that launch the kernel in a separate window, the window is minimized in WSTP mode. Adding -noicon will additionally suppress an entry in the operating system taskbar.
The kernel will read the value of the environment variable and append its value to any command-line arguments.
The argument to the Windows-only -threadpriority option can be one of , , , or , with the default being . Positive numbers indicate that the kernel should run at a higher priority than normal, while negative numbers indicate a lower-than-normal priority.
If a password file is specified using -pwfile, its passwords are tried first. If no valid passwords are found, password files in standard system locations are tried.
When -noprompt is given, the variable $BatchOutput is set to True . In addition to omitting In [] and Out [] labels and the banner when it starts up, the Wolfram Language generates all output in InputForm , with the PageWidth option effectively set to Infinity .
Wolfram Language Scripts
If the -script command-line option is given, the kernel evaluates commands from the in a batch, or script, mode and then terminates.
In a script mode, the kernel prints no banner and no In [] or Out [] labels and generates all output in InputForm , with the PageWidth option effectively set to Infinity .
In script mode, the kernel ignores the first line of the file if it starts with the characters "#!".
EXAMPLES
Interactive Operation
Run the Wolfram Language in an interactive REPL:
$ WolframKernel
Wolfram 14.3.0 Kernel for Mac OS X ARM (64‐bit)
Copyright 1988-2025 Wolfram Research, Inc.
In[1]:= 2+2
Out[1]= 4
In[2]:=
WSTP
Start a kernel and create a WSTP link:
$ WolframKernel -wstp -linkcreate
Link created on: mvg8t_shm
From another session, connect to the link, activate it and clear the input:
Send an evaluation to the linked kernel and compare the result to the current kernel:
Close the link:
Suppress taskbar entry on operating systems such as Windows:
$ WolframKernel -noicon -wstp -linkcreate
Link created on: z5hmx_shm
Initialization on the Command Line
Use the -run option to set a variable on startup:
$ WolframKernel -run 'AppendTo[$Path, "/favorite/path"]'
Wolfram 14.3.0 Kernel for Mac OS X ARM (64-bit)
Copyright 1988-2025 Wolfram Research, Inc.
In[1]:= Last[$Path]
Out[1]= /favorite/path
In[2]:=
By adding an explicit Exit [], the -run option can be used to evaluate an expression and exit:
$ WolframKernel -run 'Print[\"Hello World\"];Exit[]'
Wolfram 14.3.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2025 Wolfram Research, Inc.
Hello World
Initialization from a File
Append custom_init.wl to the standard list of initialization files:
$ WolframKernel -initfile custom_init.wl
Avoid loading any initialization files:
$ WolframKernel -noinit
Use custom_init.wl as the only initialization file:
$ WolframKernel -noinit -initfile custom_init.wl
Additional Examples
Allow the kernel to run using a different password file:
$ WolframKernel -pwfile "/path/to/mathpass"
Evaluate Wolfram Language code from a file and exit:
$ WolframKernel -script test.wl
Suppress opening a separate window and taskbar entry on operating systems such as Windows:
$ WolframKernel -script test.wl -noicon
FILES
User initialization file locations:
/Kernel/init.m /Kernel/init.m Password file locations:
/Licensing/mathpass/Licensing/mathpass/Configuration/Licensing/mathpassWOLFRAM LANGUAGE VARIABLES
$BatchOutput — Whether -noprompt has been given on the command line.
$CommandLine — A list of strings giving the complete command line used.
$Epilog — Command to execute on kernel exit.
$IgnoreEOF — Whether wolfram should continue even if given an end-of-file character.
$PasswordFile — The path to the password file that successfully activated wolfram.
ENVIRONMENT VARIABLES
WOLFRAMINIT — Additional arguments to append to every invocation of WolframKernel.
MATHKERNELINIT — Legacy variable that is read if WOLFRAMINIT is not defined.
WOLFRAM_BASE — The path to use for the value of $BaseDirectory .
WOLFRAM_USERBASE — The path to use for the value of $UserBaseDirectory .
See Also
$Epilog $CommandLine $IgnoreEOF $BatchOutput
Programs: WolframNB wolfram WolframScript mathlm
System Files: init.m
Related Guides
History
Introduced in 1988 (1.0) | Updated in 1991 (2.0) ▪ 1996 (3.0) ▪ 2003 (5.0) ▪ 2004 (5.1) ▪ 2007 (6.0) ▪ 2010 (8.0) ▪ 2014 (10.0) ▪ 2019 (12.0) ▪ 2020 (12.1) ▪ 2024 (14.1)