ocx profile, with alias ocx p. All profile subcommands support --json and operate in the global OCX profile store; they do not take --global or --project.
Create
Use
--clone or --source, not both. With neither, OCX writes starter ocx.jsonc, opencode.jsonc, and AGENTS.md files. Creation fails if the destination name already exists.
A recipe resolves sources from global metadata. Without --from, configure its alias first:
node_modules, .git, .cache, and .locks directories and rejects symlinks or special files. It does not establish ongoing synchronization between profiles.
List and inspect
list reports profile names and the configured default. show returns JSON containing the name, OCX metadata, native config if present, and whether AGENTS.md exists. It does not report a fully resolved OpenCode configuration.
With no name, show uses the same selection as launch: OCX_PROFILE, then the configured global default. An unknown or unset selection is an error.
Select a default
use records an explicit default in global OCX metadata. An explicit launch option or OCX_PROFILE takes precedence. Clearing the default leaves those other selection methods available.
Rename
OCX_PROFILE names the old profile, update or unset that variable yourself; a child process cannot change its parent shell.
See interrupted rename recovery if a process exits between the directory move and default update.