Since Katalon 11.1.x, Windows.startApplication is broken

Hello, since Katalon Studio 11.1.0 (and now, 11.1.1), I’m unable to start a Windows application.

When I start ‘Spy Windows Objects’ with paint.net for example (or any other executable), I get a popup with this message:

Unable to start application
Reason:
Cannot invoke “String.lenght()” because “spec is null”

Details:

java.util.concurrent.ExecutionException: java.net.MalformedURLException: Cannot invoke “String.length()” because “spec” is null
at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:49)
at com.kms.katalon.composer.windows.dialog.WindowsAppComposite$5.run(WindowsAppComposite.java:245)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:123)
Caused by: java.net.MalformedURLException: Cannot invoke “String.length()” because “spec” is null
at com.kms.katalon.composer.windows.spy.WindowsInspectorController.startApplication(WindowsInspectorController.java:176)
at com.kms.katalon.composer.windows.dialog.WindowsAppComposite$5$1.call(WindowsAppComposite.java:249)
at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.startThreadAndWait(ProgressMonitorDialogWithThread.java:36)
at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:48)
… 2 more
Caused by: java.lang.NullPointerException: Cannot invoke “String.length()” because “spec” is null
… 6 more


Same with the instuction Windows.startApplicationWithTitle() in script mode.

Everything worked fine with Katalon 11.0.1.

How can I rolling back to this version?

Please show your Groovy code around the line that caused

Caused by: java.lang.NullPointerException: Cannot invoke “String.length()” because “spec” is null

My full answer is in “waiting approval” since several hours.

For short, simply:

Windows.startApplicationWithTitle('C:\\Program Files\\``paint.net``\\paintdotnet.exe', 'Paint')

The above message was from a popup message, when lunching the app from the ‘Spy Windows Objects’ or ‘Record Windows Actions’ tools.

With a new test case with that code:

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import static om.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testng.keyword.TestNGBuiltinKeywords as TestNGKW
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys


Windows.startApplicationWithTitle('C:\\Program Files\\paint.net\\paintdotnet.exe', 'Paint')

I get (in the “Fail Reason” box):

java.lang.NullPointerException: Cannot invoke "String.length()" because "spec" is null

For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/troubleshooting/troubleshoot-common-exceptions


Cannot invoke "String.length()" because "spec" is null (Root cause: java.net.MalformedURLException: Cannot invoke "String.length()" because "spec" is null
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)
	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)
	at Paint.run(Paint:20)
	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:504)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:495)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:474)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:466)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:336)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)
	at TempTestCase1775650009471.run(TempTestCase1775650009471.groovy:30)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "spec" is null
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)
	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)
	at Script1775649326080.run(Script1775649326080.groovy:20)
	... 11 more
)
Test Cases/Paint FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Cannot invoke "String.length()" because "spec" is null (Root cause: java.net.MalformedURLException: Cannot invoke "String.length()" because "spec" is null
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)
	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)
	at Paint.run(Paint:20)
	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:504)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:495)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:474)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:466)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:336)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)
	at TempTestCase1775650009471.run(TempTestCase1775650009471.groovy:30)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "spec" is null
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)
	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)
	at Script1775649326080.run(Script1775649326080.groovy:20)
	... 11 more
)
	at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:51)
	at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:92)
	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)
	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)
	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)
	at Paint.run(Paint:20)
	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:504)
	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:495)
	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:474)
	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:466)
	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:336)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)
	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)
	at TempTestCase1775650009471.run(TempTestCase1775650009471.groovy:30)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
Caused by: java.net.MalformedURLException: Cannot invoke "String.length()" because "spec" is null
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)
	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)
	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)
	... 17 more
Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "spec" is null
	... 23 more


The console view:

2026-04-08 14:06:53.085 INFO  c.k.k.c.l.logback.LogbackConfigurator    - Logback default configuration initialized from: C:\Users\xxx\.katalon\packages\KS-11.1.1\configuration\org.eclipse.osgi\150\0\.cp\resources\logback\logback-execution.xml

2026-04-08 14:06:53.089 INFO  c.k.k.c.l.logback.LogbackConfigurator    - Logback custom configuration initialized from: C:\DEVELOPPEMENT\KATALON\test3\test3\Include\config\log.properties

2026-04-08 14:06:54.112 INFO  c.k.katalon.core.main.TestCaseExecutor   - --------------------

2026-04-08 14:06:54.112 INFO  c.k.katalon.core.main.TestCaseExecutor   - START Test Cases/Paint

2026-04-08 14:06:54.621 DEBUG testcase.Paint                           - 1: startApplicationWithTitle("C:\Program Files\paint.net\paintdotnet.exe", "Paint")

2026-04-08 14:06:54.885 ERROR c.k.k.core.keyword.internal.KeywordMain  - ❌ Cannot invoke "String.length()" because "spec" is null (Root cause: java.net.MalformedURLException: Cannot invoke "String.length()" because "spec" is null

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)

	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)

	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)

	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)

	at Paint.run(Paint:20)

	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)

	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)

	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:504)

	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:495)

	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:474)

	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:466)

	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:336)

	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)

	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)

	at TempTestCase1775650009471.run(TempTestCase1775650009471.groovy:30)

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "spec" is null

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)

	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)

	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)

	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)

	at Script1775649326080.run(Script1775649326080.groovy:20)

	... 11 more

)

2026-04-08 14:06:54.894 ERROR c.k.katalon.core.main.TestCaseExecutor   - ❌ Test Cases/Paint FAILED.

Reason:

