Skip to content

Installation Scopes

Claude Code installs plugins at one of three scopes. That single choice also decides where Prism writes your telemetry settings — /prism:setup detects the scope the plugin is in and writes only that scope’s settings file. There is nothing to choose twice.

ScopeSettings fileShared with team
user~/.claude/settings.jsonNo (default)
project.claude/settings.jsonYes (commit to git)
local.claude/settings.local.jsonNo (gitignored)
Terminal window
/plugin install prism@optra-prism --scope project

Valid values: user (default), project, local. You can also use /pluginDiscover and pick a scope interactively.

Telemetry only works if a set of OTEL_* environment variables is present when Claude Code starts — one of them embeds your prism_* key in OTEL_EXPORTER_OTLP_HEADERS. Claude Code reads those from a settings file’s "env" block at process launch.

/prism:setup writes them into the settings file for the scope the plugin was installed in. Install at user scope and telemetry follows you into every project; install at project or local and it stays with that repository.

Terminal window
/prism:status

It reports the scope in effect and which settings file holds the OTEL vars. If it reports both, two scopes are competing and only one wins depending on where you launch Claude Code — remove the vars from the one you don’t want.

Claude Code has no “move” command, so reinstall at the scope you want:

Terminal window
/plugin uninstall prism@optra-prism --scope user
/plugin install prism@optra-prism --scope project

Then run /prism:setup prism_YOUR_KEY again so the settings land in the new scope. Restart Claude Code afterwards.

Commit the plugin registration at project scope so everyone who clones the repo gets Prism enabled:

{
"extraKnownMarketplaces": {
"optra-prism": {
"source": { "source": "github", "repo": "grumatic/optra-prism-plugin" }
}
},
"enabledPlugins": {
"prism@optra-prism": true
}
}

Each user then runs /prism:setup prism_THEIR_KEY on their own machine. The repository says “Prism is enabled here”; nobody’s key is ever committed.