Different vocabulary, same dial
Every CLI ships a permission/sandbox model. The terminology drifts; the dial is the same. Claude Code: rule-based allow/ask/deny per tool spec, evaluated deny-first. Codex: approval modes (untrusted/on-request/never) × sandbox modes (read-only/workspace-write/danger-full-access). Gemini: container sandbox (Docker) + tool exclusion list.
The shared mental model: at one extreme, ask before everything (sensitive code, untrusted repo); at the other extreme, do everything inside isolation (Docker container, sandbox VM, CI runner with no real credentials). The right position depends on the job, not the CLI.