Kimi K3 Is Already Close to Claude on a Real Coding Task
In my little coding test, Kimi K3 and Claude Fable 5 both completed the same repo-wide coding task and passed the same…
If you use the Codex CLI, you’ve probably seen a few flags that look like they do the same thing: --full-auto, --sandbox, and --dangerously-bypass-approvals-and-sandbox. They’re related, but they are not interchangeable.
--sandbox <mode>Controls the filesystem + network sandbox policy for model-generated commands. Common modes:
read-only — commands can read files but not write.workspace-write — commands can write inside the current repo and temp dirs.danger-full-access — commands can write anywhere (use with caution).--full-autoA convenience flag that makes Codex run without asking for approvals and forces the sandbox to workspace-write.
Think of it as:
--full-auto ≈ auto-approve + sandbox=workspace-write
--dangerously-bypass-approvals-and-sandboxSkips all approvals and disables sandboxing entirely. This is intended only for environments that already have a strong external sandbox.
If you pass --full-auto, it overrides any --sandbox flag you specify.
So this:
codex exec --full-auto --sandbox read-only "..."
…still runs with workspace-write, because --full-auto forces that mode.
In other words:
--full-auto > --sandbox
Use --full-auto and do not pass --sandbox:
codex exec --full-auto "..."
You’ll get auto‑approval and a workspace‑write sandbox. In practice that means model‑generated commands can write inside the current repo (and temp dirs), but writes outside the workspace are blocked. Reads still work broadly, and network access follows your Codex config.
Do not use --full-auto, and set the sandbox explicitly:
codex exec --sandbox read-only "..."
Now the sandbox is truly read‑only: model‑generated commands can read files but cannot write anywhere (including /tmp). Approval behavior comes from your configured approval policy (since --full-auto is not used).
Again, omit --full-auto and set the sandbox:
codex exec --sandbox danger-full-access "..."
This gives the model full write access to the filesystem and removes sandbox restrictions. It’s powerful and should only be used when you’re comfortable with unrestricted file writes.
Only use this when you already run in a hardened environment:
codex exec --dangerously-bypass-approvals-and-sandbox "..."
This disables approvals and disables sandboxing entirely. Commands run directly with the same permissions as your user, so only use it inside a trusted external sandbox (container/VM) where you already enforce limits.
When Codex runs a command, it can optionally run it inside a restricted execution environment (the sandbox). The sandbox limits what the command can touch on your system, mainly files and network. Think of it like a safety fence around the model’s shell access.
At a high level, the sandbox decides:
The key takeaway: the sandbox is the boundary that lets you use Codex safely without handing it unlimited system access. When you remove or bypass it, you're trusting the model with the same permissions you have.
Under the hood on Linux, that boundary is enforced by Landlock (plus related OS primitives). Landlock is a kernel feature that lets a process voluntarily restrict itself to a set of allowed file paths and actions. So when you pick a sandbox mode, Codex builds a Landlock ruleset that matches it and then runs model‑generated commands inside that restricted context.
Give Vroni a GitHub issue, bug report, spec, or rough idea. It reads the repo, plans the change, writes code, runs checks, and works toward a review-ready pull request.
Take a look at vroni.com