# Chrome desired capabilities set up in settings stopped working

**URL:** <https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379>\
**Category:** Web Testing\
**Tags:** web-testing, katalon-studio\
**Created:** [August 20, 2026, 2:43am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379 "2026-08-20T02:43:31Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![mauri.figueroa.86](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/mauri.figueroa.86/32/30227_2.png) [@mauri.figueroa.86](https://forum.katalon.com/u/mauri.figueroa.86)\
**Post date:** [August 20, 2026, 2:43am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/1 "2026-08-20T02:43:31Z")

</div>

Hello everyone! So I have this project since a long time ago, and it was working just fine with setting the capabilities in Katalon settings. I just had “prefs” and “download.default\_directory”.

Suddenly (and this happened as well in Edge Chromium but Firefox is working fine) the “Save as” pop up started to appear, so I added “download.prompt\_for\_download” but it was ignored when under “prefs”, but it works when under “goog:chromeOptions → prefs”.

The thing is, that when I nest both under “goog:chromeOptions → prefs” the pop up doesnt show (which is ok) but katalon/chrome saves the file in the default chrome folder (which is not ok).

If I put “prefs” with “download.default\_directory” and also “goog:chromeOptions → prefs” with “download.prompt\_for\_download”, the “save as” pop up opens up, but the directory in which is going to save the file is okay.

So I don’t know what is going on and why it suddenly the driver stopped working as it was.

I spent hours trying to figure it out and was not able to fix it.

Any help is welcomed.

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 21, 2026, 2:35am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/2 "2026-08-21T02:35:43Z")

</div>

Recent Chrome/ChromeDriver versions have got stricter about honoring prefs-based download settings, so I guess you are getting that issue.

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 21, 2026, 2:40am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/3 "2026-08-21T02:40:20Z")

</div>

Katalon supports Chrome preferences in both top-level `prefs` and `goog:chromeOptions -> prefs`, but since these settings are not deeply merged, one configuration can overwrite the other, causing some Chrome preferences to be lost unless they are strategically split across both locations.

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 21, 2026, 2:48am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/4 "2026-08-21T02:48:56Z")

</div>

SO I would suggest you rather than fighting the two merge-prone capability locations, set the download behavior via the Chrome DevTools Protocol _after_ the browser session starts as mentioned below — it bypasses the prefs-merging issue entirely.

```auto
WebUI.openBrowser('')

WebDriver driver = DriverFactory.getWebDriver()
if (driver instanceof ChromeDriver) {
    Map<String, Object> params = new HashMap<>()
    params.put("behavior", "allow")
    params.put("downloadPath", "C:\\your\\download\\folder")
    ((ChromeDriver) driver).executeCdpCommand("Page.setDownloadBehavior", params)
}

```

provide the download navigation

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 21, 2026, 2:52am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/5 "2026-08-21T02:52:30Z")

</div>

If you’d rather stick with the capabilities-only approach (no code changes), the key is to stop having two competing sources for the same prefs. Remove the top-level `prefs` entry entirely, and put everything — both `download.default_directory` and `download.prompt_for_download` — under a single `goog:chromeOptions → prefs` object. That way there’s only one object for ChromeDriver to read, instead of two that silently clobber each other.

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 21, 2026, 2:57am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/6 "2026-08-21T02:57:44Z")

</div>

A couple of things worth **double-checking**

- Make sure `download.directory_upgrade: true` is also set alongside `download.default_directory` — Chrome sometimes ignores a changed directory unless this flag is present.
- Use an absolute path for the directory (not a relative one), and if you’re on Windows, escape backslashes (`C:\\path\\to\\folder`) or use forward slashes — malformed paths are a common reason `default_directory` silently gets ignored.
- Double-check there isn’t a duplicate `prefs` or `goog:chromeOptions` entry left over anywhere else in your project/profile settings (e.g. a Custom capability or an execution-profile override) — leftover duplicates are what caused the conflict in the first place.

But note this that going forward — Chrome has been progressively tightening how it honors `prefs`-based download settings across recent releases, so it may break again on a future update. The CDP-based code (`Page.setDownloadBehavior`) , the code I mentioned above , is the more future-proof fix since it configures the behavior directly through the browser session rather than relying on capability merging.

---

<div class="post-metadata">

