---
schema_version: "1"
id: 9d9b12175b383b8db3ee9185575e162176e7389bd661d17b80611d37e2b4bd0a
title: Launch Configuration Properties Reference
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/anypoint-code-builder/ref-launch-json-properties.md
canonical_url: https://docs.mulesoft.com/anypoint-code-builder/ref-launch-json-properties
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 82894f53909f0d3ca681c98974c341279b824ad5d249ac0cf529d83a4bd05484
description: MuleSoft Documentation Site
latest: true
---
---
product: Anypoint Code Builder
version: master
---

# Launch Configuration Properties Reference

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Configure how Mule applications run and debug locally in Anypoint Code Builder by editing the
`launch.json` file in your project’s `.vscode` folder.

Use `launch.json` configurations to:

- Pass runtime arguments (encryption keys, environment variables, JVM properties)

- Change the debug port to avoid conflicts when running multiple applications

- Create multiple run profiles for different environments (Development, QA, Production)

- Run multiple Mule applications concurrently in the same workspace

- Test the same application with different property values without editing code

## Configuration Properties Reference

This table lists some common properties for launch configurations.

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Property</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><div><div><p><code>type</code></p></div></div></td><td><div><div><p>Yes</p></div></div></td><td><div><div><p>Specifies the debugger type. Must be <code>"mule-xml-debugger"</code> for Mule applications or <code>"munit-xml-debugger"</code> for MUnit tests.</p></div></div></td></tr><tr><td><div><div><p><code>request</code></p></div></div></td><td><div><div><p>Yes</p></div></div></td><td><div><div><p>Specifies the launch type. Must be <code>"launch"</code> to start a new debug session.</p></div></div></td></tr><tr><td><div><div><p><code>name</code></p></div></div></td><td><div><div><p>Yes</p></div></div></td><td><div><div><p>Display name for this configuration. Appears in the Run and Debug view dropdown menu. Use descriptive names like <code>"Debug - Development"</code> or <code>"Run QA Environment"</code>.</p></div></div></td></tr><tr><td><div><div><p><code>mule.project</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>Path to a single Mule project. Use <code>"${workspaceFolder}"</code> for the current project. For multiple projects, use <code>mule.projects</code> instead.<br>Either <code>mule.project</code> or <code>mule.projects</code> must be specified, but not both.</p></div></div></td></tr><tr><td><div><div><p><code>mule.projects</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>Array of project paths for running multiple Mule applications concurrently. Example: <code>["${workspaceFolder:project1}", "${workspaceFolder:project2}"]</code>. See <a href="https://docs.mulesoft.com/anypoint-code-builder/int-run-multiple-mule-apps">Running Multiple Mule Applications Concurrently</a>.<br>Either <code>mule.project</code> or <code>mule.projects</code> must be specified, but not both.</p></div></div></td></tr><tr><td><div><div><p><code>mule.home</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>Path to the Mule runtime home directory. Use <code>"${config:mule.homeDirectory}"</code> to reference the configured Mule installation. Typically not needed as it defaults to the configured runtime.</p></div></div></td></tr><tr><td><div><div><p><code>mule.runtime.args</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>Command-line arguments passed to the Mule runtime JVM. Use the <code>-M-D</code> prefix for system properties and the <code>-M-X</code> prefix for JVM tuning flags.<br><br>Examples:<br><code>-M-Dencryption.key=myKey</code> (encryption key)<br><code>-M-Denv=dev</code> (environment selector)<br><code>-M-Dhttp.port=8082</code> (HTTP listener port)<br><code>-M-Xmx2g</code> (maximum JVM heap size)<br><code>-M-Xms512m -M-Xmx2g</code> (initial and maximum JVM heap size)<br><br>For more information, see <a href="https://docs.mulesoft.com/anypoint-code-builder/int-run-mule-apps-with-properties">Pass Runtime Properties and Arguments to Mule Applications</a> and <a href="https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs">Defining and Securing Properties for a Mule Application</a>.</p></div></div></td></tr><tr><td><div><div><p><code>mule.debug.port</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>Port number for the Mule debugger. Default: <code>6666</code>. Change this value when running multiple applications concurrently to avoid port conflicts. Example: <code>6667</code>, <code>6668</code>.</p></div></div></td></tr><tr><td><div><div><p><code>noDebug</code></p></div></div></td><td><div><div><p>No</p></div></div></td><td><div><div><p>Set to <code>true</code> to run the application without attaching the debugger. Useful for performance testing or when you don’t need breakpoint debugging. Default: <code>false</code>.</p></div></div></td></tr></tbody></table>

Either `mule.project` or `mule.projects` must be specified, but not both.

## Creating Multiple Configuration Profiles

Create multiple launch configurations to test different environments without modifying your
application code. Each configuration can have different runtime arguments, debug ports, and
environment settings.

This example shows three configurations for Local Development, QA, and a Mocked environment:

