'jshell' is not recognized as an internal or external command

jshell is a part of JDK 10 and it's located in the %JAVA_HOME%\bin folder on Windows.

Possible problems:

  1. You installed JRE 10 only (instead of JDK 10). jshell is NOT part of the JRE.

  2. %JAVA_HOME%\bin is not part of the PATH system variable.

See also: Environment variables for java installation


  1. check if jshell is installed with your Java environment. ls [JAVA-INSTALLEDPATH]/bin
  2. if jshell does not exist download appropriate JDK
  3. if jshell is present append path in your environment profile or use full path.

You need to add the bin folder of your Java Development Kit (JDK) installation to the PATH environment variable. The java command works, because the JRE installs a copy of the java.exe executable in C:\ProgramData\Oracle\Java\javapath\ and adds it to the PATH.

For editing the PATH, see How do I set system environment variables in Windows 10? on superuser