**Author:** ![dineshh](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/dineshh/32/24488_2.png) [@dineshh](https://forum.katalon.com/u/dineshh)\
**Post date:** [August 21, 2026, 4:15am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/7 "2026-08-21T04:15:55Z")

</div>

## Solution 1: Use Chrome DevTools Protocol (Recommended)

Instead of fighting the prefs merge issue, set download behavior **after the browser starts** using CDP:

```auto
`WebUI.openBrowser('')`

`WebDriver driver = DriverFactory.getWebDriver()`
**`if`** ` (driver ` **`instanceof`** ` ChromeDriver) {`
` Map<String, Object> params = ` **`new`** ` HashMap<>()`
` params.put("behavior", "allow")`
` params.put("downloadPath", "C:\\your\\download\\folder")`
` ((ChromeDriver) driver).executeCdpCommand("Page.setDownloadBehavior", params)`
`}`

```

This bypasses the prefs-merging issue entirely and works reliably across Chrome versions

## Solution 2: Consolidate All Prefs Under `goog:chromeOptions.prefs`

If you prefer to stick with capabilities, move **all** prefs into the nested structure:

```auto

*`// In Project Settings → Web → Desired Capabilities`*
`"goog:chromeOptions": {`
` "prefs": {`
` "download.default_directory": "C:\\your\\download\\folder",`
` "download.prompt_for_download": false,`
` "download.directory_upgrade": true,`
` "safebrowsing.enabled": true`
` }`
`}`

```

**Remove** any top-level `prefs` block to avoid conflicts

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 22, 2026, 2:28am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/8 "2026-08-22T02:28:28Z")

</div>

Did you try the suggested solutions?

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 22, 2026, 2:28am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/9 "2026-08-22T02:28:49Z")

</div>

Please let us know if you have any questions

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 22, 2026, 2:29am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/10 "2026-08-22T02:29:25Z")

</div>

If resolved then also let us know, which solution worked for you?

---

<div class="post-metadata">

**Author:** ![mauri.figueroa.86](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/mauri.figueroa.86/32/30227_2.png) [@mauri.figueroa.86](https://forum.katalon.com/u/mauri.figueroa.86)\
**Post date:** [August 25, 2026, 2:45am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/11 "2026-08-25T02:45:15Z")

</div>

Hello, thanks for all your comments, I will be responding case by case.

This didn’t work, it just always work 1 out of the 2 I need, which are, download.prompt\_for\_download and download.prompt\_for\_download.

I ended just making a small script that emulates with a js robot the click on the “save as” button, and left the pref with the download path that was working when using this alone.

---

<div class="post-metadata">

**Author:** ![mauri.figueroa.86](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/mauri.figueroa.86/32/30227_2.png) [@mauri.figueroa.86](https://forum.katalon.com/u/mauri.figueroa.86)\
**Post date:** [August 25, 2026, 2:45am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/12 "2026-08-25T02:45:21Z")

</div>

As mentioned before, this didn’t work either. the download path is only applied when under root-\>prefs  
While the “download.prompt\_for\_download” only works when under goog:chromeOptions-\>prefs.

---

<div class="post-metadata">

**Author:** ![mauri.figueroa.86](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/mauri.figueroa.86/32/30227_2.png) [@mauri.figueroa.86](https://forum.katalon.com/u/mauri.figueroa.86)\
**Post date:** [August 25, 2026, 2:45am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/13 "2026-08-25T02:45:25Z")

</div>

Yes, checked all this, but nothing works and everything looks properly setup.

I am starting to think, it is a bug with the webdriver.

---

<div class="post-metadata">

**Author:** ![mauri.figueroa.86](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/mauri.figueroa.86/32/30227_2.png) [@mauri.figueroa.86](https://forum.katalon.com/u/mauri.figueroa.86)\
**Post date:** [August 25, 2026, 2:45am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/14 "2026-08-25T02:45:32Z")

</div>

Hi Dinesh, ty for answering.

I tried via script as well, I also tried manually writting on the json file, but default\_directory just doesnt work when under goog:chromeOptions.  
And if I try to put everything under root-\>prefs, then default\_directory is applied, but prompt\_for\_download stops working.

I am starting to think it is just a bug on the webdriver.

---

<div class="post-metadata">

**Author:** ![akshay\_sartabe](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/akshay_sartabe/32/23870_2.png) [@akshay\_sartabe](https://forum.katalon.com/u/akshay_sartabe)\
**Post date:** [August 25, 2026, 6:27am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/15 "2026-08-25T06:27:55Z")

</div>

> [@mauri.figueroa.86](#):
>
> I ended just making a small script that emulates with a js robot the click on the “save as” button, and left the pref with the download path that was working when using this alone.

Would you mind sharing this snippet. I also might need to implement this in near future. Would be great help to have some solution if I get stuck over similar issue.

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![dineshh](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/dineshh/32/24488_2.png) [@dineshh](https://forum.katalon.com/u/dineshh)\
**Post date:** [August 25, 2026, 8:15am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/16 "2026-08-25T08:15:46Z")

</div>

Thank you for the details

---

<div class="post-metadata">

**Author:** ![mauri.figueroa.86](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/mauri.figueroa.86/32/30227_2.png) [@mauri.figueroa.86](https://forum.katalon.com/u/mauri.figueroa.86)\
**Post date:** [August 25, 2026, 3:52pm UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/17 "2026-08-25T15:52:23Z")

</div>

Here it is, 2 things, I do not remember which “imports” this need, you could paste in any AI and ask that.  
Also, its probbaly better not to use hardocded waits, but not sure if its possible not to use them. Good luck!

> ```auto
> @Keyword
> public saveAsPopupClickSave() {
> 
> //Once the capabilities of Chrome and Edge work again, this must be removed.
> 
> def currentBrowser = identifyBrowser()
> 
> println(currentBrowser)
> 
> if (currentBrowser == "CHROME_DRIVER" || currentBrowser == "EDGE_CHROMIUM_DRIVER") {
> WebUI.delay(5) // esperar que el popup "Guardar como" aparezca
> 
> Robot robot = new Robot()
> robot.setAutoDelay(100)
> robot.keyPress(KeyEvent.VK_ENTER)
> robot.keyRelease(KeyEvent.VK_ENTER)
> 
> WebUI.delay(5) // esperar que el popup se cierre
> }
> }
> 
> ```

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 26, 2026, 2:27am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/18 "2026-08-26T02:27:37Z")

</div>

Noted , thanks for the comment

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 26, 2026, 2:27am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/19 "2026-08-26T02:27:56Z")

</div>

Thanks for sharing 🙂

---

<div class="post-metadata">

**Author:** ![arvind.choudhary](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/arvind.choudhary/32/33165_2.png) [@arvind.choudhary](https://forum.katalon.com/u/arvind.choudhary)\
**Post date:** [August 26, 2026, 2:34am UTC](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379/20 "2026-08-26T02:34:52Z")

</div>

Yes, robot class methods work

[Next page](https://forum.katalon.com/t/chrome-desired-capabilities-set-up-in-settings-stopped-working/193379.md?page=2)
