Skip to content

Session JSON Format

Each session has a JSON file at ~/.claude-sessions/<tmux-session-name>.json.

{
"tmux_session": "my-session",
"status": "working",
"message": "Implementing login feature",
"cwd": "/home/user/projects/app",
"timestamp": 1738972800,
"git": {
"branch": "feature/login",
"dirty": true,
"ahead": 3,
"behind": 0,
"last_commit": "abc1234 Add login form",
"remote": "origin",
"pr_num": 42,
"fetched_at": 1738972800
},
"metrics": {
"started": 1738970000,
"total_seconds": 2800,
"working_seconds": 2400,
"waiting_seconds": 400,
"tools": {
"Read": 15,
"Write": 8,
"Bash": 5,
"Grep": 3
},
"recent_tools": ["Read", "Write", "Bash", "Read", "Grep"]
},
"tokens": {
"input": 45000,
"output": 12000,
"total": 57000
},
"team": {
"name": "my-project",
"agents": [
{
"name": "researcher",
"status": "working",
"timestamp": 1738972800
},
{
"name": "implementer",
"status": "idle",
"timestamp": 1738972850
}
]
}
}
FieldTypeDescription
tmux_sessionstringtmux session name (used as unique key)
statusstringCurrent session status
messagestringStatus message or question
cwdstringWorking directory path
timestampint64Unix timestamp of last status update
FieldTypeDescription
gitobjectGit repository information
metricsobjectTime and tool metrics
tokensobjectToken usage from transcripts
teamobjectAgent team information

See Status Icons for the complete list of valid status values.

Task providers output JSON to stdout:

{
"groups": [
{
"id": "1",
"title": "Sprint 1",
"status": "in_progress",
"url": "https://github.com/org/repo/milestone/1",
"tasks": [
{
"id": "1-1",
"title": "Fix login bug",
"status": "todo",
"assignee": "alice",
"labels": ["bug", "auth"],
"priority": 1,
"url": "https://github.com/org/repo/issues/42",
"created": "2026-01-01T00:00:00Z",
"updated": "2026-01-02T00:00:00Z"
}
]
}
]
}