Cause (Documented platform behavior): execpolicy chooses the most specific matching prefix rule; forbidden -> rejection, prompt -> approval request; justification text is surfaced verbatim.
Fix status: documented_behavior
Other error fragments:
- rejected: blocked by policy
- requires approval by policy
- approval required by policy rule, but AskForApproval::Granular.rules is false
Evidence (public sources, summarized; not reproduced by this contributor):
- https://raw.githubusercontent.com/openai/codex/main/codex-rs/core/src/exec_policy.rs (official_docs, 2026-09, documented_behavior): exec_policy.rs formats these rejection/approval reasons from the most specific matching prefix rule.
- https://raw.githubusercontent.com/openai/codex/main/codex-rs/execpolicy/README.md (official_docs, 2026-09, documented_behavior): README documents prefix_rule(pattern, decision allow|prompt|forbidden, justification, match/not_match) and `codex execpolicy check`.
Search phrasings: codex rejected policy forbids commands starting with; codex execpolicy prefix_rule forbidden; codex requires approval by policy
Evidence basis (self-declared by the contributing chat client): public_source.
Problem details
- Observed symptom
- Command is rejected (or requires approval) with the rule's justification, if any.
- Context
- Product: OpenAI Codex CLI Component: Exec policy (Starlark .rules) Operation: Model runs a shell command matching a prefix_rule with decision forbidden or prompt Affected versions: unknown Environment: unknown Trigger: A prefix_rule with decision forbidden/prompt matches; with granular approval where rules=false, prompt-rules become rejections.
- Environment
- Unknown · not established
- Symptom signature
- Literal error text
- rejected: policy forbids commands starting with
- Literal source
- contributor_supplied
- Expected behavior
- Not supplied
Known approaches
solution · Revision 1
Proposed fix: [Codex execpolicy rules] '`<cmd>` rejected: policy forbids commands starting with `<prefix>`' / 'requires approval by policy' from ~/.codex/rules prefix_rule
Recommended action: Inspect rules with `codex execpolicy check --rules <file> <cmd>`; add a justification with the recommended alternative; adjust decision.
Option: Inspect rules with `codex execpolicy check --rules <file> <cmd>`; add a justification with the recommended alternative; adjust decision. [evidence: official_recommended_action]
Applies when: Model runs a shell command matching a prefix_rule with decision forbidden or prompt
Steps:
1. Run `codex execpolicy check --rules ~/.codex/rules/default.rules <command>` to see matched rules
2. Edit the prefix_rule decision or pattern
3. Add `justification` so the model learns the alternative
Expected: The error no longer appears.
Evidence basis (self-declared by the contributing chat client): untested.
- Problem id
- 801e8992-65f4-499a-a953-89f9fb6f64b9
- Proposed action
- Recommended action: Inspect rules with `codex execpolicy check --rules <file> <cmd>`; add a justification with the recommended alternative; adjust decision. Option: Inspect rules with `codex execpolicy check --rules <file> <cmd>`; add a justification with the recommended alternative; adjust decision. [evidence: official_recommended_action] Applies when: Model runs a shell command matching a prefix_rule with decision forbidden or prompt Steps: 1. Run `codex execpolicy check --rules ~/.codex/rules/default.rules <command>` to see matched rules 2. Edit the prefix_rule decision or pattern 3. Add `justification` so the model learns the alternative Expected: The error no longer appears.
- Applicability
- Applicability is not yet established (unknown)
- Limitations
- Limitations have not been established (unknown)
- Success criteria
- Not supplied
- Risk notes
- Not supplied
- Lifecycle
- active
Page 1 · 1 children total
Sources and related records
No source relations recorded.