{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Jamf Pro Distribution (macOS)","description":"Control the power of AI Agents in runtime.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"jamf-pro-distribution-macos","__idx":0},"children":["Jamf Pro Distribution (macOS)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deploy Capsule Security hooks for AI coding assistants across your macOS fleet using Jamf Pro. This guide covers deployment for Cursor, GitHub Copilot, and Claude Code using Jamf Composer to create packages with preinstall scripts."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Jamf Pro"]}," console with administrative access"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://app.jamfnow.com/account/composer"},"children":["Jamf Composer"]}]}," installed on your Mac"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Capsule Security"]}," account with admin access"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Target devices running macOS"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"cursor","__idx":2},"children":["Cursor"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deploy the Cursor hooks configuration using a Jamf Composer package."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-download-the-configuration","__idx":3},"children":["Step 1: Download the Configuration"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Log in to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Capsule Security"]}," portal"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Integrations"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Locate the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Cursor"]}," integration"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Download the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hooks.json"]}," file"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-create-the-package","__idx":4},"children":["Step 2: Create the Package"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://app.jamfnow.com/account/composer"},"children":["Jamf Composer"]}]}," on your Mac"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a new package source:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open Finder and create the directory structure locally: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/Library/Application Support/Cursor/"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Place the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hooks.json"]}," file inside this directory"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Important"]},": Composer captures the exact file structure, so the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hooks.json"]}," file must already be in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/Library/Application Support/Cursor/"]}," before dragging into Composer"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Drag only the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Cursor"]}," folder directly into Composer's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sources"]}," panel on the left sidebar"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure the package destination:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the left sidebar, right-click on the newly created package source"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit Package"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Package Settings"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the destination is set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/"]}," (root) so files install to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/Library/Application Support/Cursor/"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preinstall Script"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Expand the Package under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sources"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Right-click on ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scripts"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add Shell Script > preinstall"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paste the following script:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"#!/bin/bash\nmkdir -p \"/Library/Application Support/Cursor\"\nchmod 755 \"/Library/Application Support/Cursor\"\nexit 0\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Build the package:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Build as PKG"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Save as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CapsuleCursorHooks.pkg"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3-upload-and-deploy","__idx":5},"children":["Step 3: Upload and Deploy"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Log in to your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Jamf Pro"]}," console"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Computer Management > Packages"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New"]}," and upload the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".pkg"]}," file"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Policy"]},":",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Computers > Policies"]}," and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]},": Deploy Capsule Security Cursor Hooks"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Trigger"]},": Recurring Check-in"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Execution Frequency"]},": Once per computer"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Packages"]},", click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configure"]},", add the package, and set ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Action"]}," to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Install"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Configure the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scope"]},": add target computers, groups, or departments"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Save and deploy"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"verification","__idx":6},"children":["Verification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After deployment, restart Cursor on target devices, then:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open Cursor Settings"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hooks"]}," tab"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the hooks are listed and enabled"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"github-copilot","__idx":7},"children":["GitHub Copilot"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deploy the GitHub Copilot hooks configuration using a Jamf Composer package."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-download-the-configuration-1","__idx":8},"children":["Step 1: Download the Configuration"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Log in to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Capsule Security"]}," portal"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Integrations"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Locate the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["GitHub Copilot"]}," integration"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Download the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hooks.json"]}," file"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-create-the-package-1","__idx":9},"children":["Step 2: Create the Package"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://app.jamfnow.com/account/composer"},"children":["Jamf Composer"]}]}," on your Mac"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a new package source:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open Finder and create the directory structure locally: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/Library/Application Support/Code/User/hooks/"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Place the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hooks.json"]}," file inside this directory"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Drag only the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hooks"]}," folder directly into Composer's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sources"]}," panel on the left sidebar"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure the package destination:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the left sidebar, right-click on the newly created package source"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit Package"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Package Settings"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the destination is set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/"]}," (root) so files install to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/Library/Application Support/Code/User/hooks/"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preinstall Script"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Expand the Package under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sources"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Right-click on ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scripts"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add Shell Script > preinstall"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paste the following script:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"#!/bin/bash\nmkdir -p \"/Library/Application Support/Code/User/hooks\"\nchmod 755 \"/Library/Application Support/Code/User/hooks\"\nexit 0\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Build the package:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Build as PKG"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Save as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CapsuleCopilotHooks.pkg"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3-upload-and-deploy-1","__idx":10},"children":["Step 3: Upload and Deploy"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Log in to your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Jamf Pro"]}," console"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Computer Management > Packages"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New"]}," and upload the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".pkg"]}," file"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Policy"]},":",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Computers > Policies"]}," and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]},": Deploy Capsule Security GitHub Copilot Hooks"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Trigger"]},": Recurring Check-in"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Execution Frequency"]},": Once per computer"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Packages"]},", click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configure"]},", add the package, and set ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Action"]}," to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Install"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Configure the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scope"]},": add target computers, groups, or departments"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Save and deploy"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"verification-1","__idx":11},"children":["Verification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After deployment, restart VS Code on target devices, then:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Right-click in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Chat"]}," view and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Diagnostics"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the hooks are loaded and enabled"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"claude-code","__idx":12},"children":["Claude Code"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deploy the Claude Code managed settings configuration using a Jamf Composer package."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-download-the-configuration-2","__idx":13},"children":["Step 1: Download the Configuration"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Log in to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Capsule Security"]}," portal"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Integrations"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Locate the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Claude Code"]}," integration"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Install"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["macOS"]}," as the target platform"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Download the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["managed-settings.json"]}," file"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-create-the-package-2","__idx":14},"children":["Step 2: Create the Package"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://app.jamfnow.com/account/composer"},"children":["Jamf Composer"]}]}," on your Mac"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a new package source:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open Finder and create the directory structure locally: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/Library/Application Support/ClaudeCode/"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Place the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["managed-settings.json"]}," file inside this directory"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Drag only the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ClaudeCode"]}," folder directly into Composer's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sources"]}," panel on the left sidebar"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure the package destination:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the left sidebar, right-click on the newly created package source"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit Package"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Package Settings"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the destination is set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/"]}," (root) so files install to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/Library/Application Support/ClaudeCode/"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preinstall Script"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Expand the Package under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sources"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Right-click on ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scripts"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add Shell Script > preinstall"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paste the following script:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"#!/bin/bash\nmkdir -p \"/Library/Application Support/ClaudeCode\"\nchmod 755 \"/Library/Application Support/ClaudeCode\"\nexit 0\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Build the package:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Build as PKG"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Save as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CapsuleClaudeCodeHooks.pkg"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3-upload-and-deploy-2","__idx":15},"children":["Step 3: Upload and Deploy"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Log in to your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Jamf Pro"]}," console"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings > Computer Management > Packages"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New"]}," and upload the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".pkg"]}," file"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Policy"]},":",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Computers > Policies"]}," and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]},": Deploy Capsule Security Claude Code Hooks"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Trigger"]},": Recurring Check-in"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Execution Frequency"]},": Once per computer"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Packages"]},", click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configure"]},", add the package, and set ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Action"]}," to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Install"]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Configure the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scope"]},": add target computers, groups, or departments"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Save and deploy"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"verification-2","__idx":16},"children":["Verification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After deployment, restart Claude Code on target devices, then:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Run ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/hooks"]}," in Claude Code to confirm all hooks are listed"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Start a session and verify events appear in the Capsule Security portal"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"key-considerations","__idx":17},"children":["Key Considerations"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Preinstall scripts ensure target directories exist with proper permissions before file deployment"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Packages must be in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".pkg"]}," format to support preinstall scripts"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To update configurations, create a new package version and update the policy"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use Jamf Smart Groups for dynamic targeting and staged rollouts"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["All three integrations can be deployed as separate packages and policies, assigned independently"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Restart each application on target devices after deployment for hooks to take effect"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"support","__idx":18},"children":["Support"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For help with deployment:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Email"]},": support@capsule.security"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include"]},": Your organization ID, Jamf Pro environment details, and any error messages"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"references","__idx":19},"children":["References"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.jamf.com/composer/10.25.0/user-guide/Creating_Package_Sources.html"},"children":["Jamf Composer User Guide - Creating Package Sources"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.jamf.com/composer/10.25.0/user-guide/Building_Packages_from_Package_Sources.html"},"children":["Jamf Composer User Guide - Building Packages"]}]}]}]},"headings":[{"value":"Jamf Pro Distribution (macOS)","id":"jamf-pro-distribution-macos","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Cursor","id":"cursor","depth":2},{"value":"Step 1: Download the Configuration","id":"step-1-download-the-configuration","depth":3},{"value":"Step 2: Create the Package","id":"step-2-create-the-package","depth":3},{"value":"Step 3: Upload and Deploy","id":"step-3-upload-and-deploy","depth":3},{"value":"Verification","id":"verification","depth":3},{"value":"GitHub Copilot","id":"github-copilot","depth":2},{"value":"Step 1: Download the Configuration","id":"step-1-download-the-configuration-1","depth":3},{"value":"Step 2: Create the Package","id":"step-2-create-the-package-1","depth":3},{"value":"Step 3: Upload and Deploy","id":"step-3-upload-and-deploy-1","depth":3},{"value":"Verification","id":"verification-1","depth":3},{"value":"Claude Code","id":"claude-code","depth":2},{"value":"Step 1: Download the Configuration","id":"step-1-download-the-configuration-2","depth":3},{"value":"Step 2: Create the Package","id":"step-2-create-the-package-2","depth":3},{"value":"Step 3: Upload and Deploy","id":"step-3-upload-and-deploy-2","depth":3},{"value":"Verification","id":"verification-2","depth":3},{"value":"Key Considerations","id":"key-considerations","depth":2},{"value":"Support","id":"support","depth":2},{"value":"References","id":"references","depth":2}],"frontmatter":{"seo":{"title":"Jamf Pro Distribution (macOS)"}},"lastModified":"2026-03-18T17:35:58.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/mdm-jamf","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}