Capture a Codex session
Codex comes in two shapes, and they use different capture lanes. The terminal CLI is launched by the client, like Claude Code. The ChatGPT desktop app launches itself, so the client cannot wrap it — it is captured through lifecycle hooks instead.
Before you start
Section titled “Before you start”A running server and an installed client, as on the installation page:
tapes local uptapes serveCodex brings its own provider credentials; capture does not touch them.
The terminal CLI
Section titled “The terminal CLI”Launch it through the client, at the ingest port:
tapesctl start codex --tapes-url http://localhost:8082Work the session, exit, and the captured turns are on the server:
tapesctl config set tapes-url http://localhost:8081tapesctl sessions listThe ChatGPT desktop app
Section titled “The ChatGPT desktop app”The app launches itself, so the lane inverts: install the plugin once, then run a capture window and start a session in the app.
tapesctl plugin install codex-apptapesctl capture codex-app --tapes-url http://localhost:8082plugin install codex-app writes the handoff file and points the app’s Codex
configuration at the capture address; capture reads that handoff and binds
it. Running capture first fails and tells you to install.
To undo the wiring, tapesctl plugin uninstall codex-app removes the provider
entry and the handoff. The plugin stays registered with Codex; the command
prints the codex plugin remove line that finishes the job.
Next steps
Section titled “Next steps”- Capture a Claude Code session — the same launched lane on the other major harness.
- Agent integrations — the full harness table and which lane each one uses.
- Search captured sessions by meaning — everything you capture is queryable the same way, whatever harness produced it.