Is your ThinkorSwim screen stuck at “Installing updates…”?
The message occurs when you try to launch the program on your desktop.
This problem can happen on both Windows and macOS.
In this guide, you’ll learn how to fix a stuck ThinkorSwim update.
ThinkorSwim Minimum System Requirements
First, ensure your computer meets the minimum system requirements for ThinkorSwim.
MAC users: Your computer needs to run OS X 10.11 or later.
LINUX users: thinkorswim requires Zulu OpenJDK 11.
UNIX users: Java 11 must be installed.
Force Quit ThinkorSwim
Start by closing the ThinkorSwim window on your computer.
On Windows:
- Open Task Manager.
- Under Process, look for thinkorswim desktop application and right-click on it.
- Click on End Task.
On Mac:
- Press Option, Command, and Esc (Escape) altogether to open the Force Quit window.
- Select ThinkorSwim.
- Select Force Quit.
Restart your computer and then run the update again.
Delete USERGUI folder in ThinkorSwim directory
If closing ThinkorSwim and restarting your computer doesn’t solve this problem, the last resort is to delete the USERGUI folder within the ThinkorSwim directory.
A TD Ameritrade customer support member suggested this method.
On Windows:
- Go to Local Disk (C:) > Program Files > thinkorswim.
- Within that directory, you should see a folder called USERGUI.
- Delete the USERGUI folder.
- Restart your computer.
- Open thinkorswim.
On Mac:
- Go to Applications > thinkorswim.
- Find the USERGUI folder and drag it into the Trash icon.
- Empty all of the Trash on macOS.
- Restart your computer.
- Launch thinkorswim.
Deleting the USERGUI folder will not cause any data loss. Your ThinkorSwim data will remain the same, including charts, custom scripts, and everything else.
Final Words
ThinkorSwim updates are usually applied over the weekend.
For some users, they may encounter this problem on a Monday morning.
Once the updates have been installed, the software will automatically restart, and you will be able to use it as usual.
It’s very rare for ThinkorSwim to get stuck while updating its software. But if it does, now you know how to troubleshoot it.
worked like a charm, thank you very much. for me it was option 2 deleting the usergui folder restart and run TOS
Thank you , it did fix it by deleting usergui , didn’t have to restart computer thanks again
Yep worked for me as well…Thanks to all of you…
Not working for me. Since their last maintenance (Fri night) it doesn’t work for me…
04.11.23 08:15:40:943 suit INFO: [UpdateManager-96875] isUptodate exception:java.net.ConnectException: Connection refused: connect
04.11.23 08:15:40:945 suit INFO: [UpdateManager-96875] isModuleUptodate error: java.net.ConnectException: Connection refused: connect
04.11.23 08:15:40:945 suit INFO: [UpdateManager-96875] suit: Problem when connecting to https://198.200.170.198
04.11.23 08:15:40:945 suit INFO: [AWT-EventQueue-0] UpdaterFrameManager: Problem when connecting to https://198.200.170.198
04.11.23 08:15:40:945 suit INFO: [UpdateManager-96875] suit: java.net.ConnectException: Connection refused: connect
at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method)
at java.base/java.net.PlainSocketImpl.socketConnect(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at java.base/sun.net.NetworkClient.doConnect(Unknown Source)
at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.base/java.net.HttpURLConnection.getResponseCode(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at com.devexperts.jnlp.updater.HttpResponse.(HttpResponse.java:26)
at com.devexperts.jnlp.updater.HttpRequest.doRequest(HttpRequest.java:84)
at com.devexperts.jnlp.updater.HttpRequest.doGetRequest(HttpRequest.java:65)
at com.devexperts.jnlp.utils.Utils.getVersion(Utils.java:209)
at com.devexperts.jnlp.updater.ModuleManager.isUptodate(ModuleManager.java:404)
at com.devexperts.jnlp.UpdateManager.isModuleUptodate(UpdateManager.java:155)
at com.devexperts.jnlp.UpdateManager.main(UpdateManager.java:430)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at com.devexperts.jnlp.Launcher.run(Launcher.java:32)
at java.base/java.lang.Thread.run(Unknown Source)
04.11.23 08:15:40:949 suit INFO: [UpdateManager-96875] AppInfo: nativeLauncherName=thinkorswim.exe
04.11.23 08:15:40:949 suit INFO: [UpdateManager-96875] AppInfo: nativeLauncherName=thinkorswim.exe
04.11.23 08:15:40:949 suit INFO: [UpdateManager-96875] Ignored legacy VM option: XX:MaxPermSize
04.11.23 08:15:40:949 suit INFO: [UpdateManager-96875] isUptodate:
04.11.23 08:15:41:018 suit INFO: [AWT-EventQueue-0] UpdaterFrameManager: java.net.ConnectException: Connection refused: connect
at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method)
at java.base/java.net.PlainSocketImpl.socketConnect(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at java.base/sun.net.NetworkClient.doConnect(Unknown Source)
at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.base/java.net.HttpURLConnection.getResponseCode(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at com.devexperts.jnlp.updater.HttpResponse.(HttpResponse.java:26)
at com.devexperts.jnlp.updater.HttpRequest.doRequest(HttpRequest.java:84)
at com.devexperts.jnlp.updater.HttpRequest.doGetRequest(HttpRequest.java:65)
at com.devexperts.jnlp.utils.Utils.getVersion(Utils.java:209)
at com.devexperts.jnlp.updater.ModuleManager.isUptodate(ModuleManager.java:404)
at com.devexperts.jnlp.UpdateManager.isModuleUptodate(UpdateManager.java:155)
at com.devexperts.jnlp.UpdateManager.main(UpdateManager.java:430)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at com.devexperts.jnlp.Launcher.run(Launcher.java:32)
at java.base/java.lang.Thread.run(Unknown Source)
04.11.23 08:15:41:023 suit INFO: [AWT-EventQueue-0] UpdaterFrameManager: java.net.ConnectException: Connection refused: connect
at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method)
at java.base/java.net.PlainSocketImpl.socketConnect(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at java.base/sun.net.NetworkClient.doConnect(Unknown Source)
at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
at java.base/sun.net.www.http.HttpClient.openServer(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.base/java.net.HttpURLConnection.getResponseCode(Unknown Source)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at com.devexperts.jnlp.updater.HttpResponse.(HttpResponse.java:26)
at com.devexperts.jnlp.updater.HttpRequest.doRequest(HttpRequest.java:84)
at com.devexperts.jnlp.updater.HttpRequest.doGetRequest(HttpRequest.java:65)
at com.devexperts.jnlp.utils.Utils.getVersion(Utils.java:209)
at com.devexperts.jnlp.updater.ModuleManager.isUptodate(ModuleManager.java:404)
at com.devexperts.jnlp.UpdateManager.isModuleUptodate(UpdateManager.java:155)
at com.devexperts.jnlp.UpdateManager.main(UpdateManager.java:430)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at com.devexperts.jnlp.Launcher.run(Launcher.java:32)
at java.base/java.lang.Thread.run(Unknown Source)