Here is the end-state to aim for: when a ChatGPT agent runs anything against your infrastructure, you can later replay exactly what it did, command by command, attributed to the agent, in a record the agent could never have altered. That is session recording done properly, and most agent setups fall well short of it.
One scope note. hoop.dev does not record what ChatGPT generates. The recording is of the infrastructure commands the agent executes, the SQL, the kubectl call, the shell session, not the model prompt or output.
The end-state, defined
- Every infrastructure command the agent runs is captured, not just connection events.
- Each session attributes to a named agent identity.
- The record lives outside the agent, where it cannot be edited.
- Sessions can be exported to your monitoring and evidence stores.
Why the record has to be external
A log inside the agent's runtime is a log the agent can drop or rewrite. For a recording to serve as evidence, it has to accumulate at a point the audited process does not control. That is the requirement, and it dictates where the recording happens: at the gateway the agent connects through, not in the agent.
hoop.dev is an open-source Layer 7 gateway. The ChatGPT agent reaches infrastructure through it, and each session is recorded on the wire under the agent's identity. The recording sits at the protocol layer, so it does not depend on the agent cooperating, logging correctly, or even staying healthy. A crashed agent still leaves a complete record up to the moment it stopped, because the record was never the agent's to keep.
Connection events, not just session boundaries
A recording that only marks when a session opened and closed tells you the agent was active but not what it did, which is the part that matters during an investigation. The end-state is command-level: each statement the agent ran, in order, with its result status and any approval that gated it. That granularity is what lets you answer a precise question precisely, rather than inferring activity from connection timestamps. When you wire the gateway's session events into your monitoring stack, you also get alerting on the patterns you care about, an unusual volume of reads, a command type that should never appear, an access outside the expected window, so the record is not only forensic but operational.
