I have installed LanguageTool via HomeBrew:

brew install languagetool

which automatically installs OpenJDK as a dependency

brew install java

which places the Java binaries in /usr/local/opt/openjdk/bin or /usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home/bin/

openjdk 13.0.2 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)

Also for some reason, I had to install the OpenJDK Cask

brew cask install java

now when running java --version it returns

openjdk 14 2020-03-17
OpenJDK Runtime Environment (build 14+36-1461)
OpenJDK 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)

which I think is the Cask version. And when running which java it returns the "symlink"


which using the readlink command (from here) returns an origin of


Now following the other post on this forum, I tried to set all of these paths in TexStudio


with no avail. I tried all three different paths mentioned above, none working. I would appreciate it if you could help me know how to set the values Java, LT Path, and LT Arguments in the TexStudio > Preferences > Language Checking. Thanks for your support in advance.

3 Answers 3


I think I have solved the problem. Sorta!

So from here, I had to run the LanguageTool GUI /usr/local/bin/languagetool-gui activate the port first:


then manually run the LanguageTool server on a terminal /usr/local/bin/languagetool-server

and then settings on TexStudio


The problem is that TexStudio does not run the LanguageTool server as it should.

P.S. The issue has also been described on this page. TexStudio is not able to run the LanguageTool server on its own!.


TeXstudio 3.0, November 2020

The solution is easy: put the output of which languagetool-server to the Language Checking > LanguageTool > Java field. Usually it's /usr/local/bin/languagetool-server.

The problem is that in Homebrew LT is wrapped in a shell script:

$ cat /usr/local/bin/languagetool-server
export JAVA_HOME="${JAVA_HOME:-/usr/local/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home}"
exec "${JAVA_HOME}/bin/java" -cp "/usr/local/Cellar/languagetool/5.1.3_2/libexec/languagetool-server.jar" org.languagetool.server.HTTPServer "$@"

It means than LT shouldn't launch, say, java languagetool.jar but the script which already includes this command.

That's the output of Help > Check LanguageTool:

which java: /usr/local/bin/languagetool-server
JAVA: /usr/local/bin/languagetool-server
Real-time checking is enabled.
Grammar checking is enabled.
Tries to start automatically.
LT current status: working
LT-URL: http://localhost:8081/v2/check
  • What are your arguments for the fields LT path, LT arguments and server url?
    – Yannic
    Feb 24, 2021 at 23:18
  • /usr/local/bin/languagetool-server, default, default Feb 25, 2021 at 8:47

This setting worked for me. You can copy paste the lines from the script "/usr/local/bin/languagetool-server".

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .