Running the installer as root writes to system-level paths that apply to all users on the machine and take precedence over any user-level configuration:Documentation Index
Fetch the complete documentation index at: https://www.osohq.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
| Component | Deployment method |
|---|---|
| Claude Code | File: /Library/Application Support/ClaudeCode/managed-settings.json |
| Cursor | File: /Library/Application Support/Cursor/hooks.json |
| Codex | File: /etc/codex/managed_config.toml |
| Chrome | File: /Library/Application Support/Google/Chrome/policies/managed/oso.json |
| Claude Desktop Plugin | Manual upload (see below) |
Claude Desktop Plugin
The Claude Desktop Plugin cannot be deployed via a managed file path. Instead, it must be built and uploaded as an enterprise plugin through the Claude Desktop UI. How it works: When the installer runs and Claude Desktop Plugin is selected, it packages a.plugin file at /tmp/oso.plugin. The plugin contains:
.claude-plugin/plugin.json(plugin metadata)hooks/hooks.json(hook configuration that invokesoso-hookon every session event)
- Run the installer on any machine to produce the plugin package:
- Open Claude Desktop → Customize → Plugins.
- Upload
/tmp/oso.pluginas an enterprise plugin. - Mark the default access as
Requiredto force install for all users.
Claude Code
The installer writes Oso hooks to/Library/Application Support/ClaudeCode/managed-settings.json, which Claude Code reads as managed policy on every device. This is the standard deployment path and works for most organizations.
If your organization uses claude.ai server-managed settings
If your organization manages Claude Code settings centrally through claude.ai → Settings → Claude Code, you should add the Oso hooks there instead of relying on the localmanaged-settings.json.
The install script must still run on every device to install the oso-hook binary and register the device with Oso.
After running the installer, add the following to your organization’s claude.ai managed settings: