Skip to content

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.

A running server and an installed client, as on the installation page:

Terminal window
tapes local up
tapes serve

Codex brings its own provider credentials; capture does not touch them.

Launch it through the client, at the ingest port:

Terminal window
tapesctl start codex --tapes-url http://localhost:8082

Work the session, exit, and the captured turns are on the server:

Terminal window
tapesctl config set tapes-url http://localhost:8081
tapesctl sessions list

The app launches itself, so the lane inverts: install the plugin once, then run a capture window and start a session in the app.

Terminal window
tapesctl plugin install codex-app
tapesctl capture codex-app --tapes-url http://localhost:8082

plugin 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.