Skip to content

DocterJac/warp-transcripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

warp-transcripts

Convert Warp agent conversations from the local SQLite database into browsable, self-contained HTML transcripts.

Works on macOS, Linux, and Windows.

The Warp equivalent of claude-code-transcripts.

What it does

Warp stores all agent conversations locally in a SQLite database as Protocol Buffers binary blobs. This tool reads the database directly, parses the protobuf wire format, and generates clean HTML pages you can browse, search, and share.

Each transcript shows the full conversation flow:

  • User prompts with working directory context
  • AI responses with basic markdown rendering
  • 💭 Thinking blocks (collapsible) — the model's internal reasoning
  • Tool calls — shell commands, file reads, and other tool invocations
  • Tool results — command output and file contents (collapsible)
  • Model badges — shows when the model switches mid-conversation

All output is self-contained HTML with inline CSS, no external dependencies. Supports dark/light themes via prefers-color-scheme.

Quick start

# Interactive picker — select a conversation and open in browser
python3 warp_transcripts.py

# Export a specific conversation
python3 warp_transcripts.py conv <conversation_id> -o ./output

# Export all conversations to a browsable archive
python3 warp_transcripts.py all -o ./archive

# List recent conversations with IDs
python3 warp_transcripts.py list

After viewing a transcript in the interactive picker, you're prompted to save it to a permanent location:

  Suggested filename: Fix-auth-timeout-in-login-handler.html
  Enter a path, filename, or directory to save the transcript.
  › Save as (Enter to skip): ~/Documents/transcripts/
  Saved: /Users/you/Documents/transcripts/Fix-auth-timeout-in-login-handler.html

Examples:

# Save to an existing directory (uses the suggested filename)
~/Documents/transcripts/

# Save to a new directory (created automatically)
~/project-logs/sprint-12

# Save with a custom filename
~/Desktop/auth-fix-session.html

# Save to the current directory with a custom name
my-transcript.html

Press Enter to skip and leave the file in the temp directory.

Requirements

  • Python 3.7+
  • No third-party packages — standard library only
  • Warp terminal installed (the database is created automatically by Warp)

Commands

Default (no subcommand)

Interactive picker showing your 30 most recent conversations. Select one by number to export and open in your browser.

list

Print a table of recent conversations with IDs, timestamps, task counts, and credit usage.

conv <conversation_id>

Export a single conversation to HTML.

all

Export all conversations to a browsable archive with an index page linking to each conversation.

Options

All subcommands accept these options:

Option Description
--db PATH Path to warp.sqlite (auto-detected if omitted)
-o, --output DIR Output directory (default: temp dir for single, ./warp-archive for all)
--no-open Don't open in browser after generating
--json Include raw JSON alongside HTML

all also accepts:

Option Description
--limit N Max conversations to export (default: 500)

Database location

The tool auto-detects the Warp database:

Platform Default path
macOS ~/Library/Group Containers/2BBY89MBSN.dev.warp/Library/Application Support/dev.warp.Warp-Stable/warp.sqlite
Linux ~/.local/state/warp-terminal/warp.sqlite
Windows %LOCALAPPDATA%\warp\Warp\data\warp.sqlite

How it works

Warp stores agent task data as Protocol Buffers binary blobs in the agent_tasks table. The tool parses the wire format without a .proto schema, extracting:

Protobuf field Content
Step field 2 User prompt text + context (pwd, OS, shell)
Step field 3 AI response text
Step field 4 Tool call (shell command, file read paths)
Step field 5 Tool result (command output, file contents)
Step field 15 Thinking/reasoning text
Step field 25 Model selection (id + display name)

Conversation metadata (credits, models, token usage) comes from the agent_conversations table (JSON), and user prompt text is cross-referenced from ai_queries.

Related projects

  • warp-thinking-browser — Interactive terminal browser for Warp agent thinking text (the predecessor that discovered the protobuf structure)
  • agent-desktop-thinking — Fork of Agent Desktop that captures and exports Claude's extended thinking

License

MIT

About

Convert Warp agent conversations to browsable HTML transcripts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors