Skip to main content
explain shows, step by step, how CC Safety Net analyzes a command. Use it to learn why a command is blocked or allowed, or how a custom rule applies.

explain options

See the Explain trace reference for the --json schema, the ExplainResult fields, and every TraceStep variant.

Explain a command that starts with a dash

-- ends option parsing, and everything after it is the command. So explain -- --help explains the literal command --help instead of printing help. Quote the command as one argument to keep shell operators such as | and && in it.

explain exit code

explain exits 0 for both blocked and allowed results, so read the result field instead of the exit code. It exits 1 on an option error, such as an unknown option or a --cwd path that does not exist, and on a command it refuses to analyze.

Commands explain refuses to analyze

explain refuses a command that exceeds CC Safety Net’s analysis limits, or whose syntax the parser rejects, such as echo ${. It exits 1 with a one-line error. With --json, stdout holds only an error object:
When an agent runs such a command, CC Safety Net blocks it with a fixed denial id.

Sharing explain output

Explain output can contain your command, its tokens, and absolute paths, including your home directory. Read Before you share a trace first.
Last modified on October 22, 2026