nono profile command lets you inspect the group-based security policy, explore profiles, compare configurations, and validate user-defined profiles. Every subcommand supports --json for programmatic consumption.
Previously known asnono policy. Thenono policy <sub>namespace still works as a deprecated alias — it prints a warning on stderr and dispatches to the new command. Removal is tracked in upstream issue #594.
Commands
nono profile groups
List all policy groups or show details for a specific group.
Options
nono profile list
List all available profiles, showing preset, pack-provided, and user-defined profiles separately. User profiles that shadow a preset or pack profile are flagged.
Load precedence is user-first. If a user profile file exists at
~/.config/nono/profiles/claude-code.json, it shadows the pack-provided claude-code profile. The profiles command reports the actual source in JSON output, and lists the profile under the User section.Options
nono profile show
Display a fully resolved profile, including all inherited groups, filesystem grants, network configuration, hooks, and rollback settings.
--raw flag shows path variables as written in the profile (e.g., $HOME/.claude) rather than their expanded values. This is useful for understanding what a profile declares versus what it resolves to on a specific machine.
Options
nono profile diff
Compare two profiles side-by-side. Shows additions, removals, and changes across all profile sections: groups, filesystem, policy patches, security settings, network, hooks, rollback, open URLs, env credentials, and custom credentials.
upstream URL or inject_mode):
(no differences).
Options
nono profile validate
Validate a user profile JSON file against the embedded policy. Catches common mistakes before they cause runtime failures.
Example output for a valid profile:
Options
JSON Output
All subcommands support--json for integration with scripts, CI pipelines, and tools like jq.