AI agent session recording for Linux servers

To know what an AI agent did on a Linux server, record it on the server itself. shellz records every agent that logs in, whether it opens a shell, runs a one-off remote command, uploads a file or enters a container, using the same recorder it runs for people. Because the recording happens on the server, an agent can't avoid it by using a leftover SSH key or a route around your gateway. Deciding what an agent is allowed to do is a separate job for a gateway or sandbox, and the two work together.

Get started freeHow shellz workslast verified

Choose shellz if

  • Agents already SSH into production, and you want to replay what they ran and what output they saw.
  • Some agent traffic goes around your gateway, for example through an old CI key still on a server.
  • You want agent and human sessions in one searchable place, with recordings that show if anyone edited them.
  • You want it running today: one install command per server, a live session in about two minutes, and 10 devices free (plans).

Add a gateway or MCP proxy if

  • You need to limit which servers, databases or tools an agent can reach, with short-lived credentials instead of a permanent key.
  • Risky actions must wait for approval or be refused. shellz blocks nothing and can't end a live session.
  • Your agents mostly call APIs, databases or MCP tool servers, which a terminal recorder can't see.
  • Your agents run as background services on the server and never log in, so there's no login for shellz to record.

At a glance

Recording on the server vs a proxy for agent access, checked against vendor docs on 2026-11-03
Capabilityshellz (on the server)Gateway or MCP proxy
Agent SSH that goes through the gatewayYes, recorded on the serverYes, recorded or logged (varies by product and plan)
Agent using a leftover key or another routeYes, recorded the same wayNo, unseen unless other routes are closed
One-off remote command and its outputYesPartial: Teleport logs that the command ran, without a recording (per a 2024 GitHub reply)
Container shells (`docker exec`)Yes, linked to the agent's loginNot documented as separate sessions in the sources we checked
MCP tool callsNo, terminals onlyYes: Pomerium logs each call with the tool name and inputs
Keep credentials away from the agentNoYes: Boundary can log the agent in without handing it the password (SSH and RDP)
Approvals and blockingNoYes: Hoop holds flagged queries for review; Pomerium blocks tools by name
End a live sessionNo, watch onlyYes: Boundary cancels sessions; Teleport moderators can end them (Enterprise)
Agent running as a background serviceNo, it never logs inYes, for calls that go through the proxy

Agents reach production the same way engineers do

An agent uses whatever access the engineer who set it up gave it. That's usually an SSH key. From there it might open a shell, run a single command from a CI runner, upload a config file over SFTP, or step into a container with docker exec.

shellz makes its recorder the login shell for every account on the server. Whichever way the agent connects, the session starts inside the recorder. If a login somehow skips it, the session is killed and you get an alert.

Give every agent its own account

If your deploy agent logs in as ubuntu alongside three engineers, working out who ran what takes detective work. Create a dedicated account such as agent-deploy with its own key. Then a week of agent activity is one search away, and the source IP tells you which runner it came from.

Accounts you create after installing shellz are recorded from their first login.

What one agent deploy looks like in the recordings

This example is illustrative, not from a customer. A coding agent on a CI runner is told to ship a fix to web-03 and run the database migration. It logs in as agent-deploy. Filter by that user and you see four sessions within three minutes:

  • A one-off command that checks out the new release with git, with git's output saved.
  • An SFTP upload a few seconds later, so the config change sits next to the code change.
  • A shell where the agent restarts the app with sudo. You see the password prompt in the replay, but not the password. The agent reads the logs and decides the restart worked.
  • A container session where the agent runs the migration. It printed a warning about a slow index build.

The next morning, the recording becomes the incident report

The slow index build turns into a customer ticket. You replay the container session at 4x speed, copy the warning from the transcript, and export the session for the incident doc. Anyone watching during the deploy saw it live, about a second behind.

If part of a recording were missing or edited, the session would be flagged. If the server stopped sending recordings, you'd get an alert within about a minute.

Gateways only see agent traffic that goes through them

Access vendors spent 2026 adding agent features. Teleport launched Beams in March, which runs each agent in its own isolated VM. Delinea bought StrongDM in March and pitched it as control over what AI agents do (see StrongDM alternatives). HashiCorp Boundary has a preview tool that lets an agent open SSH or RDP sessions without ever seeing the password, though HashiCorp advises against preview features in production. Pomerium and Hoop.dev sit in front of MCP tool servers and databases and apply rules to each request.

These tools control what an agent may do, which shellz doesn't. But each one only sees traffic routed through it. For example, a 2024 reply on Teleport's GitHub says a one-off remote command through Teleport is logged without a recording. Check whether that's still true for your version (shellz vs Teleport).

Use the gateway to decide what an agent can reach. Use shellz to record what actually happened on the server, including anything that went around the gateway. The PAM vs session recording guide covers when each one is worth it.

Agents that never log in aren't recorded

shellz records login sessions. An agent running as a background service on the server never logs in, so it isn't recorded. Neither is work done purely through APIs, such as an agent querying a database or calling a cloud API.

If you want a background agent's actions recorded, have it run them through a login, for example ssh agent-ops@localhost. For a log of everything that runs, including services, see shellz vs auditd. shellz also doesn't cover Kubernetes kubectl exec, database sessions, RDP or Windows.

Passwords at hidden prompts are skipped; everything printed is recorded

When a password is typed at a hidden prompt, like sudo or passwd, shellz doesn't record it.

Anything the agent prints is recorded, though. That includes a token passed on the command line, an .env file it displays, or a debug line that prints an API key. Keep secrets off the command line, and have agents read them from files they never print.

Every recording is encrypted on the server with its own key, and every viewing is logged. With Perfect Secrecy, on every plan, only your team's passkeys can decrypt recordings, so shellz staff can't open one that caught a leaked key. See the security model.

Questions

How do I record what an AI agent does on my Linux servers?

Record on the server. With shellz installed, an agent that logs in over SSH, runs a remote command, uploads files or enters a container is recorded like a person. Give each agent its own account so you can find its sessions in one search.

Does shellz record an AI agent running as a service on the server?

No. A background service that never logs in isn't recorded. Run the commands you care about through SSH or a login shell on the server.

Can shellz stop an agent from running a destructive command?

No. shellz records sessions. It doesn't block commands or end live sessions. Use a gateway, MCP proxy or sandbox for rules and approvals.

Will an agent's passwords or API keys show up in the recording?

Passwords typed at hidden prompts never do. Anything printed to the terminal does, including tokens passed on the command line.

Do I still need Teleport, StrongDM or Boundary if shellz records my agents?

Yes, if you need short-lived credentials, per-agent limits, approvals or the ability to end a session. shellz adds a record from the server itself, including sessions that never went through the gateway.

Related comparisons

Sources

Competitor details come from public documentation and pricing pages, last checked on November 3, 2026. Products change; if something here is out of date, tell us at hello@shellz.dev and we will correct it.

  1. Teleport press release: Teleport launches Beams, trusted agent runtimes (March 19, 2026)
  2. Teleport GitHub discussion #47843 (October 2024): non-interactive commands don't generate session recordings
  3. Teleport docs: Joining sessions and moderated sessions
  4. Delinea: Delinea completes StrongDM acquisition to secure AI agents (March 5, 2026)
  5. Boundary docs: Boundary MCP server overview (public preview)
  6. Boundary docs: Sessions and termination
  7. Pomerium docs: Model Context Protocol (MCP) support
  8. Hoop.dev blog: How AI coding agents get production access safely (May 18, 2026)
~ $ shellz --helpOne command. Two minutes. Every session recorded.