
Codex Action
https://github.com/openai/codex-action- Category
- AI Agents
- Rank
- No. 619Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- openai
- GitHub
- 1.2k stars
- Date
About
Official GitHub Action that runs OpenAI Codex in your CI to review, fix, or implement code automatically.
What it does
Codex Action prepares a Codex CLI session inside a GitHub workflow. It installs the CLI, routes model traffic through a local Responses API proxy, feeds an inline or stored prompt to the agent, and exposes the final message for later workflow steps.
Why it's ranked here
The security controls make this more credible than a thin command wrapper. It checks who triggered a run, separates process privileges from filesystem and network policy, rejects conflicting permission settings, and tests key command construction and authorization cases. The remaining risk is inherent: untrusted repository content can steer an agent.
What's good
Permission profiles support read-only, workspace, or custom policies, while separate safety strategies can remove superuser access or run under a dedicated account. Triggering users need repository write access by default, with explicit exceptions for named users and bots. Prompts and output schemas can come from inline content or files, and the final response becomes a workflow output.
Tradeoffs
An API key is required, and Windows runners support only the unsafe strategy because they lack a supported sandbox. Permission profiles are beta and require a sufficiently recent Codex CLI. The default privilege reduction removes superuser access for the rest of the job, which can break later steps. Broad user allowlists invite key abuse, while pull request text, commits, screenshots, and repository instructions remain prompt injection surfaces.
How to use it well
Use it when a team wants a configurable agent step inside an existing GitHub workflow and can define narrow permissions, trusted triggers, and explicit prompts. Put it last in its job, then pass its output to a separate job. It does not publish pull request comments itself or replace dependency setup.
Technical notes+
src/main.ts implements a Commander-based helper CLI for action orchestration, input validation, home-directory resolution, privilege handling, proxy configuration, execution, and actor checks. src/runCodexExec.ts constructs codex exec, sends the prompt over stdin, selects either a legacy sandbox or default_permissions, manages temporary schema and output files, and publishes final-message. src/checkActorPermissions.ts queries collaborator permission through Octokit and handles explicit human and bot allowlists. src/dropSudo.ts removes Linux or macOS runner users from sudo groups and sudoers entries. src/writeProxyConfig.ts prepends a local Responses proxy provider to config.toml. test/runCodexExec.test.mjs uses a fake Codex executable to verify argument construction and conflicting-policy rejection, while test/checkActorPermissions.test.mjs covers trusted and custom bot behavior. package.json bundles TypeScript to CommonJS for Node 20 with esbuild and runs Node's built-in test runner.
Observed
- License
- Apache License 2.0
- Primary language
- TypeScript
- Install surface
- GitHub Action referenced as openai/codex-action@v1; it installs the Codex CLI during workflow execution
- Packaging
- Private pnpm package bundled with esbuild as CommonJS targeting Node 20
- Interfaces
- GitHub Action inputs and outputs, plus an internal command-line helper
- Platform support
- Linux and macOS support privilege-reduction strategies; Windows requires the unsafe strategy
- Tests
- Node test files cover Codex argument construction, permission conflicts, and actor authorization
Read from README.md, package.json, src/main.ts, src/dropSudo.ts, src/checkOutput.ts, src/runCodexExec.ts, src/readServerInfo.ts, src/writeProxyConfig.ts, src/checkActorPermissions.ts, docs/security.md, test/runCodexExec.test.mjs, test/checkActorPermissions.test.mjs, CLA.md, NOTICE, LICENSE.
What it can do
Review code automatically in CI pipeline
Code changes in pull request or commit → Code review comments and suggestions
Fix bugs and code issues automatically
Code with identified bugs or issues → Corrected code with fixes applied
Generate code from natural language descriptions
Natural language requirements or specifications → Implemented code functions or modules
Optimize existing code performance
Existing code that needs optimization → Improved code with performance enhancements
Add missing documentation to code
Undocumented code functions and methods → Code with added comments and documentation
Refactor code for better structure
Code that needs structural improvements → Refactored code with improved organization
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.