// the find
openai/codex
Lightweight coding agent that runs in your terminal
OpenAI's terminal coding agent — you describe a task, it writes and executes code against your actual filesystem. Designed to replace the pattern of copy-pasting code between a chat window and your editor. At 95k stars it's clearly hit a nerve, but that number includes a lot of hype momentum from the OpenAI brand.
The Rust rewrite (codex-rs) is genuinely well-structured — the workspace is split into focused crates (agent-graph-store, tui-core, exec-env) rather than one monolith, which means the sandbox boundary between agent and host is a real architectural constraint, not an afterthought. The sandboxing story is serious: network firewall scripts, devcontainer variants with and without network access, explicit approval flows for file writes and command execution. The .codex/skills/ convention for user-defined agent behaviors is a practical idea — it lets teams encode project-specific heuristics (PR babysitting, breaking-change review) that travel with the repo. Build infrastructure is unusually thorough: Bazel, cargo-deny, nextest, code signing for all three platforms, and a proper changelog.
The repo currently requires an OpenAI API key or a paid ChatGPT plan — there's no model-agnostic interface despite the Rust rewrite theoretically enabling one. The 'skills' system is underdocumented; each SKILL.md is a few paragraphs with no schema or validation, so skills are fragile strings that can silently do the wrong thing. The app-server-protocol layer (JSON-RPC between the Rust daemon and the TypeScript/npm front-end) means you're still shipping a Node runtime alongside the Rust binary for the full CLI experience, which undercuts the 'lightweight' positioning. Error handling for partial tool calls mid-stream is largely unspecified in the public protocol schemas — if the agent is mid-edit and the connection drops, recovery behavior is unclear.