Harness AI DLC Agent
The Harness AI DLC Agent is a lightweight, user-space daemon installed on developer workstations to collect telemetry data from AI coding tools such as Claude Code, Cursor, and GitHub Copilot. It correlates this telemetry with git activity and transmits it to the AI Engineering Insights dashboard, where engineering leaders can measure AI coding tool adoption, optimize token spend, and quantify the impact of AI on software delivery.
The AI Engineering dashboard displaying metrics such as session tracking, token spend, commit attribution, ship rate, and error rate.
Supported coding agents
The following coding agents/tools are supported for the Harness AI DLC Agent to capture usage and session level telemetry data.
- Claude Code
- Claude Code via Bedrock/Vertex/other Cloud vendors
- Claude Code CLI
- GitHub Copilot
- Copilot CLI
- Copilot on any IDE (Agent mode only)
Scope of data collection
| Always collected (metadata) | Configurable (off by default) | Never collected |
|---|---|---|
| Token counts (input, output, cache) | Prompt content | Code content or file contents |
| Tool usage events and session durations | AI response content | Credentials or secrets |
| AI vs. human line attribution counts | ||
| Cost estimates | ||
| Session details (tool, duration, timestamps) |
Prompt and AI response collection is disabled by default. An administrator can enable it during MDM deployment. When disabled, only metadata (token counts, tool usage, attribution) is transmitted.
Security
Individual developers do not need to take action beyond having the agent installed and running, which is handled via MDM deployment (IT/EngOps owned). The agent runs in the background and captures signals from AI coding tool activity.
Go to Data Security to review the full list of collected data types and security controls.
Prerequisites
- Operating system: macOS 12+ (Monterey or later), Intel or Apple Silicon. Windows support is coming soon.
- Privileges: Standard user account. No admin or root required for operation.
- Network: Outbound HTTPS to
*.harness.ioon port 443. - Harness account: Active Harness account with the AI Engineering Insights module enabled.
- Role: You must be an Account Admin in Harness to generate a scoped service token.
Install the agent
Step 1: Generate an API token
-
Sign in to your Harness account and navigate to the Engineering Insights module.

-
On the AI Engineering tab, select Download Agent to open the setup panel.

-
In the setup panel, select Generate PAT. This token is scoped to your organization and limits the agent to telemetry-write operations only.

-
Copy the token and store it securely. You need it for the installation script in Step 3.

Step 2: Download the agent binary
-
In the setup panel, select the download option for the operating system used by developers in your organization. The agent is distributed as a signed, versioned binary for macOS (arm64 and x64).

-
Once the download is complete, click Close to dismiss the setup panel.

-
After a successful installation, navigate to the AI Engineering section under Integrations. The Harness AI DLC Agent will show a ● Connected status.

