The trust dial
The single design choice every AI CLI makes is the same: where does the dial sit between "ask before everything" and "do whatever you decide"? Claude Code calls it permission rules (allow / ask / deny). Codex calls it approval modes (untrusted / on-request / never) plus sandbox (read-only / workspace-write / danger-full-access). Gemini calls it sandbox + tool exclusions. Different vocabulary, identical mental model.
Every dial position trades off the same two costs. Too far toward "ask" and you become the bottleneck — every npm install stops the world. Too far toward "auto" and you're trusting a probabilistic system with rm -rf on your laptop. The honest answer is different settings for different jobs: tight gates on someone else's repo you just cloned, looser gates inside a Docker sandbox, "never ask" inside a CI runner that's already isolated.
The lesson that takes new users the longest to absorb: you don't pick one position once. Each tool's design assumes you'll move the dial mid-session as confidence grows or shrinks, and the slash commands (/permissions, /approvals) exist for exactly that.