Codex: technische tutorial
Codex: ReviewInstalleren & instellenNieuwsTechnische tutorial
Stand september 2026, samengesteld uit onze eigen notities en nieuwsarchief; tekst machinaal opgesteld en redactioneel gecontroleerd. Controleer versies en commando's in de officiële documentatie.
Deze tutorial gaat verder waar de installatie ophoudt. Aan bod komen config.toml, sandbox- en goedkeuringsbeleid, projectinstructies via AGENTS.md, MCP-servers, profielen, een eigen proxy of gateway, en Codex in scripts en CI. Sleutels en vlaggen zijn gecontroleerd tegen de officiële documentatie (stand september 2026).
config.toml: waar en in welke volgorde
- Gebruiker:
~/.codex/config.toml. Met de omgevingsvariabeleCODEX_HOMEverplaats je die map. - Project:
.codex/config.tomlin je repository. Dit bestand wordt alleen geladen als je het project vertrouwt. Een onvertrouwd project krijgt geen eigen configuratie of hooks, zodat een gekloonde repository zichzelf geen ruimere rechten kan geven.
Een basisconfiguratie:
model = "gpt-6-sol"
model_reasoning_effort = "medium"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
Sandbox en goedkeuring
Codex heeft twee knoppen die samen bepalen wat de agent zelfstandig mag.
sandbox_mode, de grens op OS-niveau:
read-only: bestanden lezen mag; bewerken en commando's draaien niet zonder goedkeuring.workspace-write(standaard): lezen, bewerken binnen je werkmap en gewone lokale commando's. Voor internet vraagt Codex eerst.danger-full-access: geen grenzen voor bestanden en netwerk. Alleen bedoeld voor wegwerpomgevingen zoals een container.
approval_policy, wanneer Codex het jou vraagt:
on-request: interactief vragen als de agent iets buiten de sandbox wil doen.never: nooit vragen. Wat de sandbox niet toestaat, mislukt dan gewoon.- Een tabel
{ granular = { ... } }voor fijnmazige controle per categorie, bijvoorbeeld MCP-elicitaties of goedkeuring van skills.
untrusted wordt niet meer ondersteund en on-failure is verouderd; gebruik ze niet in nieuwe configuraties.
De sandbox gebruikt Seatbelt op macOS, bubblewrap op Linux en WSL 2, en de native Windows-sandbox in PowerShell. In september 2026 werden twee ontsnappingen gedicht: Heapjack (een host-actie vanuit read-only zonder goedkeuringsvraag) en Overpatch (schrijven buiten de werkmap). Gebruik minstens CLI 0.149.0.
Projectinstructies met AGENTS.md
Codex bouwt de instructies op in deze volgorde:
- Globaal:
~/.codex/AGENTS.override.mdals dat bestaat, anders~/.codex/AGENTS.md. - Project: van de root van de repository tot je huidige map. Per niveau eerst
AGENTS.override.md, andersAGENTS.md. - Bestanden dichter bij je huidige map gaan voor op eerdere instructies.
Samen mogen de bestanden standaard 32 KiB zijn (project_doc_max_bytes); daarboven stopt Codex met toevoegen. Heet je instructiebestand anders, voeg de naam dan toe:
project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"]
Een praktisch patroon voor monorepo's: algemene afspraken in de root-AGENTS.md, en per pakket een korte AGENTS.md met de specifieke build- en testcommando's.
MCP-servers
Een lokale server toevoegen vanaf de commandoregel:
codex mcp add context7 -- npx -y @upstash/context7-mcp
Of direct in config.toml:
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
startup_timeout_sec = 20
tool_timeout_sec = 60
[mcp_servers.context7.env]
MY_ENV_VAR = "waarde"
[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
Standaard wacht Codex 10 seconden op het opstarten van een server (startup_timeout_sec) en 60 seconden per toolaanroep (tool_timeout_sec). Servers die via npx eerst iets moeten downloaden, hebben vaak meer opstarttijd nodig.
Profielen
Met een profiel wissel je snel tussen instellingen, bijvoorbeeld een zuinig profiel voor kleine klussen en een zwaar profiel voor reviews. Sinds versie 0.134.0 is elk profiel een los bestand naast je hoofdconfiguratie, met alleen de waarden die afwijken. De oude [profiles.x]-tabel in config.toml wordt niet meer ondersteund.
~/.codex/deep-review.config.toml:
model = "gpt-6-astra"
model_reasoning_effort = "high"
sandbox_mode = "read-only"
Gebruiken:
codex --profile deep-review
Een proxy of eigen provider
Wil je al het verkeer via een eigen LLM-proxy laten lopen, voor logging, kostenbewaking of sleutelbeheer? Zet dan in je gebruikersconfiguratie:
openai_base_url = "https://proxy.example.com/v1"
Voor een aparte provider definieer je een eigen blok en kies je die met model_provider:
model_provider = "mijnproxy"
[model_providers.mijnproxy]
name = "Eigen LLM-proxy"
base_url = "https://proxy.example.com/v1"
env_key = "MIJNPROXY_API_KEY"
wire_api = "responses"
env_key is de naam van de omgevingsvariabele met de sleutel, niet de sleutel zelf. wire_api bepaalt het API-formaat: "responses" voor de Responses API; zonder die regel gebruikt Codex het Chat Completions-formaat. Controleer welk formaat je proxy doorgeeft, want niet elke gateway ondersteunt beide.
Codex in scripts en CI
codex exec draait zonder interface en is bedoeld voor pipelines, pre-merge checks en geplande taken.
codex exec --sandbox workspace-write "Draai de tests en repareer wat faalt"
Handige vlaggen:
--json: alle gebeurtenissen als JSON Lines op stdout.-oof--output-last-message <bestand>: het eindantwoord ook naar een bestand.--output-schema <schema.json>: gestructureerde uitvoer volgens een JSON Schema.--skip-git-repo-check: draaien buiten een git-repository.--ignore-user-config: je eigenconfig.tomlniet laden. Dat maakt CI-runs reproduceerbaar.codex exec resume --last: de vorige run voortzetten.
Een voorbeeld dat alleen een oordeel teruggeeft:
CODEX_API_KEY="$CODEX_KEY" codex exec --sandbox read-only \
--output-schema review-schema.json -o review.json \
"Beoordeel de wijzigingen in deze branch op beveiligingsrisico's"
Let op met sleutels in CI. OpenAI raadt aan CODEX_API_KEY alleen mee te geven aan het commando zelf, zoals hierboven, en niet als omgevingsvariabele voor de hele job. Anders kan code uit de repository die je in dezelfde job draait de sleutel uitlezen.
Veelvoorkomende problemen
- Projectinstellingen worden genegeerd: het project is niet als vertrouwd gemarkeerd;
.codex/config.tomlen de project-hooks laden dan niet. - Instructies ontbreken: je
AGENTS.md-bestanden zijn samen groter dan 32 KiB; verhoogproject_doc_max_bytesof maak de bestanden korter. - MCP-server "timed out": verhoog
startup_timeout_secvoor servers die bij de eerste start iets downloaden. - Oud profiel werkt niet meer: zet
[profiles.x]om naar een los bestand~/.codex/x.config.toml. - Sandbox faalt op Linux: installeer
bubblewrap.
Documentatie: learn.chatgpt.com/docs.