openclaw/openclaw · error · CodexSupervisionPolicyError
Codex supervision compatibility tools require an owner-autho
Error message
Codex supervision compatibility tools require an owner-authorized sender.
What it means
Thrown as a CodexSupervisionPolicyError by requireOwnerAccess when senderIsOwner is false. Only the trusted owner may use supervision tools because they expose raw transcripts and write controls. requireOwnerAccess runs before any tool work in requireLiveToolPolicy.
Source
Thrown at extensions/codex/src/supervision-tools.ts:909
return sanitized;
}),
errors: includeTranscriptDerivedFields
? redactCodexSupervisionValue(result.errors)
: result.errors.map(({ endpointId, ok }) => ({ endpointId, ok })),
};
}
function requireSupervisionEnabled(pluginConfig: unknown): void {
if (readCodexPluginConfig(pluginConfig).supervision?.enabled !== true) {
throw new CodexSupervisionPolicyError(
"Codex supervision is disabled in the codex plugin config.",
);
}
}
function requireOwnerAccess(options: CodexSupervisionToolsOptions): void {
if (!options.senderIsOwner) {
throw new CodexSupervisionPolicyError(
"Codex supervision compatibility tools require an owner-authorized sender.",
);
}
}
function resolveToolPolicy(
options: CodexSupervisionToolsOptions,
pluginConfig: unknown,
): {
allowRawTranscripts: boolean;
allowWriteControls: boolean;
} {
const config = readCodexPluginConfig(pluginConfig).supervision;
const env = options.env ?? process.env;
return {
allowRawTranscripts:
config?.allowRawTranscripts === true ||
(options.useLegacyMcpPolicyEnv === true &&View on GitHub (pinned to 01804a7531)
Solutions
- Ensure the tool context sets senderIsOwner:true only for the owner identity.
- Run the tools from an owner-authorized session.
- Do not install/expose supervision tools on non-owner channels.
Example fix
// before
createCodexSupervisionTools({ ..., senderIsOwner: false })
// after
createCodexSupervisionTools({ ..., senderIsOwner: true }) Defensive patterns
Strategy: validation
Validate before calling
if (!options.senderIsOwner) {
return []; // do not install supervision tools for non-owner contexts
} Prevention
- Gate tool installation on senderIsOwner at factory time; return an empty tool list for non-owner contexts.
- Do not propagate supervision tools to non-owner channels.
- Run the tools only from owner-authorized sessions.
When it happens
Trigger: A non-owner sender (or a plugin tool context that did not receive senderIsOwner:true) triggers any supervision tool.
Common situations: Plugin tool context not propagating the owner bit; invoking the tools from a non-owner session or channel; factory wiring mistake.
Related errors
- Codex session reads are disabled for this codex plugin super
- Codex thread ${params.threadId} did not expose admitted apps
- Scheduled Codex apps are unavailable under the current polic
- continuing a paired-node Codex session requires operator.adm
- Codex supervision is disabled in the codex plugin config.
AI-assisted analysis of openclaw/openclaw@01804a7531 (2026-08-12).
Data as JSON: /api/errors/aed4103a4f260deb.
Report an issue: GitHub.