AgentPlay turns coding agent logs into local replays

Entelligence AI’s AgentPlay turns existing coding agent logs into a local map and timeline. The open source viewer gives developers a way to revisit a session after the work has finished, including where it read files, retried commands and ran checks. Version 0.2.1 became available on PyPI on October 14.
GitHub records the repository’s creation on October 14 too. The practical question is how much a replay can tell you about the work. Its strongest use is reconstructing the sequence behind a change, then following that sequence back to the code and test evidence.
Follow the work behind a change
The project guide describes a map of files, shell commands, MCP tools and subagents, alongside a timeline that can highlight edits, errors and delays. Developers can narrow the view to a task, model or agent. The Errors tab groups failures and makes repeated failing commands easier to find in the sequence.
Consider an agent changing a billing function. A useful review asks whether it opened the relevant tests before editing, whether a failed command kept recurring and whether the final check happened after the last change. A replay can help locate those moments. You still need the actual diff and test output to decide whether the calculation is correct.
The outcome classifier explains why that distinction matters. Its verified label can follow a successful recognized check when no edit appears afterward. That check can be a test, build, lint or type check. A confirmed pull request creation takes priority over the other outcome labels. These rules summarize recorded events. They do not establish that the tests cover the requirement or that the resulting change is ready to merge.
Check what your agent actually records
AgentPlay lists support for Claude Code, Codex, Cursor, GitHub Copilot, OpenCode and Kiro. The support matrix gives Claude Code the richest coverage, including separate subagent lanes and token data for individual requests. Other integrations use a main session lane. Cursor sessions have no token or cost figures because the tool does not retrieve billed usage from Cursor’s API. Support for an agent therefore does not mean every view has the same detail.
Long sessions also need a completeness check. The builder caps a map at 20,000 events and marks it as truncated. The discovery code skips source transcripts larger than 512 MiB. Before drawing a conclusion from an apparently quiet ending, check whether the replay contains the whole session.
The guide also says whole file writes can be ambiguous when deciding whether a file was created or overwritten. Costs are estimates based on public list prices, without plan, enterprise or batch pricing. Treat a cost figure as an investigative clue and check the provider’s bill for what was actually charged.
Understand what remains in an export
The map format excludes prompt and assistant text, reasoning, file contents, tool input and output, and command arguments. It retains useful identifiers, including repository names and remotes, file paths, tool names, web hosts and some output URLs. Those identifiers can still reveal a private project or its structure. Review the exported file before sharing it.
The default path mode preserves relative paths. The dirs_only mode hides filenames while keeping directories, using short unkeyed hashes that the documentation says can be guessed for common names. The hashed mode uses a key for stronger path protection, but falls back to dirs_only without one. Repository names and remotes remain. Neither mode removes the need to inspect the metadata.
The local viewer has additional information that an exported map omits. The title code can use the beginning of a prompt for a session title or task label. The build pipeline keeps those labels in the local index. The --no-titles flag clears them for sessions encountered by that run, but it is a per run option. A later ordinary build can restore them.
The server code also provides local access to pasted prompt images and failed hook details from the original transcripts. Its normal command line launch binds the viewer to the loopback address, with checks on browser origins and requests. Keep that viewer local. Sharing a screenshot of it can expose information beyond the exported map’s redaction rules.
Local processing still has a trust boundary
The optional email signup is a separate data flow. The account code sends the supplied email, an installation identifier, the software version, an event type and a timestamp. Setting AGENTPLAY_NO_NETWORK=1 or DO_NOT_TRACK=1 disables that signup flow. Disconnect removes the local email and attempts a remote removal request. If that request fails, local removal does not confirm removal from the mailing list.
AgentPlay must read sensitive transcripts to build its maps. Its security policy treats redaction failures and unintended access to the local server as security issues, and directs fixes to the latest release. Review the package under your team’s software policy before giving it access to work sessions. Source availability and local processing are useful properties, but they do not replace that review.
Choose replay, accounting or ongoing monitoring
If the main question is which projects or weeks consume the most tokens, ccusage offers a more direct accounting view. It reads local usage records and aggregates estimated costs by day, week, month and session. AgentPlay is more relevant when you need the order of tool actions around a particular change. Both depend on the records available to them, and an estimated usage cost is not a billing statement.
For ongoing monitoring across a Claude Code team, Anthropic documents OpenTelemetry export for metrics, events and optional distributed traces. That requires configuring the signals and their destination. Traces can connect a prompt to the model and tool calls it triggers, with content redacted by default. This is an infrastructure choice for collecting activity as it happens. AgentPlay’s retrospective inspection of existing local logs suits a different starting point, especially when no collector was configured for that session.
Visual evidence answers another question. ByteForward’s guide to reviewing screenshots and recordings inside Claude Code covers inspecting what a change looks like. Pair that evidence with a session replay when both the result and the steps behind it matter.
Start with a small, reviewable session
The PyPI package requires Python 3.11 or newer, declares no runtime dependencies and is marked alpha. Its license is Apache-2.0. The installation guide documents uvx, pipx and Python environment routes. We reviewed the documentation and source artifacts, including the published source package. We did not install AgentPlay, run its tests or measure its performance.
A useful first evaluation is one completed session from a project you are allowed to inspect. The command definitions support narrowing a build by agent, time window and session count. Before adopting it for regular reviews, work through a few concrete checks.
- Choose a session with a known edit and a known test result, using sample data that can safely be inspected.
- Confirm the viewer found actual sessions. The agent discovery indicator only establishes that a supported folder exists.
- Check that the expected edit and test appear in the right order. Look for a truncation flag or skipped input before treating the replay as complete.
- Choose the path mode deliberately, use
--no-titleswhen needed and inspect a single exported map before sharing it.
AgentPlay is worth evaluating when a coding session is difficult to reconstruct and the underlying logs are available. Its value is the clearer route back to the evidence. Keep the original transcript, diff and test results available so that a useful visualization leads to a reviewable conclusion.
Illustrative coding workspace photograph, published in 2017. Photo by Emile Perron on Unsplash under the Unsplash License.



