Enterprise deployment
Deploy AI Code Insights through MDM or endpoint-management tooling.
Step 1: Configure
Choose the authentication approach before deploying:
- Organization token: For unattended authentication, deliver configuration before the installer so the daemon can connect on its first start.
- Personal token: Deliver
api_urland any other managed settings before installation, then have each developer sign in through browserloginafter installation. Omitapi_keyfor a deployment that uses only personal tokens. Each developer needs DX access, and the workspace must allow personal access tokens.
On macOS and Windows, deliver managed settings through the platform-specific paths below. All platforms also support a JSON configuration file; see Configuration reference for file locations, precedence, and advanced settings.
| Setting | Required | Description |
|---|---|---|
api_url |
Yes | Your organization’s DX API URL |
api_key |
Organization token only | The AI Code Insights organization token; omit for personal-token deployments |
email |
Recommended | The developer’s email address in DX |
log_level |
No | trace, debug, info, warn, or error; defaults to debug |
Deliver a Configuration Profile under the com.getdx.aicodemetrics preference domain.
Use the downloadable Configuration Profile example as a starting point. Replace INSERT api_url, INSERT api_key, INSERT your_organization, INSERT unique_uuid, and INSERT unique_uuid_2 before uploading it to Jamf, Kandji, Mosyle, Intune, or another MDM. Set $EMAIL to a per-user value when your MDM supports variable substitution, or remove the email key. For personal-token deployments, remove the api_key key.
Deliver each value as REG_SZ under HKLM\SOFTWARE\GetDX\AICodeMetrics with Intune, Group Policy, or another endpoint-management tool.
Deliver ~/.aicodemetrics/config.json to each target user’s home directory with mode 0600. Use Ansible, Chef, Puppet, a bootstrap script, or your existing configuration-management system.
{
"api_url": "API_URL",
"api_key": "API_TOKEN",
"email": "developer@example.com"
}
Run the Linux installer and systemd user service as the target developer. A config written to root’s home is not used by the developer’s daemon.
Omit email when you cannot deliver a correct per-user value. The daemon then falls back to an agent-provided email when available, followed by repository-local and global git config user.email.
Step 2: Prepare endpoints
Allow outbound HTTPS to the DX API URL shown under Admin → AI Code Insights for organization-token deployments. Personal-token deployments also need app.getdx.com for browser login and api.getdx.com for daemon API requests. When automatic updates are enabled, also allow software.getdx.net, which hosts AI Code Insights releases. No inbound access is required. Configure endpoint detection and response (EDR), antivirus, and other endpoint-security tools to allow the daemon and updater-helper processes and exclude the local database files from real-time scanning. See Endpoint considerations for the process and file inventory.
On macOS, deploy a PPPC policy for /usr/local/bin/aicodemetricsd only when monitored repositories can live in protected directories such as Desktop, Downloads, or Documents. The relevant identifier is com.getdx.aicodemetrics. The daemon runs as a per-user LaunchAgent; the updater helper runs separately as a root system LaunchDaemon.
Step 3: Deploy
Download the current packages from Admin → AI Code Insights and deploy them through your endpoint-management tooling in the target developer’s user context.
For automated deployment workflows, use aiCodeInsights.currentVersion to retrieve the current daemon version and a platform-specific installer URL. See the changelog for release notes.
Each installer performs the following actions:
Installer: universal .pkg
- Installs
aicodemetricsdto/usr/local/bin/ - Creates a per-user LaunchAgent at
~/Library/LaunchAgents/com.getdx.aicodemetrics.plist - Installs a root-owned updater helper and system LaunchDaemon
- Starts the daemon as the logged-in user
- Detects supported AI coding agents and installs their integrations
Installer: AMD64 .msi
- Installs
aicodemetricsd.exeand the interactive-command wrapperaicodemetrics.cmdunder%ProgramFiles%\AICodeMetrics - Creates a Scheduled Task for the interactive user
- Installs a privileged updater helper as an on-demand Scheduled Task
- Starts the daemon as the logged-in user
- Detects supported AI coding agents and installs their integrations
Installer: .tar.gz with install script. Supports Debian- and Red Hat-based distributions on AMD64 and ARM64.
- Installs
aicodemetricsdto/usr/local/bin/ - Creates a systemd user service at
~/.config/systemd/user/com.getdx.aicodemetrics.service - Installs a root-owned updater helper as a systemd system service
- Enables user-service linger and starts the service
- Detects supported AI coding agents and installs their integrations
Step 4: Verify
For personal-token deployments, have each developer complete Sign in before verification.
Follow Verify deployment to confirm daemon health, repository matching, and AI attribution.
Step 5: Monitor
Open Admin → AI Code Insights → Client versions to find active developers on old or unknown daemon versions.
Automatic updates
After deploying AI Code Insights with the 0.7.0 or newer installer on macOS or Windows, or the 0.7.2 or newer installer on Linux, go to Admin → AI Code Insights → Automatic daemon updates and turn on Enable auto-updates. This account-wide setting cannot be overridden on individual endpoints.
The daemon checks for a newer release after startup and every hour. It downloads the platform package, and the privileged updater helper verifies and activates the update before the daemon restarts. A failed update leaves or restores the previous daemon version.
macOS and Windows endpoints running a version older than 0.7.0 must receive the current installer once before they can update automatically. Routine automatic updates replace only the daemon binary. They do not install or update the Windows aicodemetrics.cmd wrapper. Redeploy the installer when you need to add or update the wrapper, helper, service definitions, Scheduled Tasks, or other installer-managed components.
For Linux installations deployed before 0.7.2, deploy the current Linux .tar.gz and run its ./install.sh once as the target developer to install the fixed updater helper. After this deployment, routine daemon releases update automatically when the account setting is enabled. Linux requires systemd and a working systemd user manager.
To update manually, deploy the current installer over the existing installation. The installer preserves configuration and local data and restarts the service.