Deploy Claude Code with Developer Claude login

This guide is for IT admins deploying Claude Code on employee Macs, Windows machines, and Linux machines, where employees sign in to Claude Code with their own Claude account (Pro, Max, Team, or Enterprise) — what Anthropic calls subscription login, and what we refer to here as Developer Claude login. The managed settings in this guide route Claude Code API traffic through Chompute so usage is attributed and governed; no Anthropic API key is distributed to employees.

By the end of this guide, Claude Code on every managed machine will send its API requests to the Chompute gateway with team attribution headers, while employees continue to authenticate normally through claude /login.

Prerequisites

Complete the following before pushing managed settings to employee machines. The first three are one-time setup in the Chompute admin console.

  1. Create the Claude Code tool in the Chompute AI Control Plane (Tools → New tool → Claude Code).
  2. Configure the provider attached to the Claude Code tool for Developer Claude login. This tells Chompute to expect requests authenticated by an employee’s Claude subscription, not by an Anthropic API key.
  3. Create a Chompute Access Key (Tools → Claude Code → Access keys → New). Save it; you will paste it into the JSON below.
  4. Decide the team value you want to attribute usage to (e.g. engineering, design, marketing). You can pick any name, and you can deploy different MDM profiles to different fleets so each machine carries the team it belongs to.
  5. Confirm Claude Code is installed on the target machines. See the Anthropic Claude Code setup guide.

Configuration

Claude Code reads its managed settings from a JSON file written by your MDM. The same JSON payload is used on macOS, Windows, and Linux — only the file path and delivery method change.

managed-settings.json
01{02  "env": {03    "ANTHROPIC_BASE_URL": "https://chompute-services.dragonfruit.ai/ai-gateway",04    "ANTHROPIC_CUSTOM_HEADERS": "X-Chompute-Access-Key: <CHOMPUTE_ACCESS_KEY>\nX-Chompute-Team: <TEAM>\nX-Chompute-Tool: Claude Code"05  }06}

Replace the angle-bracketed placeholders:

PlaceholderWhat to putExample
<CHOMPUTE_ACCESS_KEY>The access key you created in Chompute for the Claude Code tool.dfak_5a770f2a40c2…
<TEAM>Whatever team name you configure here gets captured and shown in Chompute Insights for attribution.engineering
Note

X-Chompute-Tool: Claude Code is a literal value, not a placeholder. Leave it exactly as shown — including the space.

Warning

Do not set ANTHROPIC_API_KEY in this JSON or anywhere on the machine. In Developer Claude login mode, employees authenticate with their Claude subscription via /login. An API key would take precedence over the subscription and break attribution.

Deploy with MDM

Push the same JSON payload to every employee machine via your MDM. Pick your platform below.

On macOS, Claude Code reads managed settings from /Library/Application Support/ClaudeCode/managed-settings.json. Push the JSON as the contents of that file via your MDM.

Jamf Pro

  1. Computers → Configuration Profiles → New → Application & Custom Settings.
  2. Preference Domain: com.anthropic.claudecode.
  3. Paste the JSON payload above into the property list editor (Jamf converts it to plist for delivery).
  4. Scope the profile to a small pilot group first, then expand to the fleet.

Other MDMs

For Intune, Kandji, Mosyle, or Workspace ONE: deliver the payload as a Custom Configuration Profile / Managed Preferences payload for domain com.anthropic.claudecode. Refer to your MDM docs for exact UI; the payload shape is the same.

Confirm the profile installed

On the target Mac, run:

terminal · macOS
$profiles status -type configuration | grep -i claudecode

Test locally

Before scoping the MDM profile to the fleet, validate the payload on one machine you control. This catches typos in the JSON and confirms Claude Code is actually reading the file.

Open Terminal and write the file (requires admin password):

terminal · macOS
$sudo mkdir -p "/Library/Application Support/ClaudeCode"$sudo tee "/Library/Application Support/ClaudeCode/managed-settings.json" > /dev/null <<'EOF'${$  "env": {$    "ANTHROPIC_BASE_URL": "https://chompute-services.dragonfruit.ai/ai-gateway",$    "ANTHROPIC_CUSTOM_HEADERS": "X-Chompute-Access-Key: <CHOMPUTE_ACCESS_KEY>\nX-Chompute-Team: <TEAM>\nX-Chompute-Tool: Claude Code"$  }$}$EOF

Then validate the JSON parses and launch Claude Code:

terminal · macOS
$python3 -m json.tool "/Library/Application Support/ClaudeCode/managed-settings.json"$claude
Note

If the JSON is malformed, Claude Code silently ignores the managed settings and falls back to talking to Anthropic directly. Always run the validator step above before checking /status.

Validate the rollout

On a machine with the managed settings installed, run the following to confirm Claude Code is talking to Chompute and that usage is attributed to the right team.

  1. Quit and relaunch Claude Code so it re-reads managed settings.
  2. Inside Claude Code, type /status. Confirm the output shows the managed base URL and headers:
    claude /status
    $Auth: subscription (logged in)$API: https://chompute-services.dragonfruit.ai/ai-gateway  ← managed$Headers: X-Chompute-Access-Key, X-Chompute-Team, X-Chompute-Tool  ← managed
  3. Send a test prompt to confirm the round trip works:
    terminal
    $claude -p "Reply with the single word: chompute"
  4. Open the Insights tab in Chompute. You should see the test request, attributed to the team value from your JSON. Ingestion can take a few minutes — if the request isn’t visible yet, wait a moment and reload.

FAQ

What if Claude Code still calls Anthropic directly?

The managed profile probably didn’t install, or Claude Code was already running when it landed. Confirm the file exists at the path for your platform, then fully quit and relaunch Claude Code. On macOS, run profiles status -type configuration to confirm the profile is applied.

What if Chompute returns an authorization error?

Confirm X-Chompute-Access-Key is present in the custom headers and that the key belongs to the Claude Code tool in Chompute (not a different tool). Access keys are scoped per-tool.

What if usage appears without team attribution?

Confirm X-Chompute-Team is present in ANTHROPIC_CUSTOM_HEADERS and matches an existing team slug in Chompute (case-sensitive). Unrecognized teams fall back to Unassigned.

What if Claude Code asks the employee to log in?

That is expected for Developer Claude login. Employees sign in once with their Claude subscription; the managed settings only route the API traffic. Do not add ANTHROPIC_API_KEY to fix this — it would override the subscription and break attribution.

Does Claude Code silently ignore a bad JSON file?

Yes — JSON parse failures cause Claude Code to silently fall back to direct Anthropic access. Always validate the file with the parser step in Test locally before relying on /status to tell you it’s working.