```json
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Debug - Local Dev",
      "mule.project": "${workspaceFolder}",
      "mule.home": "${config:mule.homeDirectory}",
      "mule.runtime.args": "${config:mule.runtime.defaultArguments} -M-Denv=dev -M-Dencryption.key=devKey123",
      "mule.debug.port": 6666
    },
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Debug - QA Environment",
      "mule.project": "${workspaceFolder}",
      "mule.home": "${config:mule.homeDirectory}",
      "mule.runtime.args": "${config:mule.runtime.defaultArguments} -M-Denv=qa -M-Dencryption.key=qaKey456",
      "mule.debug.port": 6667
    },
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Run - Mocked Services",
      "mule.project": "${workspaceFolder}",
      "mule.home": "${config:mule.homeDirectory}",
      "mule.runtime.args": "${config:mule.runtime.defaultArguments} -M-Denv=mock -M-Dmock.services=true",
      "mule.debug.port": 6666,
      "noDebug": true
    }
  ]
}
```

### Switch Between Configurations

To switch between run configurations:

1.  Open the **Run and Debug** view from the activity bar (![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-run-debug.png)).

2.  Click the configuration dropdown in the debug panel.

3.  Select the configuration to use.

    (for example, **Debug - QA Environment**).

4.  Click **Start** (![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-start-debug.png)) or press **F5** to launch.

The selected configuration remains active until you select a different one.

## Configuring the Debug Port

The default debug port for Anypoint Code Builder is `6666`. Change this port when:

- Running multiple Mule applications concurrently in the same workspace

- The default port conflicts with another service on your system

- Testing port-specific debugging scenarios

### Change the Debug Port

Add or modify the `mule.debug.port` property in your launch configuration:

```json
{
  "configurations": [
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Debug on Port 6667",
      "mule.project": "${workspaceFolder}",
      "mule.home": "${config:mule.homeDirectory}",
      "mule.runtime.args": "${config:mule.runtime.defaultArguments}",
      "mule.debug.port": 6667
    }
  ]
}
```

Each concurrent application must use a unique debug port. For example, if running three applications
simultaneously, configure them with ports `6666`, `6667`, and `6668`.

## Common Configuration Examples

These are some configuration examples for common scenarios.

### Pass Encryption Keys for Secure Properties

```json
{
  "configurations": [
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Debug with Encryption Key",
      "mule.project": "${workspaceFolder}",
      "mule.home": "${config:mule.homeDirectory}",
      "mule.runtime.args": "${config:mule.runtime.defaultArguments} -M-Dencryption.key=mySecretKey"
    }
  ]
}
```

For more information, see
[Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs).

### Switch Between Environment Property Files

```json
{
  "configurations": [
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Development Environment",
      "mule.project": "${workspaceFolder}",
      "mule.home": "${config:mule.homeDirectory}",
      "mule.runtime.args": "${config:mule.runtime.defaultArguments} -M-Denv=dev"
    },
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Production Environment",
      "mule.project": "${workspaceFolder}",
      "mule.home": "${config:mule.homeDirectory}",
      "mule.runtime.args": "${config:mule.runtime.defaultArguments} -M-Denv=prod"
    }
  ]
}
```

This configuration works with property files named `dev.secure.yaml` and `prod.secure.yaml` that use
the `$site` variable in your Mule configuration XML.

### Run Multiple Applications Concurrently

```json
{
  "configurations": [
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Run Multiple Apps",
      "noDebug": true,
      "mule.projects": [
        "${workspaceFolder:salesforce-integration}",
        "${workspaceFolder:database-service}",
        "${workspaceFolder:api-gateway}"
      ],
      "mule.runtime.args": "${config:mule.runtime.defaultArguments}"
    }
  ]
}
```

For more information, see
[Running Multiple Mule Applications Concurrently](https://docs.mulesoft.com/anypoint-code-builder/int-run-multiple-mule-apps).

### Use Environment Variables

Reference OS environment variables using the `${env:VARIABLE_NAME}` syntax:

```json
{
  "configurations": [
    {
      "type": "mule-xml-debugger",
      "request": "launch",
      "name": "Debug with Env Variables",
      "mule.project": "${workspaceFolder}",
      "mule.home": "${config:mule.homeDirectory}",
      "mule.runtime.args": "${config:mule.runtime.defaultArguments} -M-Dencryption.key=${env:MULE_ENCRYPTION_KEY} -M-Denv=${env:MULE_ENV}"
    }
  ]
}
```

## Create or Open launch.json

To create or open the `launch.json` file:

1.  Open the Command Palette.

    Show me how

    - Use the keyboard shortcuts:

      - Mac: Cmd+Shift+p

      - Windows: Ctrl+Shift+p

    - Select **View** > **Command Palette**.

2.  Enter and select `Open 'launch.json'`.

    If the file doesn’t exist, Anypoint Code Builder creates it in the `.vscode` folder of your
    project.

3.  Edit the configuration properties as needed.

4.  Save the file.

The new or updated configuration appears in the **Run and Debug** view dropdown.

## See Also

- [Pass Runtime Properties and Arguments to Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-run-mule-apps-with-properties)

- [Defining and Securing Properties for a Mule Application](https://docs.mulesoft.com/anypoint-code-builder/int-create-secure-configs)

- [Running Multiple Mule Applications Concurrently](https://docs.mulesoft.com/anypoint-code-builder/int-run-multiple-mule-apps)

- [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps)

- [Testing Projects with MUnit](https://docs.mulesoft.com/anypoint-code-builder/int-test-munit)

- [Migrating Mule Projects from Anypoint Studio to Anypoint Code Builder](https://docs.mulesoft.com/anypoint-code-builder/int-migrate-studio-to-acb)

- [MuleSoft Settings](https://docs.mulesoft.com/anypoint-code-builder/ref-mule-settings)
