Skip to content

kylesnowschwartz/tail-claude

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

249 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tail-claude

A terminal UI for reading Claude Code session JSONL files. Built with Go and Bubble Tea.

Reads session logs from ~/.claude/ and renders them as a scrollable conversation with expandable tool calls, token counts, and live tailing.

tail-claude demo

Requirements

Install

go install github.com/kylesnowschwartz/tail-claude@latest

Or build from source:

git clone git@github.com:kylesnowschwartz/tail-claude.git
cd tail-claude
go build -o tail-claude .

Update

tail-claude --update

Or manually:

go install github.com/kylesnowschwartz/tail-claude@latest

Usage

Run tail-claude to open the most recent session. If the session is stale (>12 hours), the session picker opens instead.

Pass a path directly to skip discovery:

tail-claude ~/.claude/projects/-Users-kyle-Code-foo/session.jsonl

CLI flags

tail-claude [flags] [session.jsonl]
  --dump          Print rendered output to stdout (no interactive TUI)
  --expand        Expand all messages (use with --dump)
  --width N       Set terminal width for --dump output (default 160, min 40)
  --update        Update to the latest version via go install
  -v, --version   Show version
  -h, --help      Show this help

Keybindings

? toggles keybind hints in any view. Ctrl+z suspends the TUI (resume with fg).

List view

Key Action
j / k Move cursor down / up
/ Scroll viewport 3 lines
J / Ctrl+d Page down (half page)
K / Ctrl+u Page up (half page)
G / g Jump to last / first message
Tab Toggle expand/collapse current message
e / c Expand / collapse all Claude messages
Enter Open detail view
d Open debug log viewer
t Open team task board (when teams exist)
y Copy session JSONL path to clipboard
O Open session JSONL in $EDITOR
s / q / Esc Open session picker
Ctrl+c Quit

Detail view

Key Action
j / k Next / previous item (or scroll)
/ Scroll viewport 3 lines
J / Ctrl+d Page down
K / Ctrl+u Page up
G / g Jump to last / first item
Tab Toggle expand/collapse current item
Enter Drill into subagent trace / toggle expand
q / Esc Back to list (or pop subagent stack)
Ctrl+c Quit

Debug log viewer

Key Action
j / k Move cursor down / up
/ Scroll viewport 3 lines
J / Ctrl+d Page down
K / Ctrl+u Page up
G / g Jump to last / first entry
Tab Expand/collapse multi-line entry
f Cycle level filter: All / Warn+ / Error
/ Text filter (type to search, Enter to commit, Esc to cancel)
y Copy debug log path to clipboard
O Open debug log in $EDITOR
q / Esc Clear text filter (first press) / back to list
Ctrl+c Quit

Session picker

Key Action
j / k / / Navigate sessions
G / g Jump to last / first session
Tab Toggle preview expansion
b Toggle worktree sessions (when worktrees exist)
Enter Open selected session
y Copy session JSONL path to clipboard
D Delete session (with confirmation popup)
q / Esc Back to list
Ctrl+c Quit

Click the fingerprint icon to copy the session UUID. Click ? in the footer to toggle keybind hints.

Development

Requires just for task running.

just check    # build + vet + staticcheck
just test     # run tests
just run      # build and launch TUI
just race     # build with race detector
just dump     # render latest session to stdout
just release  # tag, push, create GitHub release

Attribution

Parsing heuristics ported from claude-devtools. See ATTRIBUTION.md.

License

MIT

About

A Go Bubble Tea TUI for reading Claude Code session JSONL files

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors