Add remotely installed IDE to the Toolbox App
You can add the remotely-installed IDE to the Toolbox App.
The following configuration items are available on the remote server side to enhance the capabilities of the Toolbox App agent:
Disabling the new tool installation and existing tool upgrades
Changing paths where tools are installed
Specifying the list of allowed and prohibited tools
The Toolbox App Agent can be configured using a environment.json file that is added to the following location on the remote server:
~/.local/share/JetBrains/Toolbox/environment.json
~/Library/Application Support/JetBrains/Toolbox/environment.json
%LocalAppData%\JetBrains\Toolbox\environment.json
The environment.json file has the following structure described with Kotlin data classes and default values:
@Serializable
data class EnvironmentDescriptorDto(
val tools: Tools? = null,
) {
@Serializable
data class Tools(
val allowInstallation: Boolean? = true,
val allowUpdate: Boolean? = true,
val allowUninstallation: Boolean? = true,
val allowLogCollection: Boolean? = true,
/** The "null" value means that all tools are allowed, while
*the "emptyList" value means that "no tools are allowed". */
val location: Collection<ToolLocation>? = emptyList(),
val allowed: Collection<ToolFilter>? = null,
val disallowed: Collection<ToolFilter>? = emptyList()
)
@Serializable
data class ToolLocation(
@Serializable(with = OkioPathSerializer::class)
val path: Path,
/** The number of nested directory levels to be scanned.
* When levels == 0 (default), `path` is considered as an IDE directory.
* When levels == 1, `path` indicates a directory containing
* one or more IDE directories inside, and so on. */
val levels: Int = 0,
)
@Serializable
data class ToolFilter(
val type: ApplicationType, // e.g. "CLion", "Fleet", etc.
val builds: Collection<BuildNumber>? = null, // e.g. listOf("232.8660")
)
}
Check the following JSON file example for references:
{
"tools": {
"allowInstallation": false,
"allowLogCollection": true,
"location": [
{"path": "/path/to/tool", "levels": 1}
],
"disallowed": [
{"type": "RustRover"},
{"type": "CLion", "builds": ["252.23892.426"]}
]
}
}
19 August 2025