affaan-m/ECC · error · Error
Codex CLI is not installed
Error message
Codex CLI is not installed
What it means
Thrown by probeCodex when spawning the codex binary for the version/features probe fails with ENOENT — the Codex CLI executable is not on PATH. The reviewer cannot run without the external CLI installed.
Solutions
- Install or pin the required tool version stated in the message, then retry.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Triggered when review-with-codex.js rejects the current invocation: Codex CLI is not installed
Common situations: Occurs while running skills/council-multi-model/scripts/review-with-codex.js with invalid arguments, missing flags, or a failing external dependency; the guard at skills/council-multi-model/scripts/review-with-codex.js:119 aborts the command with this message.
AI-assisted analysis of affaan-m/ECC@06c5e118c4 (2026-08-18).
Data as JSON: /api/errors/108b8118b2fcf919.
Report an issue: GitHub.
Appendix: source
Thrown at skills/council-multi-model/scripts/review-with-codex.js:119
'--ignore-rules',
'--strict-config',
'--skip-git-repo-check',
'--sandbox', 'read-only',
'--cd', tempDir,
'--color', 'never',
'--config', 'shell_environment_policy.inherit="none"',
'--config', 'skills.include_instructions=false',
'--config', 'web_search="disabled"',
'--config', 'mcp_servers={}',
'--output-last-message', outputFile,
'-',
];
}
function probeCodex(spawn, args, options, label) {
const result = spawn('codex', args, options);
if (result.error) {
if (result.error.code === 'ENOENT') throw new Error('Codex CLI is not installed');
throw new Error(`Codex ${label} probe failed: ${result.error.message}`);
}
if (result.status !== 0) {
const detail = (result.stderr || '').trim().split('\n').slice(-1)[0];
throw new Error(`Codex ${label} probe failed${detail ? `: ${detail}` : ''}`);
}
return (result.stdout || '').trim();
}
function verifyToollessSupport(dependencies = {}) {
const spawn = dependencies.spawnSync || spawnSync;
const options = {
cwd: os.tmpdir(),
env: buildEnvironment(dependencies.env || process.env),
encoding: 'utf8',
timeout: 5_000,
maxBuffer: 256 * 1024,
windowsHide: true,View on GitHub (pinned to 06c5e118c4)