You let an AI agent operate your EKS cluster on Monday. On Friday a reviewer asks a fair question: show me everything that agent ran this week, in order, with what it touched. If your answer is "let me grep the agent's logs," you have already lost, because those logs come from the thing being reviewed. Session recording gives you a different answer: a replayable transcript taken at the boundary the agent crossed.
Session recording for AI agents on EKS is less about catching one bad command and more about making routine review possible at all. This post covers the review workflow it enables, not just the incident it might save you from.
The unit of review is the command, not the request count
A metric that says the agent made 4,000 API calls tells you nothing useful. A transcript that shows it ran kubectl exec into a payments pod and read a config map tells you exactly what to ask about. Useful review needs command-level audit, which means the record has to capture the actual commands and their output, attributed to the agent that issued them. Counts are noise; commands are signal.
How session recording produces that record
hoop.dev is an open-source Layer 7 access gateway. Its kubernetes-eks connector proxies kubectl and exec to the cluster through a network-resident agent, recording each session natively as traffic passes through. The agent reaches the cluster by assuming a configured IAM role, the EKS_ROLE_ARN, mapped to Kubernetes RBAC, and the AI agent's identity is stamped on every recorded command. Because recording happens on the wire at the gateway, the agent cannot reach back and edit it.
The review workflow
- Configure the EKS connection and enable session recording so kubectl and exec sessions are captured.
- Bind the AI agent to the connection so its sessions are attributed under its identity.
- At review time, filter recorded sessions by the agent identity and the time range in question.
- Replay a session to see the ordered commands, the namespaces touched, and the output returned.
- Export the transcript for the reviewer or the audit file. The same record serves an incident or a routine review.
# a recorded session, ready to replay
session 5a1c actor agent-ops duration 2m14s
> kubectl get configmap app-config -n payments -o yaml
> kubectl logs checkout-7b9 -n payments --tail 200
> kubectl describe pod checkout-7b9 -n paymentsThat transcript answers the reviewer's Friday question in a single query. You filter by the agent, pick the week, and read what it ran. No grep across a process you do not trust, no reconstructing intent from API counts, no gaps where the agent simply did not log something.