com.kms.katalon.core.exception.StepFailedException: Cannot invoke "String.length()" because "spec" is null (Root cause: java.net.MalformedURLException: Cannot invoke "String.length()" because "spec" is null

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)

	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)

	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)

	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)

	at Paint.run(Paint:20)

	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)

	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)

	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:504)

	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:495)

	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:474)

	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:466)

	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:336)

	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)

	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)

	at TempTestCase1775650009471.run(TempTestCase1775650009471.groovy:30)

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "spec" is null

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)

	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)

	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)

	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)

	at Script1775649326080.run(Script1775649326080.groovy:20)

	... 11 more

)

	at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:51)

	at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy)

	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:92)

	at com.kms.katalon.core.keyword.internal.KeywordMain$runKeyword.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.startApplicationWithTitle(StartApplicationWithTitleKeyword.groovy:34)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword.execute(StartApplicationWithTitleKeyword.groovy:29)

	at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:95)

	at com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords.startApplicationWithTitle(WindowsBuiltinKeywords.java:1371)

	at Paint.run(Paint:20)

	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)

	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)

	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:504)

	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:495)

	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:474)

	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:466)

	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:336)

	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)

	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)

	at TempTestCase1775650009471.run(TempTestCase1775650009471.groovy:30)

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

Caused by: java.net.MalformedURLException: Cannot invoke "String.length()" because "spec" is null

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory.startApplication(WindowsDriverFactory.java:83)

	at com.kms.katalon.core.windows.driver.WindowsDriverFactory$startApplication.call(Unknown Source)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy:35)

	at com.kms.katalon.core.windows.keyword.builtin.StartApplicationWithTitleKeyword$_startApplicationWithTitle_closure1.doCall(StartApplicationWithTitleKeyword.groovy)

	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

	at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:90)

	... 17 more

Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "spec" is null

	... 23 more



2026-04-08 14:06:54.902 INFO  c.k.katalon.core.main.TestCaseExecutor   - END Test Cases/Paint


I am not able to suppor this.

I would pass this topic to Katalon.

@Elly_Tran

hi @wistiti67

this looks like a regression in 11.1.x where the internal path parsing fails
maybe you can try these workaround

1. How to Roll Back
You can download previous versions directly from the GitHub repository. No installer is needed; just extract and run the executable.

2. Potential Workaround
If you need to stay on 11.1.x, try formatting the file path with forward slashes or the file:/// protocol. This often bypasses the URL parsing bug causing the spec is null error.

  • Standard: C:/Windows/System32/notepad.exe
  • Protocol: file:///C:/Windows/System32/notepad.exe

Windows.startApplication/startApplicationWithTitle fails with "spec" is null due to broken path-to-URL parsing in FlaUI driver (line 83, WindowsDriverFactory).

Immediate Fixes

Windows.startApplicationWithTitle('file:///C:/Program Files/paint.net/paintdotnet.exe', 'Paint')

OR forward slashes:

Windows.startApplicationWithTitle('C:/Program Files/paint.net/paintdotnet.exe', 'Paint')

No. I still have the same issue with

Windows.startApplicationWithTitle('C:/Program Files/Notepad++/notepad++.exe', 'notepad')

or

Windows.startApplicationWithTitle('file:///C:/Program Files/Notepad++/notepad++.exe', 'notepad')

Please note that the prefix ‘file:///’ fails with the version 11.0.1 either (response code 400)

Hi all,

Thank you for sharing your issue. I will check with my team and let you know the update soon

Hi all,

This is a known issue that we plan to fix it in v11.1.2. In the meanwhile, you can either downgrade your version or start driver manually:

In command line, cd into:

KatalonInstallationFolder\configuration\resources\extensions\FlaUIWebDriver

Then run this

FlaUI.WebDriver.exe --urls=http://127.0.0.1:4723 --environment=Production

In Katalon, go to project settings and input the local url in Desktop Driver URL field. Hope this can help

Hi all,

A quick update — Katalon Studio 11.1.2 has been released with the fix for this issue. You can download it here: Katalon Studio Download | Katalon

Could you please upgrade and confirm whether Windows.startApplication / Windows.startApplicationWithTitle works correctly on your end? If you still hit the String.length() … spec is null error after updating, please share:

  • The full stack trace from the new run
  • Your Windows.startApplication(...) call (path + any args)

For anyone who can’t upgrade right away, the manual driver workaround Elly shared above still applies:

cd <KatalonInstallationFolder>\configuration\resources\extensions\FlaUIWebDriver
FlaUI.WebDriver.exe --urls=http://127.0.0.1:4723 --environment=Production

…then point Project Settings → Desktop → Desktop Driver URL to http://127.0.0.1:4723.

Thanks for your patience on this one!

updated to the latest one :rocket:

@wistiti67 can you confirm issue resolution in the latest update?

This issue still seems to persist, even in the latest version 11.2.1

Actually here was my issue: I did have to manually extract the FlaUI.WebDriver executable, but that didn’t fix the issue. After that unzip, I found the real problem: Even though I created my Project specifically as a Windows desktop project, it was still defaulting to Chrome for default execution when running my test script within the project. I had to go into Project Settings > Execution and manually change Default Execution to Windows instead of Chrome. Not sure why I would need to do that manually if I specified during Project creation that it’s a Windows project. But that’s why KS didn’t extract that FlaUI.WebDriver executable automatically during first run and also why I was getting the specific error I was seeing - it was trying to interpret that Windows path as a Web Browser URL! My Windows apps are now getting kicked off successfully from my KS desktop project.

I @Slowey and @Elly_Tran , currently I use the Katalon v.11.3.0 and I also config as your guide, but this issue still occur when I try to open the basic windows application. Please help us doublecheck for this version!