Codex
How Kettu runs your own Codex as codex app-server, signs it in, and what it shows for a Codex session.
Kettu starts your own codex as codex app-server and talks to it through Codex’s own interface. It installs nothing for Codex, and Codex needs no Node.js. Kettu needs Codex 0.166.0 or later.
Your codex is the one on PATH, the program you pick with Choose binary… in Settings › Harnesses › Codex, or the one CODEX_PATH names if your environment sets it. For a Codex installed with npm, Kettu starts Codex’s own program inside the package directly. Codex keeps using its own folder, shared with the codex you run in a terminal.
Install Codex
If codex is not found, open Settings › Harnesses › Codex and click Install…. Pick one of OpenAI’s ways: the official install script (recommended), Homebrew or npm. Kettu shows the command, then runs it.
Sign in
Open Settings › Agents › Codex and click Sign in in terminal. Kettu runs codex login in its terminal:
| Method | Command |
|---|---|
| ChatGPT, in the browser | codex login |
| ChatGPT (device code) | codex login --device-auth |
API key: paste it, then press Enter and Ctrl+D | codex login --with-api-key |
You can also click Set… on the API key row: Codex keeps the key through its own codex login, and Kettu keeps no copy. For another model provider, set it up in the config.toml of the agent’s folder. Sign out runs codex logout. For a second account, click Add agent in Settings › Agents: it gets a CODEX_HOME folder of its own.
What a Codex session shows
| Option | Choices |
|---|---|
| Mode | Read-only, Workspace access, Auto review (the default), Full access |
| Collaboration mode | Default, or Plan to plan before making changes |
| Model and Reasoning effort | What Codex offers for your account |
| Fast mode | On models that have it: 1.5x speed, increased usage |
Codex’s commands are in the composer’s slash menu: /plan, /review, /review-branch, /review-commit, /compact, /goal, /rename, /status, /mcp and /skills, with each skill as $ and its name. A permission request offers Codex’s own answers, such as Yes, for this session or No, and stop.
Settings › Agents shows the account: your ChatGPT plan and email, OpenAI API key or Custom model provider. When Codex reports your plan’s limits, such as the 5-hour and weekly ones, they appear in the agent menu and under Plan usage.
Codex does not report how long its prompt cache lasts. On a ChatGPT account or an OpenAI key, Kettu estimates it from OpenAI’s documented minimum, 30 minutes for GPT-5.5 and later models and 5 minutes for earlier ones, and the top bar reads Cache about and the time left. With another provider it reads Cache time not reported.
Updates
Kettu checks npm once a day for a newer Codex. When there is one, Settings › Harnesses › Codex offers Update to followed by the version, which updates Codex the way you installed it: the install script again, brew upgrade --cask codex, or npm install -g @openai/codex@latest. The command is shown so you can run it yourself instead. An older Codex than Kettu needs is offered the same update.