---
title: "MDM installation"
canonical_url: "https://docs.getdx.com/ai-code-insights/mdm-installation/"
md_url: "https://docs.getdx.com/ai-code-insights/mdm-installation.md"
last_updated: "2026-05-08"
---

# MDM installation
MDM deployment lets you roll out the AI Code Insights daemon and API credentials to every developer machine without requiring individual installs. Deploy via Jamf, Intune, Ansible, or your MDM platform of choice. For individual installs, see [Installation](https://docs.getdx.com/ai-code-insights/installation/). For rollout strategy, see [Rollout](https://docs.getdx.com/ai-code-insights/rollout/).

## Installer behavior

Download the latest installers from **Admin** -> [**AI Code Insights**](https://app.getdx.com/admin/ai-code-insights). All installers are code-signed with an Atlassian certificate.



### macOS

Installer: `.pkg`

1. Installs the `aicodemetricsd` binary to `/usr/local/bin/`
1. Creates a LaunchAgent at `~/Library/LaunchAgents/com.getdx.aicodemetrics.plist`
1. Starts the daemon as the logged-in user
1. Detects and installs hooks for supported AI coding agents

If developers have repositories in macOS protected directories (`Desktop`, `Downloads`, `Documents`), Full Disk Access must be granted to `/usr/local/bin/aicodemetricsd`. Configure this via an MDM privacy preferences policy profile (PPPC).





### Windows

Installer: `.msi`

1. Installs the `aicodemetricsd` binary and a bundled Watchman binary
1. Creates a scheduled task that runs the daemon as the logged-in user
1. Detects and installs hooks for supported AI coding agents



### Linux

Installer: `.tar.gz` with install script

> **Note**: Supported on Debian and Red Hat-based distributions, amd64 only.

1. Installs the `aicodemetricsd` binary to `/usr/local/bin/`
1. Creates a systemd user service at `~/.config/systemd/user/com.getdx.aicodemetrics.service`
1. Enables and starts the service
1. Detects and installs hooks for supported AI coding agents





## Configuration delivery

Deliver API credentials so developers do not need to configure anything.



### macOS

macOS MDM platforms can deliver credentials via a **Configuration Profile** using managed preferences. Managed preferences take priority over the config file — if both are present, the Configuration Profile values win.

**Preference domain:** `com.getdx.aicodemetrics`

| Key         | Type   | Description                                                          |
| ----------- | ------ | -------------------------------------------------------------------- |
| `api_url`   | String | Your organization's DX API URL                                       |
| `api_key`   | String | Your organization's DX API key                                       |
| `log_level` | String | Log verbosity: `debug`, `info`, `warn`, or `error` (default: `info`) |

**Option A: MDM admin dashboard:** If your MDM platform supports custom preference domains (Jamf, Mosyle, Kandji, etc.), add the keys above under the `com.getdx.aicodemetrics` domain.

**Option B: Upload a `.mobileconfig` file:** Use <a href="/assets/xml/configuration-profile-example.mobileconfig" download target="_blank">this example</a> as a starting point. Replace each of the API credential placeholders with your organization's values, generate unique UUIDs for the two `PayloadUUID` fields, and upload the file to your MDM platform.

> **Note**: The daemon reads managed preferences only at startup. If you push updated credentials via a Configuration Profile after the daemon is already running, restart it with `aicodemetricsd restart` or by running `launchctl unload` followed by `launchctl load` on the plist.

Alternatively, deploy a config file to `~/.aicodemetrics/config.json` on each machine.

### Windows

Credentials can be delivered via the registry at `HKLM\SOFTWARE\GetDX\AICodeMetrics` using the same key names as the config file (`api_url`, `api_key`, `log_level`). Deploy via Intune, Group Policy, or your MDM platform. Registry values take priority over the config file.

Alternatively, deploy a config file to `%LOCALAPPDATA%\aicodemetrics\config.json`. Restrict write access to the config directory to prevent user tampering.



### Linux

Deploy a config file to `~/.aicodemetrics/config.json` via Ansible, Chef, or your configuration management tool.





Minimal config file contents:

```json
{
    "api_url": "API_URL",
    "api_key": "API_TOKEN"
}
```

For the full settings reference, see [Configuration](https://docs.getdx.com/ai-code-insights/configuration/).

## Upgrades

DX cannot push daemon updates directly to developer machines. Download the updated installer from **Admin** -> [**AI Code Insights**](https://app.getdx.com/admin/ai-code-insights) and deploy via your MDM platform. The installer updates the daemon in place — no configuration changes required. See [Upgrades](https://docs.getdx.com/ai-code-insights/configuration/#upgrades) for details.

## EDR and endpoint security

The daemon's behavior — a background process that watches file system changes, hooks into developer tools, and makes outbound HTTPS calls — can trigger behavioral alerts in EDR solutions (Palo Alto, CrowdStrike, Microsoft Defender, etc.). Pre-configure exclusions before deploying to developer machines.

See [Endpoint considerations](https://docs.getdx.com/ai-code-insights/security-and-privacy/#endpoint-considerations) for the full list of processes to whitelist and paths to exclude per platform.
---

## Sitemap

[Overview of all docs pages](/llms.txt)