Step 3: Update the installation script
-
Unzip the downloaded package. The folder contains two files: the agent binary and the installation script (
harness-aidlc-agent-macos-arm64-install.sh). -
Open the installation script and set the token from Step 1 as the value of
SEI_SERVICE_TOKEN.
-
Save the script.
Step 4: Install the agent
- Deploy via MDM
- Manual installation
Organization administrators distribute the agent to developer machines using MDM (Mobile Device Management).
- Zip the binary and the updated installation script from Step 3.
- Push the
.zippackage to developer machines. - Create a post-install script (see below) to locate and execute the installation script automatically from the extracted zip.
- Initialize the binary installation using the installation script. The post-install script runs the installation script, which verifies the binary, stores the token in the macOS Keychain, writes configuration, places the binary, registers the LaunchAgent, and starts the daemon.
Post-install script for MDM zip deployment: When installing from a .zip file via MDM, you need a post-install script to locate and execute the installation script automatically. Save the following as your post-install script in your MDM configuration:
#!/bin/bash
# 1. Define the location where the zip is extracted
BASE_DIR="<location-where-zip-is-pushed>"
INSTALL_SCRIPT="$BASE_DIR/harness-aidlc-agent-macos-arm64-install.sh"
# 2. Check if the script exists
if [[ -f "$INSTALL_SCRIPT" ]]; then
echo "Found install script at $INSTALL_SCRIPT. Executing now..."
# 3. Make the script executable
chmod +x "$INSTALL_SCRIPT"
# 4. Execute the script
"$INSTALL_SCRIPT"
# 5. Capture the exit status
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
echo "Installation script finished successfully."
exit 0
else
echo "Installation script failed with error code $EXIT_CODE."
exit "$EXIT_CODE"
fi
else
echo "Error: Installation script not found at $INSTALL_SCRIPT"
exit 1
fi
Replace <location-where-zip-is-pushed> with the actual path where your MDM tool extracts the zip package on developer machines.
Use manual installation for individual developer machines or to test the agent before a broader MDM rollout.
-
Complete Steps 1–3 above.
-
Run the updated installation script:
sudo bash harness-aidlc-agent-macos-arm64-install.sh
Once the script completes, the agent begins collecting telemetry in the background.
Deployment artifacts
| Artifact | Location | Purpose |
|---|---|---|
| Binary | /usr/local/bin/harness-aidlc-agent | Daemon executable. |
| LaunchAgent | ~/Library/LaunchAgents/com.harness.aidlc-agent.plist | Starts the agent automatically on user login. |
| Configuration | ~/.harness-aidlc-agent/config.json | Stores the endpoint and integration ID. |
| Telemetry cache | ~/.harness-aidlc-agent/telemetry/ | Local queue for telemetry data before upload. |
| Audit log | ~/.harness-aidlc-agent/send.log | Records telemetry transmission activity. |
| IPC socket | ~/.harness-aidlc-agent/socket | Inter-process communication with 0600 permissions. |
| Git hooks | .git/hooks/post-commit | Per-repository attribution triggered on commit events. |
| Keychain entries | macOS System Keychain | Stores the API key securely. |
Verify the installation
With direct machine access
Run the following command to confirm the agent binary is installed and check its version:
harness-aidlc-agent version
This returns the version string of the installed binary. To confirm the daemon is running:
launchctl list | grep harness.aidlc
A line with com.harness.aidlc-agent and a process ID confirms the daemon is active. A 0 exit status in the second column indicates the agent started successfully.
To view recent telemetry activity, check the audit log:
tail -20 ~/.harness-aidlc-agent/send.log
Without direct machine access
-
From the Integrations page, click Back to Project in the top-left corner of the sidebar.

-
Navigate to the AI Engineering tab and click Diagnostics. The Diagnostics page lists all developers for whom the agent was installed successfully, along with the installed version and last session time.

Collected data is processed every 15 minutes, so allow up to 15 minutes after installation before expecting the developer to appear.
Troubleshooting
A developer is missing from the AI Engineering dashboard
Verify the agent is installed on their machine by running launchctl list | grep harness.aidlc. Check the Last session timestamp in the Developer Installations table. Note that data is processed every 15 minutes, so allow up to 15 minutes after a new installation or session before the developer appears. If the agent has not reported in, reinstall using the MDM package.
A developer appears in the dashboard but shows no AI activity
The agent is running but has not detected any AI coding tool sessions. Confirm the developer has an active AI coding tool (such as Claude Code or Cursor) installed and has used it within the selected time range.
The agent is installed but launchctl shows no process
The LaunchAgent may not have loaded. Run the following command to start it manually:
launchctl load ~/Library/LaunchAgents/com.harness.aidlc-agent.plist
If the plist file does not exist, reinstall the agent via MDM.
Telemetry data is not appearing in the dashboard
Check network connectivity to *.harness.io on port 443. Review ~/.harness-aidlc-agent/send.log for transmission errors. The agent queues data locally in ~/.harness-aidlc-agent/telemetry/ when the network is unavailable and retries automatically when connectivity is restored.