Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Getting Started with OpenAI Codex: Desktop App, CLI, IDE Extension, Cloud and Installation on Windows
The first decision when starting with Codex is the sign-in method: Codex Cloud and GitHub code review work only with a ChatGPT account, while an API key gives local use only. Installing on Windows with the standalone installer, npm and WSL 2, the difference between the desktop app, CLI, IDE extension and cloud surfaces, why you should open the session at the repo root, and a first small, test-verified change in Bookstore.
Teaching Codex Your Project: The AGENTS.md Chain, config.toml, Skills and MCP
Codex chains its instructions from the global AGENTS.md through every directory from the repo root to the working directory; the closer file comes later and wins, and anything after 32 KiB in total never reaches the model. In Bookstore: root and subfolder AGENTS.md files, a shared instruction strategy with Claude Code, the trust-gated project config.toml layer, profiles in separate files, a migration skill with implicit invocation turned off and a version-pinned MCP server.
Sandbox and Approvals in Codex: Read-Only, Workspace-Write, Full Access and Auto-Review
In Codex the sandbox decides what can be done and the approval policy decides when to ask: Full access removes both, while Approve for me hands the prompts to a reviewer agent without widening the boundary. The MXC, elevated and unelevated sandboxes on native Windows, the network proxy and domain rules, protected paths, trust-gated project settings and a rules file that puts Bookstore's SQL Server tests behind an approval.
The Local Workflow with Codex: Model and Effort, Worktrees, Subagents and Hooks
Codex has worktrees and subagents for parallel work, but a worktree opens with only the files Git tracks, and matching hooks start concurrently, not in order. Choosing the model and reasoning effort, side chats and plan mode, the local environment setup script in the desktop app, custom agents that inherit the sandbox, and a hash-trusted PreToolUse hook that protects Bookstore's committed migrations.
Parallel Tasks with Codex Cloud: Cloud Environments, Setting Up .NET + Angular and Turning Work into PRs
In Codex Cloud every task runs in its own isolated workspace; you prepare and publish a reusable environment in a conversation with Codex, but putting a secret as a plain variable into an environment with full internet access opens the door to prompt injection. A .NET 10 and Angular setup script for Bookstore, NuGet missing from the package manager preset, network secrets versus environment variables, parallel attempts with --attempts and turning the result into a PR with codex apply.
Code Review and CI with Codex on GitHub: `@codex review`, Automatic Review, `codex exec` and codex-action
On GitHub Codex reviews PRs with @codex review and automatic review and applies the Code Review Rules section in AGENTS.md, but it does not replace human approval. The read-only default of codex exec, JSONL and --output-schema output, the --trust behaviour in 0.169, why the API key must not sit at job level, and a codex-action workflow that reviews Bookstore's EF Core queries with a read-only profile and posts the result from a separate job.
Codex SDK, Automation and Cost: Programmatic Use, Scheduled Tasks and a Comparison with Claude Code
The Codex SDK starts local Codex threads from code; letting the workflow collect the data and running the thread read-only and without network lowers both risk and usage. A weekly dependency update plan with the TypeScript SDK, GitHub Actions versus a desktop app scheduled task, ChatGPT plans, five-hour window estimates, Fast and Ultrafast multipliers and a short, documentation-based feature comparison with Claude Code.