dotnet-replay 0.9.1

dotnet tool install --global dotnet-replay --version 0.9.1
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local dotnet-replay --version 0.9.1
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-replay&version=0.9.1
                    
nuke :add-package dotnet-replay --version 0.9.1
                    

dotnet-replay

Status Platform NuGet

Interactive terminal viewer for Copilot CLI sessions and waza evaluation transcripts. Built as a single-file .NET 10 app

dotnet-replay session browser

Try it out

Requires the .NET 10 SDK.

dnx dotnet-replay              # Browse your recent Copilot CLI sessions

No install needed — dnx downloads the tool to the NuGet cache, runs it, and cleans up.

Install

dotnet tool install -g dotnet-replay

Once installed globally, run replay directly from any directory.

Local tool manifest

dotnet new tool-manifest   # if you don't already have one
dotnet tool install dotnet-replay

With a local install, use dotnet replay instead.

Usage

Session Browser

replay                      # Browse recent Copilot CLI and Claude Code sessions
replay <session-id>         # Open a session by GUID

Run with no arguments to interactively browse your Copilot CLI and Claude Code sessions. Sessions are loaded asynchronously and can be filtered with /.

Interactive Mode (Default)

replay <file>               # Interactive pager with keybindings
replay <file> --tail 10     # Show only the last 10 turns
replay <file> --expand-tools # Show tool args, results, and thinking
replay <file> --full        # Don't truncate long content
replay <file> --filter user # Filter by event type (user, assistant, tool, error)
replay <file> --no-color    # Disable ANSI colors
replay session.jsonl --no-follow  # Disable auto-follow for JSONL files

Note: dotnet replay also works if you prefer the explicit prefix.

Auto-follow: JSONL files automatically watch for new content (like tail -f). Use --no-follow to disable this behavior.

Stream Mode (Non-Interactive)

replay <file> --stream      # Output entire transcript and exit
replay <file> | less        # Auto-switches to stream mode when piped

JSON and Summary Modes

replay <file> --json                    # Output as structured JSONL
replay <file> --json --filter user      # JSON output of user messages only
replay <file> --json --tail 5           # JSON output of last 5 turns
replay <file> --json --expand-tools     # Include tool args/results in JSON
replay --db sessions.db --json          # Export DB session metadata as JSON

replay <file> --summary                 # Show high-level session statistics
replay <file> --summary --json          # Summary as machine-readable JSON

JSON output format — One JSON object per line:

{"turn": 0, "role": "user", "timestamp": "2026-02-20T02:07:54Z", "content": "...", "content_length": 1234}
{"turn": 0, "role": "assistant", "timestamp": "2026-02-20T02:08:12Z", "content": "...", "content_length": 5678, "tool_calls": ["skill", "view"]}
{"turn": 0, "role": "tool", "tool_name": "view", "status": "complete", "result_length": 2048}

Summary output shows session overview: duration, turn counts, tools used, skills invoked, and errors.

Supported Formats

  • Copilot CLI events (.jsonl) — Session transcripts from GitHub Copilot CLI
  • Claude Code sessions (.jsonl) — Session transcripts from Claude Code (~/.claude/projects/)
  • Waza evaluation results (.json) — EvaluationOutcome format with tasks[].runs[].transcript[]
  • Waza task transcripts (.json) — Flat JSON with transcript[] array and optional session_digest

Keybindings

Key(s) Action
or k Scroll up one line
or j Scroll down one line
or h Scroll left (pan horizontally)
or l Scroll right (pan horizontally)
PgUp Page up
PgDn Page down
0 Reset horizontal scroll
Space Page down
g or Home Jump to start of transcript
G or End Jump to end of transcript
t Toggle tool expansion (show/hide args, results, and thinking)
f Cycle filter: all → user → assistant → tool → error
i Toggle session info overlay
/ Enter search mode
n Jump to next search match
N Jump to previous search match
r Resume session (launches copilot --resume or claude --resume)
b Browse sessions (return to session browser)
q or Esc Quit

Examples

View an interactive transcript:

replay session-events.jsonl

View the last 5 turns with tool expansion:

replay results.json --tail 5 --expand-tools

Stream the entire transcript without interaction:

replay transcript.json --stream

Pipe to a file:

replay session.jsonl --expand-tools > output.txt

About

dotnet-replay was built by a squad currently in stealth mode.

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.9.1 135 4/3/2026
0.9.0 121 4/2/2026
0.8.1 127 3/17/2026
0.8.0 122 3/16/2026
0.7.1 113 2/26/2026
0.7.0 104 2/26/2026
0.6.0 104 2/21/2026
0.5.3 106 2/21/2026
0.5.2 105 2/20/2026
0.5.1 101 2/20/2026
0.5.0 109 2/20/2026
0.4.4 103 2/18/2026
0.4.3 102 2/18/2026
0.4.2 102 2/18/2026
0.4.1 103 2/16/2026
0.4.0 102 2/16/2026
0.3.0 105 2/16/2026
0.2.0 102 2/15/2026
0.1.0 104 2/15/2026