Skip to content

Instantly share code, notes, and snippets.

@nicknisi
Last active July 23, 2026 16:50
Show Gist options
  • Select an option

  • Save nicknisi/8ae2614363943b4f83ca1e79572d5794 to your computer and use it in GitHub Desktop.

Select an option

Save nicknisi/8ae2614363943b4f83ca1e79572d5794 to your computer and use it in GitHub Desktop.
tokenmaxing — public data feed for nicknisi.com/tokenmaxing
{
"schemaVersion": 2,
"generatedAt": "2026-07-23T16:50:33.907Z",
"period": {
"from": "2025-08-21",
"to": "2026-07-23"
},
"summary": {
"totalCostUSD": 10321.17,
"totalTokens": 544997729,
"sessions": 1608,
"messages": 157233,
"activeDays": 186,
"currentStreakDays": 12,
"longestStreakDays": 54,
"peakHourLocal": 10,
"favoriteModel": {
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"label": "claude-opus-4-6"
}
},
"byTool": [
{
"id": "claude-code",
"label": "Claude Code",
"tokens": 729910496,
"costUSD": 16415.15,
"sessions": 2488,
"messages": 144858
},
{
"id": "codex",
"label": "Codex",
"tokens": 85243744,
"costUSD": 648.97,
"sessions": 280,
"messages": 8729
},
{
"id": "pi",
"label": "Pi",
"tokens": 20309530,
"costUSD": 297.95,
"sessions": 170,
"messages": 3558
},
{
"id": "opencode",
"label": "opencode",
"tokens": 41480,
"costUSD": 0.31,
"sessions": 70,
"messages": 88
}
],
"byProvider": [
{
"id": "anthropic",
"label": "Anthropic",
"tokens": 737903432,
"costUSD": 16547.24
},
{
"id": "openai",
"label": "OpenAI",
"tokens": 87217834,
"costUSD": 713.22
},
{
"id": "openai-codex",
"label": "openai-codex",
"tokens": 10383984,
"costUSD": 101.93
},
{
"id": "lmstudio",
"label": "lmstudio",
"tokens": 0,
"costUSD": 0
},
{
"id": "opencode",
"label": "opencode",
"tokens": 0,
"costUSD": 0
},
{
"id": "baseten",
"label": "Baseten",
"tokens": 0,
"costUSD": 0
}
],
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"label": "claude-opus-4-8",
"tokens": 271167541,
"costUSD": 5345.97,
"sessions": 299,
"messages": 36197
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"label": "claude-opus-4-6",
"tokens": 194010107,
"costUSD": 4811.92,
"sessions": 783,
"messages": 47287
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"label": "claude-fable-5",
"tokens": 73161693,
"costUSD": 2864.31,
"sessions": 153,
"messages": 11931
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"label": "claude-opus-4-7",
"tokens": 117892937,
"costUSD": 2701.6,
"sessions": 708,
"messages": 26849
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"label": "claude-opus-4-5-20251101",
"tokens": 25948141,
"costUSD": 444.61,
"sessions": 553,
"messages": 11405
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"label": "gpt-5.5",
"tokens": 26981877,
"costUSD": 379.19,
"sessions": 110,
"messages": 4245
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"label": "claude-sonnet-4-6",
"tokens": 7929229,
"costUSD": 118.1,
"sessions": 113,
"messages": 2622
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"label": "claude-haiku-4-5-20251001",
"tokens": 35689331,
"costUSD": 109.93,
"sessions": 281,
"messages": 7776
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"label": "claude-opus-4-6",
"tokens": 6739315,
"costUSD": 104.74,
"sessions": 89,
"messages": 1585
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5-codex",
"label": "gpt-5-codex",
"tokens": 18457410,
"costUSD": 94.63,
"sessions": 1,
"messages": 417
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"label": "gpt-5.6-sol",
"tokens": 5554167,
"costUSD": 87.71,
"sessions": 29,
"messages": 927
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"label": "gpt-5.5",
"tokens": 6245885,
"costUSD": 78.35,
"sessions": 27,
"messages": 1069
},
{
"tool": "pi",
"provider": "openai",
"id": "gpt-5.4-pro",
"label": "gpt-5.4-pro",
"tokens": 1974090,
"costUSD": 64.25,
"sessions": 8,
"messages": 67
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"label": "gpt-5.4",
"tokens": 10109518,
"costUSD": 58.77,
"sessions": 96,
"messages": 1599
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-7",
"label": "claude-opus-4-7",
"tokens": 1030666,
"costUSD": 26.32,
"sessions": 4,
"messages": 150
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"label": "gpt-5.4",
"tokens": 4138099,
"costUSD": 23.58,
"sessions": 21,
"messages": 589
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"label": "gpt-5.3-codex",
"tokens": 4902539,
"costUSD": 18.81,
"sessions": 19,
"messages": 610
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"label": "claude-sonnet-4-5-20250929",
"tokens": 2905209,
"costUSD": 13.97,
"sessions": 30,
"messages": 350
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"label": "gpt-5",
"tokens": 19238233,
"costUSD": 9.86,
"sessions": 25,
"messages": 931
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-5",
"label": "claude-sonnet-5",
"tokens": 1206308,
"costUSD": 4.73,
"sessions": 20,
"messages": 97
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-sonnet-4-20250514",
"label": "claude-sonnet-4-20250514",
"tokens": 57418,
"costUSD": 0.39,
"sessions": 22,
"messages": 38
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-haiku-4-5",
"label": "claude-haiku-4-5",
"tokens": 118273,
"costUSD": 0.32,
"sessions": 5,
"messages": 52
},
{
"tool": "opencode",
"provider": "anthropic",
"id": "claude-opus-4-5",
"label": "claude-opus-4-5",
"tokens": 41480,
"costUSD": 0.31,
"sessions": 4,
"messages": 12
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"label": "claude-sonnet-4-6",
"tokens": 5784,
"costUSD": 0.02,
"sessions": 1,
"messages": 1
},
{
"tool": "opencode",
"provider": "lmstudio",
"id": "openai/gpt-oss-120b",
"label": "openai/gpt-oss-120b",
"tokens": 0,
"costUSD": 0,
"sessions": 48,
"messages": 54
},
{
"tool": "opencode",
"provider": "lmstudio",
"id": "gpt-oss-120b",
"label": "gpt-oss-120b",
"tokens": 0,
"costUSD": 0,
"sessions": 12,
"messages": 13
},
{
"tool": "opencode",
"provider": "opencode",
"id": "sonic",
"label": "sonic",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 5
},
{
"tool": "opencode",
"provider": "lmstudio",
"id": "openai/gpt-oss-20b",
"label": "openai/gpt-oss-20b",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 3
},
{
"tool": "opencode",
"provider": "openai",
"id": "gpt-oss-120b",
"label": "gpt-oss-120b",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"label": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 173,
"messages": 344
},
{
"tool": "pi",
"provider": "baseten",
"id": "moonshotai/Kimi-K2.5",
"label": "moonshotai/Kimi-K2.5",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 5
},
{
"tool": "pi",
"provider": "openai",
"id": "gpt-5.4",
"label": "gpt-5.4",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": [
{
"label": "cli",
"tokens": 182069988,
"costUSD": 3794.79,
"sessions": 470
},
{
"label": "case",
"tokens": 44940319,
"costUSD": 1079.57,
"sessions": 112
},
{
"label": "workos",
"tokens": 51681865,
"costUSD": 1026.19,
"sessions": 124
},
{
"label": "dotfiles",
"tokens": 34910858,
"costUSD": 719.02,
"sessions": 252
},
{
"label": "skills",
"tokens": 39164001,
"costUSD": 624.28,
"sessions": 100
},
{
"label": "claude-plugins",
"tokens": 32002279,
"costUSD": 581.78,
"sessions": 100
},
{
"label": "authkit-tanstack-start",
"tokens": 49798690,
"costUSD": 526.45,
"sessions": 101
},
{
"label": "authkit-nextjs",
"tokens": 27578550,
"costUSD": 502.67,
"sessions": 117
},
{
"label": "authkit-session",
"tokens": 20253539,
"costUSD": 351.77,
"sessions": 110
},
{
"label": "talks",
"tokens": 8692647,
"costUSD": 196,
"sessions": 15
},
{
"label": "aie-europe",
"tokens": 7476752,
"costUSD": 156.98,
"sessions": 32
},
{
"label": "workos-node",
"tokens": 8472468,
"costUSD": 118.14,
"sessions": 104
},
{
"label": "authkit-sveltekit",
"tokens": 5026066,
"costUSD": 108.42,
"sessions": 25
},
{
"label": "nicknisi.com",
"tokens": 5818851,
"costUSD": 103.95,
"sessions": 14
},
{
"label": "emulate",
"tokens": 5887295,
"costUSD": 102.62,
"sessions": 15
},
{
"label": "claude-plugins-internal",
"tokens": 3939875,
"costUSD": 56.48,
"sessions": 6
},
{
"label": "tokenmaxing",
"tokens": 1742798,
"costUSD": 55.5,
"sessions": 10
},
{
"label": "authkit-react-router",
"tokens": 2732531,
"costUSD": 53.23,
"sessions": 13
},
{
"label": "authkit-js",
"tokens": 2140178,
"costUSD": 45.57,
"sessions": 16
},
{
"label": "wizard",
"tokens": 3693668,
"costUSD": 18.27,
"sessions": 40
},
{
"label": "workos-bulk-user-import-tool-multi-org",
"tokens": 738278,
"costUSD": 15.81,
"sessions": 2
},
{
"label": "workos-custom-ui-authkit-example",
"tokens": 210039,
"costUSD": 15.67,
"sessions": 1
},
{
"label": "authkit-react",
"tokens": 1029081,
"costUSD": 13.15,
"sessions": 13
},
{
"label": "workos-php",
"tokens": 321497,
"costUSD": 8.46,
"sessions": 3
},
{
"label": "workos-spec",
"tokens": 423647,
"costUSD": 7.26,
"sessions": 3
},
{
"label": "nicknisi",
"tokens": 405320,
"costUSD": 6.21,
"sessions": 6
},
{
"label": "vibekit-cli-proto",
"tokens": 364021,
"costUSD": 6.19,
"sessions": 3
},
{
"label": "expo-authkit-example",
"tokens": 458902,
"costUSD": 4.15,
"sessions": 9
},
{
"label": "workos-go",
"tokens": 544877,
"costUSD": 3.25,
"sessions": 3
},
{
"label": "cc-source",
"tokens": 632583,
"costUSD": 3.05,
"sessions": 2
},
{
"label": "betterauth-workos",
"tokens": 355471,
"costUSD": 2.91,
"sessions": 3
},
{
"label": "mpp-demo",
"tokens": 145096,
"costUSD": 2.21,
"sessions": 3
},
{
"label": "react-authkit-example",
"tokens": 113481,
"costUSD": 1.73,
"sessions": 2
},
{
"label": "workos-python",
"tokens": 224812,
"costUSD": 1.54,
"sessions": 3
},
{
"label": "mpp-service",
"tokens": 60799,
"costUSD": 1.53,
"sessions": 1
},
{
"label": "react-router-authkit-example",
"tokens": 64056,
"costUSD": 1.39,
"sessions": 1
},
{
"label": "posthog-wizard",
"tokens": 40395,
"costUSD": 1.18,
"sessions": 1
},
{
"label": "mcp-docs-server",
"tokens": 50261,
"costUSD": 1.14,
"sessions": 1
},
{
"label": "workos-cli",
"tokens": 13737,
"costUSD": 1.1,
"sessions": 1
},
{
"label": "next-authkit-example",
"tokens": 5131,
"costUSD": 0.76,
"sessions": 1
},
{
"label": "tanstack-router",
"tokens": 154355,
"costUSD": 0.31,
"sessions": 2
},
{
"label": "authkit-remix",
"tokens": 24756,
"costUSD": 0.31,
"sessions": 1
},
{
"label": "widgets",
"tokens": 20591,
"costUSD": 0.16,
"sessions": 1
},
{
"label": "authkit-script",
"tokens": 25773,
"costUSD": 0.11,
"sessions": 1
},
{
"label": "authkit-opennextjs-aws-example-app",
"tokens": 106413,
"costUSD": 0,
"sessions": 1
},
{
"label": "mcp-shop-cloudflare",
"tokens": 441139,
"costUSD": 0,
"sessions": 2
}
],
"daily": [
{
"date": "2025-08-21",
"tokens": 0,
"costUSD": 0,
"sessions": 57,
"messages": 66,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
40,
24,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"opencode": {
"tokens": 0,
"costUSD": 0,
"sessions": 57,
"messages": 66
}
},
"byProvider": {
"lmstudio": {
"tokens": 0,
"costUSD": 0
},
"opencode": {
"tokens": 0,
"costUSD": 0
}
},
"byModel": [
{
"tool": "opencode",
"provider": "lmstudio",
"id": "openai/gpt-oss-120b",
"tokens": 0,
"costUSD": 0,
"sessions": 44,
"messages": 49
},
{
"tool": "opencode",
"provider": "lmstudio",
"id": "gpt-oss-120b",
"tokens": 0,
"costUSD": 0,
"sessions": 8,
"messages": 9
},
{
"tool": "opencode",
"provider": "opencode",
"id": "sonic",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 5
},
{
"tool": "opencode",
"provider": "lmstudio",
"id": "openai/gpt-oss-20b",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 3
}
],
"byProject": {
"dotfiles": {
"tokens": 0,
"costUSD": 0,
"sessions": 57
}
}
},
{
"date": "2025-08-22",
"tokens": 0,
"costUSD": 0,
"sessions": 9,
"messages": 10,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
7,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"opencode": {
"tokens": 0,
"costUSD": 0,
"sessions": 9,
"messages": 10
}
},
"byProvider": {
"openai": {
"tokens": 0,
"costUSD": 0
},
"lmstudio": {
"tokens": 0,
"costUSD": 0
}
},
"byModel": [
{
"tool": "opencode",
"provider": "openai",
"id": "gpt-oss-120b",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
},
{
"tool": "opencode",
"provider": "lmstudio",
"id": "openai/gpt-oss-120b",
"tokens": 0,
"costUSD": 0,
"sessions": 4,
"messages": 5
},
{
"tool": "opencode",
"provider": "lmstudio",
"id": "gpt-oss-120b",
"tokens": 0,
"costUSD": 0,
"sessions": 4,
"messages": 4
}
],
"byProject": {
"dotfiles": {
"tokens": 0,
"costUSD": 0,
"sessions": 9
}
}
},
{
"date": "2025-09-25",
"tokens": 18457410,
"costUSD": 94.63,
"sessions": 1,
"messages": 417,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
53,
220,
144
],
"byTool": {
"codex": {
"tokens": 18457410,
"costUSD": 94.63,
"sessions": 1,
"messages": 417
}
},
"byProvider": {
"openai": {
"tokens": 18457410,
"costUSD": 94.63
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5-codex",
"tokens": 18457410,
"costUSD": 94.63,
"sessions": 1,
"messages": 417
}
],
"byProject": {
"authkit-tanstack-start": {
"tokens": 18457410,
"costUSD": 94.63,
"sessions": 1
}
}
},
{
"date": "2025-09-26",
"tokens": 706658,
"costUSD": 0,
"sessions": 1,
"messages": 43,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
43,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 706658,
"costUSD": 0,
"sessions": 1,
"messages": 43
}
},
"byProvider": {
"openai": {
"tokens": 706658,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 706658,
"costUSD": 0,
"sessions": 1,
"messages": 43
}
],
"byProject": {
"authkit-tanstack-start": {
"tokens": 706658,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2025-11-11",
"tokens": 106413,
"costUSD": 0,
"sessions": 1,
"messages": 9,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
9,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 106413,
"costUSD": 0,
"sessions": 1,
"messages": 9
}
},
"byProvider": {
"openai": {
"tokens": 106413,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 106413,
"costUSD": 0,
"sessions": 1,
"messages": 9
}
],
"byProject": {
"authkit-opennextjs-aws-example-app": {
"tokens": 106413,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2025-11-12",
"tokens": 57259,
"costUSD": 0,
"sessions": 3,
"messages": 3,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 57259,
"costUSD": 0,
"sessions": 3,
"messages": 3
}
},
"byProvider": {
"openai": {
"tokens": 57259,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 57259,
"costUSD": 0,
"sessions": 3,
"messages": 3
}
],
"byProject": {
"dotfiles": {
"tokens": 39578,
"costUSD": 0,
"sessions": 2
},
"workos-node": {
"tokens": 17681,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2025-11-13",
"tokens": 2094807,
"costUSD": 0,
"sessions": 6,
"messages": 102,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
30,
70,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 2094807,
"costUSD": 0,
"sessions": 6,
"messages": 102
}
},
"byProvider": {
"openai": {
"tokens": 2094807,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 2094807,
"costUSD": 0,
"sessions": 6,
"messages": 102
}
],
"byProject": {
"mcp-shop-cloudflare": {
"tokens": 441139,
"costUSD": 0,
"sessions": 2
},
"authkit-session": {
"tokens": 31208,
"costUSD": 0,
"sessions": 2
},
"claude-plugins": {
"tokens": 1622460,
"costUSD": 0,
"sessions": 2
}
}
},
{
"date": "2025-11-14",
"tokens": 23114,
"costUSD": 0,
"sessions": 1,
"messages": 1,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 23114,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
},
"byProvider": {
"openai": {
"tokens": 23114,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 23114,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-session": {
"tokens": 23114,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2025-11-18",
"tokens": 1133883,
"costUSD": 0,
"sessions": 1,
"messages": 43,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
43,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 1133883,
"costUSD": 0,
"sessions": 1,
"messages": 43
}
},
"byProvider": {
"openai": {
"tokens": 1133883,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 1133883,
"costUSD": 0,
"sessions": 1,
"messages": 43
}
],
"byProject": {
"authkit-nextjs": {
"tokens": 1133883,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2025-11-25",
"tokens": 11300,
"costUSD": 0,
"sessions": 1,
"messages": 1,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 11300,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
},
"byProvider": {
"openai": {
"tokens": 11300,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 11300,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"workos-php": {
"tokens": 11300,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2025-12-08",
"tokens": 6997831,
"costUSD": 0,
"sessions": 1,
"messages": 146,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
44,
0,
0,
102,
0,
0
],
"byTool": {
"codex": {
"tokens": 6997831,
"costUSD": 0,
"sessions": 1,
"messages": 146
}
},
"byProvider": {
"openai": {
"tokens": 6997831,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 6997831,
"costUSD": 0,
"sessions": 1,
"messages": 146
}
],
"byProject": {
"authkit-tanstack-start": {
"tokens": 6997831,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2025-12-19",
"tokens": 22004,
"costUSD": 0,
"sessions": 1,
"messages": 1,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 22004,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
},
"byProvider": {
"openai": {
"tokens": 22004,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 22004,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-nextjs": {
"tokens": 22004,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2025-12-20",
"tokens": 3507086,
"costUSD": 0,
"sessions": 3,
"messages": 141,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
141,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"codex": {
"tokens": 3507086,
"costUSD": 0,
"sessions": 3,
"messages": 141
}
},
"byProvider": {
"openai": {
"tokens": 3507086,
"costUSD": 0
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 3507086,
"costUSD": 0,
"sessions": 3,
"messages": 141
}
],
"byProject": {
"authkit-nextjs": {
"tokens": 3507086,
"costUSD": 0,
"sessions": 3
}
}
},
{
"date": "2026-01-09",
"tokens": 574511,
"costUSD": 3.21,
"sessions": 15,
"messages": 90,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
4,
13,
45,
0,
0,
8,
3,
17,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 533031,
"costUSD": 2.9,
"sessions": 11,
"messages": 78
},
"opencode": {
"tokens": 41480,
"costUSD": 0.31,
"sessions": 4,
"messages": 12
}
},
"byProvider": {
"anthropic": {
"tokens": 574511,
"costUSD": 3.21
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 365187,
"costUSD": 2.65,
"sessions": 11,
"messages": 55
},
{
"tool": "opencode",
"provider": "anthropic",
"id": "claude-opus-4-5",
"tokens": 41480,
"costUSD": 0.31,
"sessions": 4,
"messages": 12
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 167844,
"costUSD": 0.25,
"sessions": 10,
"messages": 23
}
],
"byProject": {
"workos-python": {
"tokens": 31863,
"costUSD": 0.14,
"sessions": 1
},
"authkit-react": {
"tokens": 29040,
"costUSD": 0.11,
"sessions": 1
},
"workos-node": {
"tokens": 170165,
"costUSD": 0.64,
"sessions": 4
},
"dotfiles": {
"tokens": 36206,
"costUSD": 0.15,
"sessions": 2
},
"authkit-tanstack-start": {
"tokens": 265122,
"costUSD": 1.97,
"sessions": 6
},
"workos": {
"tokens": 42115,
"costUSD": 0.19,
"sessions": 1
}
}
},
{
"date": "2026-01-10",
"tokens": 31959,
"costUSD": 0.13,
"sessions": 1,
"messages": 3,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 31959,
"costUSD": 0.13,
"sessions": 1,
"messages": 3
}
},
"byProvider": {
"anthropic": {
"tokens": 31959,
"costUSD": 0.13
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 18539,
"costUSD": 0.12,
"sessions": 1,
"messages": 2
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 13420,
"costUSD": 0.02,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-nextjs": {
"tokens": 31959,
"costUSD": 0.13,
"sessions": 1
}
}
},
{
"date": "2026-01-12",
"tokens": 865715,
"costUSD": 3.47,
"sessions": 14,
"messages": 107,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
3,
38,
0,
3,
0,
6,
30,
6,
15,
0,
0,
6,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 865715,
"costUSD": 3.47,
"sessions": 14,
"messages": 107
}
},
"byProvider": {
"anthropic": {
"tokens": 865715,
"costUSD": 3.47
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 356767,
"costUSD": 1.58,
"sessions": 11,
"messages": 49
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 224793,
"costUSD": 1.39,
"sessions": 5,
"messages": 14
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 284155,
"costUSD": 0.5,
"sessions": 14,
"messages": 44
}
],
"byProject": {
"claude-plugins": {
"tokens": 32175,
"costUSD": 0.09,
"sessions": 1
},
"workos-python": {
"tokens": 32672,
"costUSD": 0.09,
"sessions": 1
},
"authkit-session": {
"tokens": 45936,
"costUSD": 0.13,
"sessions": 1
},
"wizard": {
"tokens": 150860,
"costUSD": 0.46,
"sessions": 4
},
"workos-node": {
"tokens": 205815,
"costUSD": 0.73,
"sessions": 3
},
"nicknisi.com": {
"tokens": 30223,
"costUSD": 0.13,
"sessions": 1
},
"workos-go": {
"tokens": 295925,
"costUSD": 1.65,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 72109,
"costUSD": 0.2,
"sessions": 2
}
}
},
{
"date": "2026-01-14",
"tokens": 276608,
"costUSD": 1.94,
"sessions": 4,
"messages": 25,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
6,
0,
4,
0,
0,
0,
15,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 276608,
"costUSD": 1.94,
"sessions": 4,
"messages": 25
}
},
"byProvider": {
"anthropic": {
"tokens": 276608,
"costUSD": 1.94
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 250893,
"costUSD": 1.91,
"sessions": 4,
"messages": 23
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 25715,
"costUSD": 0.03,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"expo-authkit-example": {
"tokens": 44271,
"costUSD": 0.32,
"sessions": 1
},
"authkit-js": {
"tokens": 172102,
"costUSD": 1.37,
"sessions": 1
},
"nicknisi.com": {
"tokens": 60235,
"costUSD": 0.25,
"sessions": 2
}
}
},
{
"date": "2026-01-15",
"tokens": 349416,
"costUSD": 1.01,
"sessions": 2,
"messages": 62,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
15,
0,
47,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 349416,
"costUSD": 1.01,
"sessions": 2,
"messages": 62
}
},
"byProvider": {
"anthropic": {
"tokens": 349416,
"costUSD": 1.01
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 299988,
"costUSD": 0.58,
"sessions": 2,
"messages": 54
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 49428,
"costUSD": 0.42,
"sessions": 1,
"messages": 8
}
],
"byProject": {
"wizard": {
"tokens": 349416,
"costUSD": 1.01,
"sessions": 2
}
}
},
{
"date": "2026-01-16",
"tokens": 220607,
"costUSD": 0.7,
"sessions": 3,
"messages": 48,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
6,
13,
0,
0,
0,
10,
0,
19,
0
],
"byTool": {
"claude-code": {
"tokens": 220607,
"costUSD": 0.7,
"sessions": 3,
"messages": 48
}
},
"byProvider": {
"anthropic": {
"tokens": 220607,
"costUSD": 0.7
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 157206,
"costUSD": 0.29,
"sessions": 2,
"messages": 33
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 42266,
"costUSD": 0.29,
"sessions": 1,
"messages": 5
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 21135,
"costUSD": 0.12,
"sessions": 1,
"messages": 10
}
],
"byProject": {
"wizard": {
"tokens": 220607,
"costUSD": 0.7,
"sessions": 3
}
}
},
{
"date": "2026-01-17",
"tokens": 278884,
"costUSD": 0.78,
"sessions": 4,
"messages": 61,
"hourCounts": [
0,
0,
0,
0,
0,
0,
22,
0,
0,
1,
14,
2,
0,
0,
22,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 278884,
"costUSD": 0.78,
"sessions": 4,
"messages": 61
}
},
"byProvider": {
"anthropic": {
"tokens": 278884,
"costUSD": 0.78
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 215375,
"costUSD": 0.49,
"sessions": 3,
"messages": 52
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 63509,
"costUSD": 0.3,
"sessions": 2,
"messages": 9
}
],
"byProject": {
"wizard": {
"tokens": 278884,
"costUSD": 0.78,
"sessions": 4
}
}
},
{
"date": "2026-01-18",
"tokens": 322065,
"costUSD": 1.42,
"sessions": 2,
"messages": 61,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
16,
0,
0,
0,
0,
19,
26,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 322065,
"costUSD": 1.42,
"sessions": 2,
"messages": 61
}
},
"byProvider": {
"anthropic": {
"tokens": 322065,
"costUSD": 1.42
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 131928,
"costUSD": 1.04,
"sessions": 1,
"messages": 15
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 190137,
"costUSD": 0.37,
"sessions": 2,
"messages": 46
}
],
"byProject": {
"wizard": {
"tokens": 322065,
"costUSD": 1.42,
"sessions": 2
}
}
},
{
"date": "2026-01-20",
"tokens": 399477,
"costUSD": 3.32,
"sessions": 3,
"messages": 97,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
26,
0,
0,
0,
26,
0,
0,
0,
0,
45,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 399477,
"costUSD": 3.32,
"sessions": 3,
"messages": 97
}
},
"byProvider": {
"anthropic": {
"tokens": 399477,
"costUSD": 3.32
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 301642,
"costUSD": 3.1,
"sessions": 3,
"messages": 68
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 97835,
"costUSD": 0.22,
"sessions": 1,
"messages": 29
}
],
"byProject": {
"workos-python": {
"tokens": 160277,
"costUSD": 1.31,
"sessions": 1
},
"wizard": {
"tokens": 239200,
"costUSD": 2.01,
"sessions": 2
}
}
},
{
"date": "2026-01-21",
"tokens": 1182205,
"costUSD": 6.31,
"sessions": 6,
"messages": 216,
"hourCounts": [
0,
0,
0,
0,
0,
0,
35,
0,
0,
34,
0,
0,
32,
6,
109,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1182205,
"costUSD": 6.31,
"sessions": 6,
"messages": 216
}
},
"byProvider": {
"anthropic": {
"tokens": 1182205,
"costUSD": 6.31
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 594114,
"costUSD": 5.09,
"sessions": 4,
"messages": 87
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 588091,
"costUSD": 1.22,
"sessions": 3,
"messages": 129
}
],
"byProject": {
"wizard": {
"tokens": 462449,
"costUSD": 1.12,
"sessions": 3
},
"authkit-nextjs": {
"tokens": 230831,
"costUSD": 0.89,
"sessions": 1
},
"workos": {
"tokens": 488925,
"costUSD": 4.3,
"sessions": 2
}
}
},
{
"date": "2026-01-22",
"tokens": 229025,
"costUSD": 0.45,
"sessions": 4,
"messages": 58,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
14,
13,
15,
0,
0,
0,
0,
9,
7,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 229025,
"costUSD": 0.45,
"sessions": 4,
"messages": 58
}
},
"byProvider": {
"anthropic": {
"tokens": 229025,
"costUSD": 0.45
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 229025,
"costUSD": 0.45,
"sessions": 4,
"messages": 58
}
],
"byProject": {
"wizard": {
"tokens": 196115,
"costUSD": 0.37,
"sessions": 3
},
"tanstack-router": {
"tokens": 32910,
"costUSD": 0.08,
"sessions": 1
}
}
},
{
"date": "2026-01-23",
"tokens": 545966,
"costUSD": 2.91,
"sessions": 8,
"messages": 111,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
12,
16,
0,
0,
26,
0,
4,
9,
7,
37,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 545966,
"costUSD": 2.91,
"sessions": 8,
"messages": 111
}
},
"byProvider": {
"anthropic": {
"tokens": 545966,
"costUSD": 2.91
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 259810,
"costUSD": 2.34,
"sessions": 2,
"messages": 55
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 264662,
"costUSD": 0.48,
"sessions": 6,
"messages": 52
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 21494,
"costUSD": 0.09,
"sessions": 1,
"messages": 4
}
],
"byProject": {
"claude-plugins": {
"tokens": 35759,
"costUSD": 0.06,
"sessions": 1
},
"wizard": {
"tokens": 456261,
"costUSD": 2.75,
"sessions": 6
},
"workos": {
"tokens": 53946,
"costUSD": 0.1,
"sessions": 1
}
}
},
{
"date": "2026-01-24",
"tokens": 195832,
"costUSD": 1.06,
"sessions": 2,
"messages": 29,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
19,
0,
0,
0,
0,
0,
0,
0,
0,
10,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 195832,
"costUSD": 1.06,
"sessions": 2,
"messages": 29
}
},
"byProvider": {
"anthropic": {
"tokens": 195832,
"costUSD": 1.06
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 107238,
"costUSD": 0.93,
"sessions": 2,
"messages": 16
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 88594,
"costUSD": 0.14,
"sessions": 1,
"messages": 13
}
],
"byProject": {
"wizard": {
"tokens": 195832,
"costUSD": 1.06,
"sessions": 2
}
}
},
{
"date": "2026-01-26",
"tokens": 100880,
"costUSD": 0.34,
"sessions": 2,
"messages": 24,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
24,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 100880,
"costUSD": 0.34,
"sessions": 2,
"messages": 24
}
},
"byProvider": {
"anthropic": {
"tokens": 100880,
"costUSD": 0.34
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 80289,
"costUSD": 0.18,
"sessions": 1,
"messages": 20
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 20591,
"costUSD": 0.16,
"sessions": 1,
"messages": 4
}
],
"byProject": {
"widgets": {
"tokens": 20591,
"costUSD": 0.16,
"sessions": 1
},
"betterauth-workos": {
"tokens": 80289,
"costUSD": 0.18,
"sessions": 1
}
}
},
{
"date": "2026-01-27",
"tokens": 132982,
"costUSD": 0.33,
"sessions": 2,
"messages": 40,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
40,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 132982,
"costUSD": 0.33,
"sessions": 2,
"messages": 40
}
},
"byProvider": {
"anthropic": {
"tokens": 132982,
"costUSD": 0.33
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 132982,
"costUSD": 0.33,
"sessions": 2,
"messages": 40
}
],
"byProject": {
"workos-node": {
"tokens": 65381,
"costUSD": 0.22,
"sessions": 1
},
"workos": {
"tokens": 67601,
"costUSD": 0.11,
"sessions": 1
}
}
},
{
"date": "2026-01-28",
"tokens": 1317714,
"costUSD": 8.79,
"sessions": 10,
"messages": 174,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
39,
0,
0,
0,
14,
24,
40,
12,
0,
0,
0,
32,
0,
13
],
"byTool": {
"claude-code": {
"tokens": 1317714,
"costUSD": 8.79,
"sessions": 10,
"messages": 174
}
},
"byProvider": {
"anthropic": {
"tokens": 1317714,
"costUSD": 8.79
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 627273,
"costUSD": 6.5,
"sessions": 6,
"messages": 87
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 399305,
"costUSD": 1.76,
"sessions": 2,
"messages": 33
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 291136,
"costUSD": 0.53,
"sessions": 4,
"messages": 54
}
],
"byProject": {
"claude-plugins": {
"tokens": 34818,
"costUSD": 0.05,
"sessions": 1
},
"cli": {
"tokens": 135305,
"costUSD": 0.66,
"sessions": 1
},
"wizard": {
"tokens": 688924,
"costUSD": 5,
"sessions": 4
},
"tanstack-router": {
"tokens": 121445,
"costUSD": 0.23,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 62040,
"costUSD": 0.13,
"sessions": 1
},
"betterauth-workos": {
"tokens": 275182,
"costUSD": 2.73,
"sessions": 2
}
}
},
{
"date": "2026-01-29",
"tokens": 343660,
"costUSD": 2.58,
"sessions": 6,
"messages": 60,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
0,
32,
4,
18,
0,
0,
3,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 343660,
"costUSD": 2.58,
"sessions": 6,
"messages": 60
}
},
"byProvider": {
"anthropic": {
"tokens": 343660,
"costUSD": 2.58
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 231973,
"costUSD": 2.26,
"sessions": 4,
"messages": 55
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 77213,
"costUSD": 0.28,
"sessions": 1,
"messages": 2
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 34474,
"costUSD": 0.05,
"sessions": 1,
"messages": 3
}
],
"byProject": {
"cli": {
"tokens": 51404,
"costUSD": 0.77,
"sessions": 3
},
"wizard": {
"tokens": 111687,
"costUSD": 0.33,
"sessions": 2
},
"workos-go": {
"tokens": 180569,
"costUSD": 1.48,
"sessions": 1
}
}
},
{
"date": "2026-01-30",
"tokens": 67663,
"costUSD": 2.89,
"sessions": 12,
"messages": 149,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
11,
10,
3,
6,
1,
13,
0,
30,
0,
0,
11,
16,
44,
4,
0
],
"byTool": {
"claude-code": {
"tokens": 67663,
"costUSD": 2.89,
"sessions": 12,
"messages": 149
}
},
"byProvider": {
"anthropic": {
"tokens": 67663,
"costUSD": 2.89
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 46160,
"costUSD": 2.86,
"sessions": 12,
"messages": 72
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 21503,
"costUSD": 0.04,
"sessions": 1,
"messages": 7
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 8,
"messages": 70
}
],
"byProject": {
"cli": {
"tokens": 46295,
"costUSD": 1.63,
"sessions": 9
},
"wizard": {
"tokens": 21368,
"costUSD": 1.26,
"sessions": 3
}
}
},
{
"date": "2026-01-31",
"tokens": 1029304,
"costUSD": 7.15,
"sessions": 7,
"messages": 96,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
7,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
9,
0,
9,
31,
24,
14
],
"byTool": {
"claude-code": {
"tokens": 1029304,
"costUSD": 7.15,
"sessions": 7,
"messages": 96
}
},
"byProvider": {
"anthropic": {
"tokens": 1029304,
"costUSD": 7.15
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 857313,
"costUSD": 6.8,
"sessions": 7,
"messages": 50
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 171991,
"costUSD": 0.35,
"sessions": 3,
"messages": 39
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 7
}
],
"byProject": {
"cli": {
"tokens": 694614,
"costUSD": 4.96,
"sessions": 5
},
"dotfiles": {
"tokens": 334690,
"costUSD": 2.19,
"sessions": 2
}
}
},
{
"date": "2026-02-01",
"tokens": 1031340,
"costUSD": 7.39,
"sessions": 6,
"messages": 53,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
11,
20,
0,
4,
18,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1031340,
"costUSD": 7.39,
"sessions": 6,
"messages": 53
}
},
"byProvider": {
"anthropic": {
"tokens": 1031340,
"costUSD": 7.39
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 984282,
"costUSD": 7.28,
"sessions": 6,
"messages": 36
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 47058,
"costUSD": 0.1,
"sessions": 1,
"messages": 17
}
],
"byProject": {
"cli": {
"tokens": 1031340,
"costUSD": 7.39,
"sessions": 6
}
}
},
{
"date": "2026-02-02",
"tokens": 1590465,
"costUSD": 11.48,
"sessions": 9,
"messages": 115,
"hourCounts": [
0,
0,
0,
0,
0,
7,
7,
12,
8,
1,
46,
6,
0,
6,
7,
5,
7,
0,
0,
0,
0,
2,
1,
0
],
"byTool": {
"claude-code": {
"tokens": 1590465,
"costUSD": 11.48,
"sessions": 9,
"messages": 115
}
},
"byProvider": {
"anthropic": {
"tokens": 1590465,
"costUSD": 11.48
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 1469829,
"costUSD": 11.24,
"sessions": 9,
"messages": 73
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 120636,
"costUSD": 0.25,
"sessions": 2,
"messages": 42
}
],
"byProject": {
"cli": {
"tokens": 1590465,
"costUSD": 11.48,
"sessions": 9
}
}
},
{
"date": "2026-02-03",
"tokens": 1386448,
"costUSD": 8.81,
"sessions": 7,
"messages": 103,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
14,
49,
16,
0,
0,
0,
0,
0,
0,
14,
1,
0,
0,
0,
0,
8,
1
],
"byTool": {
"claude-code": {
"tokens": 1386448,
"costUSD": 8.81,
"sessions": 7,
"messages": 103
}
},
"byProvider": {
"anthropic": {
"tokens": 1386448,
"costUSD": 8.81
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 1148599,
"costUSD": 8.2,
"sessions": 6,
"messages": 35
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 205317,
"costUSD": 0.44,
"sessions": 3,
"messages": 60
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 32532,
"costUSD": 0.17,
"sessions": 1,
"messages": 8
}
],
"byProject": {
"cli": {
"tokens": 1318065,
"costUSD": 8.69,
"sessions": 6
},
"workos-go": {
"tokens": 68383,
"costUSD": 0.12,
"sessions": 1
}
}
},
{
"date": "2026-02-04",
"tokens": 135245,
"costUSD": 1.1,
"sessions": 3,
"messages": 49,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
28,
2,
0,
19,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 135245,
"costUSD": 1.1,
"sessions": 3,
"messages": 49
}
},
"byProvider": {
"anthropic": {
"tokens": 135245,
"costUSD": 1.1
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 99343,
"costUSD": 1.01,
"sessions": 2,
"messages": 31
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 35902,
"costUSD": 0.09,
"sessions": 1,
"messages": 18
}
],
"byProject": {
"authkit-sveltekit": {
"tokens": 35902,
"costUSD": 0.09,
"sessions": 1
},
"cli": {
"tokens": 99343,
"costUSD": 1.01,
"sessions": 2
}
}
},
{
"date": "2026-02-05",
"tokens": 470145,
"costUSD": 2.58,
"sessions": 3,
"messages": 95,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
15,
0,
0,
1,
1,
19,
8,
0,
51,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 567749,
"costUSD": 3.19,
"sessions": 4,
"messages": 95
}
},
"byProvider": {
"anthropic": {
"tokens": 567749,
"costUSD": 3.19
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 201568,
"costUSD": 1.26,
"sessions": 1,
"messages": 2
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 186612,
"costUSD": 1.02,
"sessions": 1,
"messages": 27
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 86699,
"costUSD": 0.64,
"sessions": 2,
"messages": 7
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 92870,
"costUSD": 0.27,
"sessions": 2,
"messages": 59
}
],
"byProject": {
"workos-node": {
"tokens": 30829,
"costUSD": 0.18,
"sessions": 1
},
"cli": {
"tokens": 439316,
"costUSD": 2.4,
"sessions": 3
}
}
},
{
"date": "2026-02-06",
"tokens": 1032077,
"costUSD": 5.6,
"sessions": 5,
"messages": 224,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
51,
21,
28,
0,
0,
0,
0,
0,
25,
0,
1,
94,
4,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1032077,
"costUSD": 5.6,
"sessions": 5,
"messages": 224
}
},
"byProvider": {
"anthropic": {
"tokens": 1032077,
"costUSD": 5.6
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 537918,
"costUSD": 2.82,
"sessions": 3,
"messages": 89
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 302861,
"costUSD": 2.19,
"sessions": 1,
"messages": 34
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 191298,
"costUSD": 0.58,
"sessions": 2,
"messages": 101
}
],
"byProject": {
"authkit-script": {
"tokens": 25773,
"costUSD": 0.11,
"sessions": 1
},
"authkit-js": {
"tokens": 130378,
"costUSD": 0.5,
"sessions": 1
},
"skills": {
"tokens": 875926,
"costUSD": 4.99,
"sessions": 3
}
}
},
{
"date": "2026-02-07",
"tokens": 431917,
"costUSD": 3.72,
"sessions": 4,
"messages": 112,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
32,
40,
40,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 431917,
"costUSD": 3.72,
"sessions": 4,
"messages": 112
}
},
"byProvider": {
"anthropic": {
"tokens": 431917,
"costUSD": 3.72
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 205793,
"costUSD": 2.76,
"sessions": 2,
"messages": 48
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 97747,
"costUSD": 0.73,
"sessions": 1,
"messages": 32
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 128377,
"costUSD": 0.23,
"sessions": 3,
"messages": 32
}
],
"byProject": {
"authkit-nextjs": {
"tokens": 431917,
"costUSD": 3.72,
"sessions": 4
}
}
},
{
"date": "2026-02-08",
"tokens": 165803,
"costUSD": 1.89,
"sessions": 1,
"messages": 48,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
46,
2,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 165803,
"costUSD": 1.89,
"sessions": 1,
"messages": 48
}
},
"byProvider": {
"anthropic": {
"tokens": 165803,
"costUSD": 1.89
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 138715,
"costUSD": 1.85,
"sessions": 1,
"messages": 46
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 27088,
"costUSD": 0.04,
"sessions": 1,
"messages": 2
}
],
"byProject": {
"authkit-nextjs": {
"tokens": 165803,
"costUSD": 1.89,
"sessions": 1
}
}
},
{
"date": "2026-02-09",
"tokens": 1429263,
"costUSD": 8.49,
"sessions": 11,
"messages": 312,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
24,
0,
0,
168,
58,
10,
49,
0,
0,
0,
0,
0,
0,
3
],
"byTool": {
"claude-code": {
"tokens": 1429263,
"costUSD": 8.49,
"sessions": 11,
"messages": 312
}
},
"byProvider": {
"anthropic": {
"tokens": 1429263,
"costUSD": 8.49
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 306897,
"costUSD": 4.23,
"sessions": 4,
"messages": 106
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 657659,
"costUSD": 3.27,
"sessions": 3,
"messages": 69
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 464707,
"costUSD": 0.99,
"sessions": 7,
"messages": 137
}
],
"byProject": {
"claude-plugins": {
"tokens": 26890,
"costUSD": 0.19,
"sessions": 1
},
"cli": {
"tokens": 592344,
"costUSD": 2.32,
"sessions": 7
},
"dotfiles": {
"tokens": 40810,
"costUSD": 0.16,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 53695,
"costUSD": 0.13,
"sessions": 1
},
"skills": {
"tokens": 715524,
"costUSD": 5.69,
"sessions": 1
}
}
},
{
"date": "2026-02-10",
"tokens": 1221071,
"costUSD": 4.76,
"sessions": 9,
"messages": 361,
"hourCounts": [
0,
0,
0,
0,
0,
0,
40,
0,
10,
10,
0,
0,
36,
6,
0,
44,
0,
0,
73,
17,
125,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1221071,
"costUSD": 4.76,
"sessions": 9,
"messages": 361
}
},
"byProvider": {
"anthropic": {
"tokens": 1221071,
"costUSD": 4.76
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 821210,
"costUSD": 2.33,
"sessions": 7,
"messages": 330
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 170744,
"costUSD": 1.54,
"sessions": 3,
"messages": 23
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 229117,
"costUSD": 0.89,
"sessions": 1,
"messages": 8
}
],
"byProject": {
"claude-plugins": {
"tokens": 34894,
"costUSD": 0.25,
"sessions": 1
},
"workos": {
"tokens": 462686,
"costUSD": 1.79,
"sessions": 1
},
"cli": {
"tokens": 404099,
"costUSD": 1.48,
"sessions": 4
},
"dotfiles": {
"tokens": 30930,
"costUSD": 0.04,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 85778,
"costUSD": 0.21,
"sessions": 1
},
"skills": {
"tokens": 202684,
"costUSD": 0.99,
"sessions": 1
}
}
},
{
"date": "2026-02-11",
"tokens": 558041,
"costUSD": 4.37,
"sessions": 3,
"messages": 150,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
77,
3,
0,
7,
7,
52,
0,
0,
0,
4,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1099928,
"costUSD": 8.21,
"sessions": 4,
"messages": 150
}
},
"byProvider": {
"anthropic": {
"tokens": 1099928,
"costUSD": 8.21
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 863981,
"costUSD": 7.28,
"sessions": 3,
"messages": 110
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 177313,
"costUSD": 0.71,
"sessions": 1,
"messages": 4
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 58634,
"costUSD": 0.22,
"sessions": 1,
"messages": 35
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 34023,
"costUSD": 0.24,
"sessions": 1
},
"workos-node": {
"tokens": 346705,
"costUSD": 3.43,
"sessions": 1
},
"skills": {
"tokens": 177313,
"costUSD": 0.71,
"sessions": 1
}
}
},
{
"date": "2026-02-12",
"tokens": 309685,
"costUSD": 7.81,
"sessions": 2,
"messages": 724,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
37,
137,
531,
19,
0
],
"byTool": {
"claude-code": {
"tokens": 1215708,
"costUSD": 28.2,
"sessions": 17,
"messages": 724
}
},
"byProvider": {
"anthropic": {
"tokens": 1215708,
"costUSD": 28.2
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 677942,
"costUSD": 15.67,
"sessions": 3,
"messages": 235
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 511911,
"costUSD": 12.49,
"sessions": 14,
"messages": 481
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 25855,
"costUSD": 0.05,
"sessions": 1,
"messages": 7
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 273043,
"costUSD": 7.54,
"sessions": 2
},
"dotfiles": {
"tokens": 36642,
"costUSD": 0.28,
"sessions": 1
}
}
},
{
"date": "2026-02-13",
"tokens": 735956,
"costUSD": 14.3,
"sessions": 5,
"messages": 281,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
9,
144,
45,
83
],
"byTool": {
"claude-code": {
"tokens": 1055018,
"costUSD": 18.15,
"sessions": 6,
"messages": 281
}
},
"byProvider": {
"anthropic": {
"tokens": 1055018,
"costUSD": 18.15
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 951850,
"costUSD": 17.93,
"sessions": 6,
"messages": 252
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 103168,
"costUSD": 0.22,
"sessions": 2,
"messages": 27
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 471224,
"costUSD": 10.13,
"sessions": 2
},
"workos-node": {
"tokens": 69717,
"costUSD": 0.54,
"sessions": 1
},
"cli": {
"tokens": 195015,
"costUSD": 3.62,
"sessions": 2
}
}
},
{
"date": "2026-02-14",
"tokens": 4873405,
"costUSD": 79.55,
"sessions": 5,
"messages": 1975,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
119,
859,
4,
6,
785,
26,
0,
0,
92,
25,
0,
0,
59,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 6694529,
"costUSD": 115.86,
"sessions": 62,
"messages": 1975
}
},
"byProvider": {
"anthropic": {
"tokens": 6694529,
"costUSD": 115.86
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 4727578,
"costUSD": 79.15,
"sessions": 5,
"messages": 487
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 1821124,
"costUSD": 36.31,
"sessions": 57,
"messages": 1462
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-5-20250929",
"tokens": 46888,
"costUSD": 0.23,
"sessions": 1,
"messages": 6
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 98939,
"costUSD": 0.18,
"sessions": 2,
"messages": 20
}
],
"byProject": {
"claude-plugins": {
"tokens": 141827,
"costUSD": 2.4,
"sessions": 2
},
"cli": {
"tokens": 4685027,
"costUSD": 76.24,
"sessions": 2
},
"dotfiles": {
"tokens": 46551,
"costUSD": 0.92,
"sessions": 1
}
}
},
{
"date": "2026-02-17",
"tokens": 4640039,
"costUSD": 75,
"sessions": 7,
"messages": 950,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
23,
27,
0,
129,
27,
3,
0,
54,
51,
169,
226,
1,
0,
0,
117,
123
],
"byTool": {
"claude-code": {
"tokens": 4640039,
"costUSD": 75,
"sessions": 7,
"messages": 950
}
},
"byProvider": {
"anthropic": {
"tokens": 4640039,
"costUSD": 75
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3827057,
"costUSD": 73.28,
"sessions": 7,
"messages": 763
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 812982,
"costUSD": 1.73,
"sessions": 4,
"messages": 187
}
],
"byProject": {
"cli": {
"tokens": 3843933,
"costUSD": 62.06,
"sessions": 5
},
"expo-authkit-example": {
"tokens": 223543,
"costUSD": 2.56,
"sessions": 1
},
"workos-cli": {
"tokens": 13737,
"costUSD": 1.1,
"sessions": 1
},
"workos": {
"tokens": 558826,
"costUSD": 9.28,
"sessions": 1
}
}
},
{
"date": "2026-02-18",
"tokens": 6765885,
"costUSD": 93.25,
"sessions": 11,
"messages": 711,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
52,
16,
73,
105,
44,
55,
219,
72,
14,
0,
0,
28,
33,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 6861260,
"costUSD": 95.05,
"sessions": 15,
"messages": 711
}
},
"byProvider": {
"anthropic": {
"tokens": 6861260,
"costUSD": 95.05
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 6423778,
"costUSD": 91.64,
"sessions": 4,
"messages": 531
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 219804,
"costUSD": 2.92,
"sessions": 7,
"messages": 111
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 217678,
"costUSD": 0.49,
"sessions": 4,
"messages": 66
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 3
}
],
"byProject": {
"claude-plugins": {
"tokens": 12059,
"costUSD": 0.12,
"sessions": 1
},
"cli": {
"tokens": 6277240,
"costUSD": 89.18,
"sessions": 2
},
"expo-authkit-example": {
"tokens": 191088,
"costUSD": 1.27,
"sessions": 7
},
"skills": {
"tokens": 285498,
"costUSD": 2.68,
"sessions": 1
}
}
},
{
"date": "2026-02-19",
"tokens": 9244151,
"costUSD": 130.38,
"sessions": 10,
"messages": 1133,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
108,
90,
160,
20,
64,
22,
0,
74,
4,
96,
46,
135,
0,
105,
154,
55
],
"byTool": {
"claude-code": {
"tokens": 9359451,
"costUSD": 131.34,
"sessions": 14,
"messages": 1133
}
},
"byProvider": {
"anthropic": {
"tokens": 9359451,
"costUSD": 131.34
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 8545132,
"costUSD": 129.03,
"sessions": 14,
"messages": 913
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 656439,
"costUSD": 1.42,
"sessions": 5,
"messages": 179
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 157880,
"costUSD": 0.88,
"sessions": 2,
"messages": 41
}
],
"byProject": {
"claude-plugins": {
"tokens": 731084,
"costUSD": 6.38,
"sessions": 2
},
"cli": {
"tokens": 190271,
"costUSD": 1.28,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 75879,
"costUSD": 0.61,
"sessions": 2
},
"skills": {
"tokens": 8246917,
"costUSD": 122.11,
"sessions": 6
}
}
},
{
"date": "2026-02-20",
"tokens": 4583786,
"costUSD": 48.27,
"sessions": 5,
"messages": 514,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
52,
174,
14,
107,
50,
4,
63,
48,
0,
0,
0,
0,
2,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4645511,
"costUSD": 48.87,
"sessions": 8,
"messages": 514
}
},
"byProvider": {
"anthropic": {
"tokens": 4645511,
"costUSD": 48.87
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 4093391,
"costUSD": 47.59,
"sessions": 8,
"messages": 370
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 552120,
"costUSD": 1.28,
"sessions": 4,
"messages": 143
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 920131,
"costUSD": 12.1,
"sessions": 3
},
"next-authkit-example": {
"tokens": 5131,
"costUSD": 0.76,
"sessions": 1
},
"react-authkit-example": {
"tokens": 98470,
"costUSD": 0.62,
"sessions": 1
},
"skills": {
"tokens": 1827302,
"costUSD": 17.45,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 1732752,
"costUSD": 17.35,
"sessions": 1
}
}
},
{
"date": "2026-02-21",
"tokens": 236335,
"costUSD": 1.83,
"sessions": 1,
"messages": 42,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
42,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 236335,
"costUSD": 1.83,
"sessions": 1,
"messages": 42
}
},
"byProvider": {
"anthropic": {
"tokens": 236335,
"costUSD": 1.83
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 117784,
"costUSD": 1.18,
"sessions": 1,
"messages": 1
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 118551,
"costUSD": 0.65,
"sessions": 1,
"messages": 40
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-tanstack-start": {
"tokens": 236335,
"costUSD": 1.83,
"sessions": 1
}
}
},
{
"date": "2026-02-23",
"tokens": 4158012,
"costUSD": 79.96,
"sessions": 5,
"messages": 488,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
88,
42,
27,
56,
60,
0,
96,
42,
46,
31,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4158012,
"costUSD": 79.96,
"sessions": 5,
"messages": 488
}
},
"byProvider": {
"anthropic": {
"tokens": 4158012,
"costUSD": 79.96
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3817470,
"costUSD": 78.24,
"sessions": 5,
"messages": 415
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 107917,
"costUSD": 0.93,
"sessions": 2,
"messages": 36
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 232625,
"costUSD": 0.79,
"sessions": 2,
"messages": 33
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 4
}
],
"byProject": {
"cli": {
"tokens": 2221191,
"costUSD": 31.32,
"sessions": 1
},
"skills": {
"tokens": 1715691,
"costUSD": 38.61,
"sessions": 3
},
"authkit-tanstack-start": {
"tokens": 221130,
"costUSD": 10.03,
"sessions": 1
}
}
},
{
"date": "2026-02-24",
"tokens": 3463785,
"costUSD": 90.86,
"sessions": 10,
"messages": 839,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
109,
15,
23,
112,
147,
14,
39,
55,
0,
272,
53,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3463785,
"costUSD": 90.86,
"sessions": 10,
"messages": 839
}
},
"byProvider": {
"anthropic": {
"tokens": 3463785,
"costUSD": 90.86
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3022117,
"costUSD": 89.27,
"sessions": 10,
"messages": 766
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 428771,
"costUSD": 1.51,
"sessions": 4,
"messages": 70
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 12897,
"costUSD": 0.08,
"sessions": 1,
"messages": 2
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"workos-node": {
"tokens": 107953,
"costUSD": 2.13,
"sessions": 1
},
"cli": {
"tokens": 275915,
"costUSD": 5.77,
"sessions": 3
},
"authkit-nextjs": {
"tokens": 419129,
"costUSD": 19.98,
"sessions": 1
},
"skills": {
"tokens": 2660788,
"costUSD": 62.98,
"sessions": 6
}
}
},
{
"date": "2026-02-25",
"tokens": 4249747,
"costUSD": 49.72,
"sessions": 8,
"messages": 544,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
2,
25,
92,
25,
0,
77,
110,
179,
34,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2317145,
"costUSD": 45.61,
"sessions": 7,
"messages": 395
},
"codex": {
"tokens": 1932602,
"costUSD": 4.1,
"sessions": 1,
"messages": 149
}
},
"byProvider": {
"anthropic": {
"tokens": 2317145,
"costUSD": 45.61
},
"openai": {
"tokens": 1932602,
"costUSD": 4.1
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1805923,
"costUSD": 43.78,
"sessions": 7,
"messages": 330
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 1932602,
"costUSD": 4.1,
"sessions": 1,
"messages": 149
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 443414,
"costUSD": 1.36,
"sessions": 4,
"messages": 52
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 67808,
"costUSD": 0.47,
"sessions": 1,
"messages": 13
}
],
"byProject": {
"skills": {
"tokens": 4057983,
"costUSD": 46.56,
"sessions": 6
},
"cli": {
"tokens": 191764,
"costUSD": 3.16,
"sessions": 2
}
}
},
{
"date": "2026-02-26",
"tokens": 5454694,
"costUSD": 54,
"sessions": 23,
"messages": 916,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
82,
39,
62,
64,
240,
1,
168,
253,
7,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1805321,
"costUSD": 43.22,
"sessions": 17,
"messages": 468
},
"codex": {
"tokens": 3649373,
"costUSD": 10.78,
"sessions": 6,
"messages": 448
}
},
"byProvider": {
"anthropic": {
"tokens": 1805321,
"costUSD": 43.22
},
"openai": {
"tokens": 3649373,
"costUSD": 10.78
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1601313,
"costUSD": 42.4,
"sessions": 8,
"messages": 379
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5",
"tokens": 2645276,
"costUSD": 5.76,
"sessions": 5,
"messages": 292
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 1004097,
"costUSD": 5.02,
"sessions": 1,
"messages": 156
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 179784,
"costUSD": 0.64,
"sessions": 1,
"messages": 54
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 24224,
"costUSD": 0.18,
"sessions": 1,
"messages": 5
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 11,
"messages": 30
}
],
"byProject": {
"skills": {
"tokens": 3992526,
"costUSD": 38.67,
"sessions": 18
},
"cli": {
"tokens": 177517,
"costUSD": 6.99,
"sessions": 1
},
"workos": {
"tokens": 1284651,
"costUSD": 8.35,
"sessions": 4
}
}
},
{
"date": "2026-02-27",
"tokens": 3900790,
"costUSD": 66.32,
"sessions": 8,
"messages": 746,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
57,
44,
196,
223,
35,
25,
0,
59,
107,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3807524,
"costUSD": 69.69,
"sessions": 14,
"messages": 740
},
"codex": {
"tokens": 315082,
"costUSD": 0.7,
"sessions": 1,
"messages": 6
}
},
"byProvider": {
"anthropic": {
"tokens": 3807524,
"costUSD": 69.69
},
"openai": {
"tokens": 315082,
"costUSD": 0.7
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2722917,
"costUSD": 61.27,
"sessions": 7,
"messages": 342
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 221816,
"costUSD": 4.06,
"sessions": 7,
"messages": 142
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 821305,
"costUSD": 4.04,
"sessions": 3,
"messages": 247
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 315082,
"costUSD": 0.7,
"sessions": 1,
"messages": 6
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 41486,
"costUSD": 0.33,
"sessions": 1,
"messages": 8
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 856144,
"costUSD": 12.49,
"sessions": 2
},
"nicknisi.com": {
"tokens": 1356801,
"costUSD": 18.08,
"sessions": 2
},
"skills": {
"tokens": 1306157,
"costUSD": 27.54,
"sessions": 3
},
"cli": {
"tokens": 241862,
"costUSD": 6.76,
"sessions": 1
},
"workos": {
"tokens": 139826,
"costUSD": 1.47,
"sessions": 1
}
}
},
{
"date": "2026-02-28",
"tokens": 3742829,
"costUSD": 78.79,
"sessions": 5,
"messages": 686,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
79,
0,
112,
388,
107,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4030285,
"costUSD": 81.83,
"sessions": 7,
"messages": 686
}
},
"byProvider": {
"anthropic": {
"tokens": 4030285,
"costUSD": 81.83
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2981106,
"costUSD": 76.71,
"sessions": 6,
"messages": 513
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 793742,
"costUSD": 2.8,
"sessions": 4,
"messages": 120
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 208705,
"costUSD": 1.52,
"sessions": 3,
"messages": 22
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 46732,
"costUSD": 0.8,
"sessions": 1,
"messages": 30
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 3742829,
"costUSD": 78.8,
"sessions": 5
}
}
},
{
"date": "2026-03-02",
"tokens": 12872811,
"costUSD": 219.82,
"sessions": 17,
"messages": 1714,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
171,
96,
156,
1,
39,
74,
480,
32,
109,
120,
102,
277,
57,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 12903734,
"costUSD": 220.13,
"sessions": 18,
"messages": 1714
}
},
"byProvider": {
"anthropic": {
"tokens": 12903734,
"costUSD": 220.13
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 10784224,
"costUSD": 211.84,
"sessions": 18,
"messages": 1235
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 2072499,
"costUSD": 7.96,
"sessions": 13,
"messages": 471
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 47011,
"costUSD": 0.33,
"sessions": 1,
"messages": 7
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 3310809,
"costUSD": 43.2,
"sessions": 4
},
"workos": {
"tokens": 258199,
"costUSD": 3.59,
"sessions": 1
},
"cli": {
"tokens": 7002282,
"costUSD": 129.12,
"sessions": 10
},
"dotfiles": {
"tokens": 1847737,
"costUSD": 24.35,
"sessions": 2
},
"authkit-nextjs": {
"tokens": 453784,
"costUSD": 19.55,
"sessions": 1
}
}
},
{
"date": "2026-03-03",
"tokens": 1906966,
"costUSD": 50.99,
"sessions": 3,
"messages": 315,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
44,
0,
0,
39,
55,
21,
0,
32,
53,
36,
35,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1955447,
"costUSD": 51.64,
"sessions": 4,
"messages": 315
}
},
"byProvider": {
"anthropic": {
"tokens": 1955447,
"costUSD": 51.64
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1578412,
"costUSD": 50.18,
"sessions": 3,
"messages": 277
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 328554,
"costUSD": 0.81,
"sessions": 1,
"messages": 18
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 48481,
"costUSD": 0.65,
"sessions": 1,
"messages": 20
}
],
"byProject": {
"claude-plugins": {
"tokens": 333501,
"costUSD": 3.9,
"sessions": 1
},
"cli": {
"tokens": 967600,
"costUSD": 29.31,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 605865,
"costUSD": 17.77,
"sessions": 1
}
}
},
{
"date": "2026-03-04",
"tokens": 4182461,
"costUSD": 77.01,
"sessions": 11,
"messages": 2401,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
20,
240,
471,
1319,
34,
3,
162,
112,
40,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 6521328,
"costUSD": 120.31,
"sessions": 89,
"messages": 2401
}
},
"byProvider": {
"anthropic": {
"tokens": 6521328,
"costUSD": 120.31
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3009144,
"costUSD": 70.22,
"sessions": 11,
"messages": 548
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 2338867,
"costUSD": 43.29,
"sessions": 78,
"messages": 1540
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 897508,
"costUSD": 4.23,
"sessions": 7,
"messages": 263
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 275809,
"costUSD": 2.56,
"sessions": 3,
"messages": 50
}
],
"byProject": {
"cli": {
"tokens": 2828066,
"costUSD": 47.58,
"sessions": 8
},
"skills": {
"tokens": 267584,
"costUSD": 3.54,
"sessions": 1
},
"workos": {
"tokens": 1086811,
"costUSD": 25.89,
"sessions": 2
}
}
},
{
"date": "2026-03-05",
"tokens": 1852749,
"costUSD": 71.05,
"sessions": 8,
"messages": 2343,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
135,
241,
62,
76,
38,
350,
1329,
46,
0,
2,
64,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4164063,
"costUSD": 114.1,
"sessions": 90,
"messages": 2343
}
},
"byProvider": {
"anthropic": {
"tokens": 4164063,
"costUSD": 114.1
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1627407,
"costUSD": 70.24,
"sessions": 7,
"messages": 688
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 2311314,
"costUSD": 43.04,
"sessions": 82,
"messages": 1612
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 225342,
"costUSD": 0.83,
"sessions": 1,
"messages": 42
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 1738970,
"costUSD": 68.51,
"sessions": 4
},
"dotfiles": {
"tokens": 113779,
"costUSD": 2.55,
"sessions": 3
},
"skills": {
"tokens": 0,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2026-03-06",
"tokens": 3333609,
"costUSD": 70.54,
"sessions": 6,
"messages": 933,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
272,
9,
17,
32,
28,
76,
145,
311,
25,
0,
0,
5,
13,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3267137,
"costUSD": 70.35,
"sessions": 5,
"messages": 926
},
"codex": {
"tokens": 66472,
"costUSD": 0.19,
"sessions": 1,
"messages": 7
}
},
"byProvider": {
"anthropic": {
"tokens": 3267137,
"costUSD": 70.35
},
"openai": {
"tokens": 66472,
"costUSD": 0.19
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2944037,
"costUSD": 69.01,
"sessions": 5,
"messages": 828
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 323100,
"costUSD": 1.34,
"sessions": 2,
"messages": 97
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 66472,
"costUSD": 0.19,
"sessions": 1,
"messages": 7
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 408399,
"costUSD": 3.65,
"sessions": 1
},
"case": {
"tokens": 145544,
"costUSD": 1.45,
"sessions": 2
},
"skills": {
"tokens": 2779666,
"costUSD": 65.44,
"sessions": 3
}
}
},
{
"date": "2026-03-07",
"tokens": 5280748,
"costUSD": 115.18,
"sessions": 10,
"messages": 2693,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
231,
48,
419,
1403,
544,
46,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 7755916,
"costUSD": 161.37,
"sessions": 75,
"messages": 2681
},
"codex": {
"tokens": 97329,
"costUSD": 0.28,
"sessions": 2,
"messages": 12
}
},
"byProvider": {
"anthropic": {
"tokens": 7755916,
"costUSD": 161.37
},
"openai": {
"tokens": 97329,
"costUSD": 0.28
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 4694926,
"costUSD": 113,
"sessions": 8,
"messages": 1062
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 2572497,
"costUSD": 46.44,
"sessions": 67,
"messages": 1482
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 488493,
"costUSD": 1.92,
"sessions": 3,
"messages": 135
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 97329,
"costUSD": 0.28,
"sessions": 2,
"messages": 12
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"cli": {
"tokens": 1251123,
"costUSD": 33.72,
"sessions": 4
},
"dotfiles": {
"tokens": 24075,
"costUSD": 0.29,
"sessions": 1
},
"case": {
"tokens": 2481052,
"costUSD": 55.1,
"sessions": 3
},
"skills": {
"tokens": 1524498,
"costUSD": 26.09,
"sessions": 3
}
}
},
{
"date": "2026-03-08",
"tokens": 6444176,
"costUSD": 171.21,
"sessions": 12,
"messages": 2097,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
128,
376,
299,
199,
0,
0,
24,
182,
148,
73,
100,
315,
253,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4926849,
"costUSD": 166.42,
"sessions": 11,
"messages": 2001
},
"codex": {
"tokens": 1517327,
"costUSD": 4.79,
"sessions": 1,
"messages": 96
}
},
"byProvider": {
"anthropic": {
"tokens": 4926849,
"costUSD": 166.42
},
"openai": {
"tokens": 1517327,
"costUSD": 4.79
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3940922,
"costUSD": 162.81,
"sessions": 11,
"messages": 1743
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 1517327,
"costUSD": 4.79,
"sessions": 1,
"messages": 96
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 944718,
"costUSD": 3.32,
"sessions": 4,
"messages": 240
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 41209,
"costUSD": 0.28,
"sessions": 1,
"messages": 17
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-nextjs": {
"tokens": 996482,
"costUSD": 36.44,
"sessions": 5
},
"case": {
"tokens": 4560118,
"costUSD": 107.31,
"sessions": 5
},
"skills": {
"tokens": 510602,
"costUSD": 18.17,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 376974,
"costUSD": 9.28,
"sessions": 1
}
}
},
{
"date": "2026-03-09",
"tokens": 1685206,
"costUSD": 28.75,
"sessions": 6,
"messages": 1767,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
26,
59,
40,
1464,
12,
4,
0,
0,
92,
70,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4134814,
"costUSD": 73.05,
"sessions": 70,
"messages": 1767
}
},
"byProvider": {
"anthropic": {
"tokens": 4134814,
"costUSD": 73.05
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 2429647,
"costUSD": 44.1,
"sessions": 63,
"messages": 1388
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1380504,
"costUSD": 28.04,
"sessions": 7,
"messages": 295
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 324663,
"costUSD": 0.91,
"sessions": 2,
"messages": 84
}
],
"byProject": {
"cli": {
"tokens": 628268,
"costUSD": 9.91,
"sessions": 2
},
"case": {
"tokens": 474868,
"costUSD": 8.3,
"sessions": 2
},
"skills": {
"tokens": 361477,
"costUSD": 9.14,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 220593,
"costUSD": 1.41,
"sessions": 1
}
}
},
{
"date": "2026-03-10",
"tokens": 3478357,
"costUSD": 84.81,
"sessions": 12,
"messages": 1291,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
116,
279,
2,
3,
0,
7,
2,
24,
43,
223,
213,
0,
0,
145,
234,
0
],
"byTool": {
"claude-code": {
"tokens": 3522065,
"costUSD": 85.29,
"sessions": 13,
"messages": 1291
}
},
"byProvider": {
"anthropic": {
"tokens": 3522065,
"costUSD": 85.29
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2735967,
"costUSD": 83.13,
"sessions": 10,
"messages": 1164
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 742390,
"costUSD": 1.69,
"sessions": 6,
"messages": 104
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 43708,
"costUSD": 0.48,
"sessions": 1,
"messages": 12
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 11
}
],
"byProject": {
"cli": {
"tokens": 2040029,
"costUSD": 55.58,
"sessions": 6
},
"dotfiles": {
"tokens": 231415,
"costUSD": 1.28,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 536872,
"costUSD": 19.55,
"sessions": 1
},
"case": {
"tokens": 616164,
"costUSD": 7.64,
"sessions": 3
},
"workos": {
"tokens": 53877,
"costUSD": 0.77,
"sessions": 1
}
}
},
{
"date": "2026-03-11",
"tokens": 2910592,
"costUSD": 51.18,
"sessions": 13,
"messages": 731,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
60,
30,
223,
78,
20,
36,
15,
16,
0,
0,
9,
142,
0,
0,
0,
102
],
"byTool": {
"claude-code": {
"tokens": 2960046,
"costUSD": 51.76,
"sessions": 14,
"messages": 731
}
},
"byProvider": {
"anthropic": {
"tokens": 2960046,
"costUSD": 51.76
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2310892,
"costUSD": 49.34,
"sessions": 13,
"messages": 609
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 556506,
"costUSD": 1.58,
"sessions": 4,
"messages": 91
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 49454,
"costUSD": 0.58,
"sessions": 1,
"messages": 16
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 43194,
"costUSD": 0.27,
"sessions": 1,
"messages": 15
}
],
"byProject": {
"workos-node": {
"tokens": 41438,
"costUSD": 0.58,
"sessions": 1
},
"dotfiles": {
"tokens": 333748,
"costUSD": 3.19,
"sessions": 1
},
"cli": {
"tokens": 725306,
"costUSD": 16.3,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 628904,
"costUSD": 10.18,
"sessions": 3
},
"case": {
"tokens": 252008,
"costUSD": 1.03,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 469163,
"costUSD": 7.17,
"sessions": 3
},
"workos": {
"tokens": 460025,
"costUSD": 12.73,
"sessions": 3
}
}
},
{
"date": "2026-03-12",
"tokens": 5302126,
"costUSD": 118.27,
"sessions": 9,
"messages": 1115,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
50,
35,
115,
54,
50,
49,
24,
77,
6,
0,
132,
36,
226,
85,
0,
176,
0
],
"byTool": {
"claude-code": {
"tokens": 5262210,
"costUSD": 118.49,
"sessions": 12,
"messages": 1091
},
"codex": {
"tokens": 99079,
"costUSD": 0.47,
"sessions": 1,
"messages": 24
}
},
"byProvider": {
"anthropic": {
"tokens": 5262210,
"costUSD": 118.49
},
"openai": {
"tokens": 99079,
"costUSD": 0.47
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 4911389,
"costUSD": 116.86,
"sessions": 8,
"messages": 1005
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 291658,
"costUSD": 0.95,
"sessions": 1,
"messages": 56
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 59163,
"costUSD": 0.67,
"sessions": 3,
"messages": 20
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 99079,
"costUSD": 0.47,
"sessions": 1,
"messages": 24
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 5,
"messages": 10
}
],
"byProject": {
"mcp-docs-server": {
"tokens": 50261,
"costUSD": 1.14,
"sessions": 1
},
"cli": {
"tokens": 1979097,
"costUSD": 42.46,
"sessions": 2
},
"authkit-nextjs": {
"tokens": 2048561,
"costUSD": 49.77,
"sessions": 4
},
"case": {
"tokens": 158405,
"costUSD": 3.29,
"sessions": 1
},
"workos": {
"tokens": 1065802,
"costUSD": 21.61,
"sessions": 1
}
}
},
{
"date": "2026-03-13",
"tokens": 3999429,
"costUSD": 54.91,
"sessions": 16,
"messages": 998,
"hourCounts": [
0,
0,
0,
0,
0,
0,
271,
99,
51,
434,
93,
40,
0,
10,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3706572,
"costUSD": 54.55,
"sessions": 16,
"messages": 813
},
"codex": {
"tokens": 514000,
"costUSD": 3.34,
"sessions": 5,
"messages": 185
}
},
"byProvider": {
"anthropic": {
"tokens": 3706572,
"costUSD": 54.55
},
"openai": {
"tokens": 514000,
"costUSD": 3.34
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3189160,
"costUSD": 50.7,
"sessions": 12,
"messages": 658
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 514000,
"costUSD": 3.34,
"sessions": 5,
"messages": 185
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 180899,
"costUSD": 2.48,
"sessions": 4,
"messages": 64
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 336513,
"costUSD": 1.37,
"sessions": 2,
"messages": 88
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 3
}
],
"byProject": {
"workos": {
"tokens": 372190,
"costUSD": 4.16,
"sessions": 1
},
"cli": {
"tokens": 3141426,
"costUSD": 45.7,
"sessions": 12
},
"authkit-nextjs": {
"tokens": 485813,
"costUSD": 5.06,
"sessions": 3
}
}
},
{
"date": "2026-03-14",
"tokens": 4088487,
"costUSD": 83.75,
"sessions": 18,
"messages": 1087,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
106,
221,
15,
156,
55,
192,
6,
23,
0,
0,
1,
164,
141,
4,
3
],
"byTool": {
"claude-code": {
"tokens": 4029673,
"costUSD": 83.51,
"sessions": 16,
"messages": 1069
},
"codex": {
"tokens": 58814,
"costUSD": 0.24,
"sessions": 2,
"messages": 18
}
},
"byProvider": {
"anthropic": {
"tokens": 4029673,
"costUSD": 83.51
},
"openai": {
"tokens": 58814,
"costUSD": 0.24
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2491111,
"costUSD": 79.1,
"sessions": 16,
"messages": 828
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 1538562,
"costUSD": 4.41,
"sessions": 7,
"messages": 237
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 58814,
"costUSD": 0.24,
"sessions": 2,
"messages": 18
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 4
}
],
"byProject": {
"case": {
"tokens": 3416744,
"costUSD": 74.95,
"sessions": 15
},
"authkit-tanstack-start": {
"tokens": 671743,
"costUSD": 8.8,
"sessions": 3
}
}
},
{
"date": "2026-03-15",
"tokens": 196757,
"costUSD": 1.66,
"sessions": 1,
"messages": 4,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
3,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 196757,
"costUSD": 1.66,
"sessions": 1,
"messages": 4
}
},
"byProvider": {
"anthropic": {
"tokens": 196757,
"costUSD": 1.66
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 196757,
"costUSD": 1.66,
"sessions": 1,
"messages": 4
}
],
"byProject": {
"authkit-tanstack-start": {
"tokens": 196757,
"costUSD": 1.66,
"sessions": 1
}
}
},
{
"date": "2026-03-16",
"tokens": 4243793,
"costUSD": 96.89,
"sessions": 21,
"messages": 1594,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
35,
244,
287,
168,
41,
2,
125,
103,
146,
264,
0,
0,
0,
0,
6,
173
],
"byTool": {
"claude-code": {
"tokens": 4246881,
"costUSD": 97.84,
"sessions": 23,
"messages": 1558
},
"codex": {
"tokens": 118562,
"costUSD": 0.77,
"sessions": 1,
"messages": 36
}
},
"byProvider": {
"anthropic": {
"tokens": 4246881,
"costUSD": 97.84
},
"openai": {
"tokens": 118562,
"costUSD": 0.77
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2518747,
"costUSD": 87.74,
"sessions": 15,
"messages": 1201
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 723453,
"costUSD": 6.3,
"sessions": 8,
"messages": 192
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 909111,
"costUSD": 2.53,
"sessions": 3,
"messages": 131
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 95570,
"costUSD": 1.27,
"sessions": 2,
"messages": 34
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 118562,
"costUSD": 0.77,
"sessions": 1,
"messages": 36
}
],
"byProject": {
"authkit-session": {
"tokens": 585092,
"costUSD": 7.02,
"sessions": 7
},
"cli": {
"tokens": 2257147,
"costUSD": 66.73,
"sessions": 8
},
"dotfiles": {
"tokens": 348100,
"costUSD": 11.95,
"sessions": 2
},
"authkit-nextjs": {
"tokens": 36244,
"costUSD": 0.52,
"sessions": 1
},
"case": {
"tokens": 313782,
"costUSD": 5.15,
"sessions": 2
},
"workos": {
"tokens": 703428,
"costUSD": 5.54,
"sessions": 1
}
}
},
{
"date": "2026-03-17",
"tokens": 2748721,
"costUSD": 33.98,
"sessions": 12,
"messages": 423,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
1,
59,
59,
76,
7,
33,
47,
6,
24,
111,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1755886,
"costUSD": 31.52,
"sessions": 9,
"messages": 374
},
"codex": {
"tokens": 992835,
"costUSD": 2.46,
"sessions": 3,
"messages": 49
}
},
"byProvider": {
"anthropic": {
"tokens": 1755886,
"costUSD": 31.52
},
"openai": {
"tokens": 992835,
"costUSD": 2.46
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1579437,
"costUSD": 30.49,
"sessions": 9,
"messages": 290
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 992835,
"costUSD": 2.46,
"sessions": 3,
"messages": 49
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 56734,
"costUSD": 0.52,
"sessions": 1,
"messages": 43
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 119715,
"costUSD": 0.52,
"sessions": 1,
"messages": 38
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 3
}
],
"byProject": {
"claude-plugins": {
"tokens": 62612,
"costUSD": 0.68,
"sessions": 1
},
"vibekit-cli-proto": {
"tokens": 249055,
"costUSD": 4.13,
"sessions": 2
},
"cli": {
"tokens": 253868,
"costUSD": 4.41,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 338391,
"costUSD": 4.83,
"sessions": 4
},
"case": {
"tokens": 1544991,
"costUSD": 14.84,
"sessions": 2
},
"skills": {
"tokens": 44554,
"costUSD": 0.81,
"sessions": 1
},
"workos": {
"tokens": 255250,
"costUSD": 4.28,
"sessions": 1
}
}
},
{
"date": "2026-03-18",
"tokens": 8157979,
"costUSD": 162.93,
"sessions": 72,
"messages": 2092,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
299,
64,
152,
240,
39,
174,
362,
75,
0,
0,
22,
189,
307,
169,
0
],
"byTool": {
"claude-code": {
"tokens": 6158315,
"costUSD": 131.86,
"sessions": 22,
"messages": 1634
},
"pi": {
"tokens": 1880722,
"costUSD": 30.52,
"sessions": 49,
"messages": 437
},
"codex": {
"tokens": 118942,
"costUSD": 0.55,
"sessions": 1,
"messages": 21
}
},
"byProvider": {
"anthropic": {
"tokens": 8039037,
"costUSD": 162.38
},
"openai": {
"tokens": 118942,
"costUSD": 0.55
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 4930950,
"costUSD": 126.79,
"sessions": 17,
"messages": 1370
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1817520,
"costUSD": 30.11,
"sessions": 26,
"messages": 398
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 900311,
"costUSD": 2.8,
"sessions": 4,
"messages": 154
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 327054,
"costUSD": 2.28,
"sessions": 8,
"messages": 101
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.3-codex",
"tokens": 118942,
"costUSD": 0.55,
"sessions": 1,
"messages": 21
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-sonnet-4-20250514",
"tokens": 57418,
"costUSD": 0.39,
"sessions": 22,
"messages": 38
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 5784,
"costUSD": 0.02,
"sessions": 1,
"messages": 1
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 4,
"messages": 9
}
],
"byProject": {
"claude-plugins": {
"tokens": 206373,
"costUSD": 2.51,
"sessions": 3
},
"claude-plugins-internal": {
"tokens": 207175,
"costUSD": 1.81,
"sessions": 1
},
"vibekit-cli-proto": {
"tokens": 114966,
"costUSD": 2.06,
"sessions": 1
},
"workos-node": {
"tokens": 568683,
"costUSD": 5.88,
"sessions": 52
},
"dotfiles": {
"tokens": 1604467,
"costUSD": 21.87,
"sessions": 5
},
"authkit-nextjs": {
"tokens": 2263425,
"costUSD": 31.29,
"sessions": 3
},
"case": {
"tokens": 3063322,
"costUSD": 96.15,
"sessions": 6
},
"workos": {
"tokens": 129568,
"costUSD": 1.36,
"sessions": 1
}
}
},
{
"date": "2026-03-19",
"tokens": 4409512,
"costUSD": 65.34,
"sessions": 34,
"messages": 1029,
"hourCounts": [
0,
0,
0,
0,
0,
0,
2,
1,
270,
157,
56,
54,
14,
46,
102,
5,
0,
53,
126,
143,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 928337,
"costUSD": 10.32,
"sessions": 9,
"messages": 259
},
"pi": {
"tokens": 3331649,
"costUSD": 54,
"sessions": 21,
"messages": 696
},
"codex": {
"tokens": 149526,
"costUSD": 1.02,
"sessions": 4,
"messages": 74
}
},
"byProvider": {
"anthropic": {
"tokens": 4259986,
"costUSD": 64.32
},
"baseten": {
"tokens": 0,
"costUSD": 0
},
"openai": {
"tokens": 149526,
"costUSD": 1.02
}
},
"byModel": [
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3331649,
"costUSD": 54,
"sessions": 21,
"messages": 691
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 530065,
"costUSD": 9.12,
"sessions": 9,
"messages": 188
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 398272,
"costUSD": 1.19,
"sessions": 3,
"messages": 70
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 149526,
"costUSD": 1.02,
"sessions": 4,
"messages": 74
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
},
{
"tool": "pi",
"provider": "baseten",
"id": "moonshotai/Kimi-K2.5",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 5
}
],
"byProject": {
"dotfiles": {
"tokens": 1422542,
"costUSD": 17.28,
"sessions": 11
},
"authkit-nextjs": {
"tokens": 538255,
"costUSD": 6.36,
"sessions": 8
},
"case": {
"tokens": 2330070,
"costUSD": 40.46,
"sessions": 4
},
"cli": {
"tokens": 39301,
"costUSD": 0.36,
"sessions": 2
},
"workos": {
"tokens": 24487,
"costUSD": 0.27,
"sessions": 2
},
"authkit-tanstack-start": {
"tokens": 17586,
"costUSD": 0.17,
"sessions": 4
},
"workos-node": {
"tokens": 37271,
"costUSD": 0.44,
"sessions": 3
}
}
},
{
"date": "2026-03-20",
"tokens": 190892,
"costUSD": 2.57,
"sessions": 8,
"messages": 77,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
14,
47,
7,
0,
0,
0,
0,
9,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 90087,
"costUSD": 1.36,
"sessions": 2,
"messages": 23
},
"pi": {
"tokens": 100805,
"costUSD": 1.21,
"sessions": 6,
"messages": 54
}
},
"byProvider": {
"anthropic": {
"tokens": 190892,
"costUSD": 2.57
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 90087,
"costUSD": 1.36,
"sessions": 2,
"messages": 23
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 77950,
"costUSD": 1.17,
"sessions": 3,
"messages": 46
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-haiku-4-5",
"tokens": 22855,
"costUSD": 0.04,
"sessions": 3,
"messages": 8
}
],
"byProject": {
"cli": {
"tokens": 159528,
"costUSD": 2.44,
"sessions": 4
},
"dotfiles": {
"tokens": 31364,
"costUSD": 0.13,
"sessions": 4
}
}
},
{
"date": "2026-03-21",
"tokens": 256767,
"costUSD": 1.9,
"sessions": 1,
"messages": 61,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
61,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 256767,
"costUSD": 1.9,
"sessions": 1,
"messages": 61
}
},
"byProvider": {
"anthropic": {
"tokens": 256767,
"costUSD": 1.9
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 69164,
"costUSD": 1.12,
"sessions": 1,
"messages": 18
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 146537,
"costUSD": 0.49,
"sessions": 1,
"messages": 28
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 41066,
"costUSD": 0.29,
"sessions": 1,
"messages": 15
}
],
"byProject": {
"cli": {
"tokens": 256767,
"costUSD": 1.9,
"sessions": 1
}
}
},
{
"date": "2026-03-22",
"tokens": 490705,
"costUSD": 13.2,
"sessions": 4,
"messages": 170,
"hourCounts": [
0,
0,
0,
0,
0,
0,
29,
138,
3,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 490705,
"costUSD": 13.2,
"sessions": 4,
"messages": 170
}
},
"byProvider": {
"anthropic": {
"tokens": 490705,
"costUSD": 13.2
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 374828,
"costUSD": 12.95,
"sessions": 4,
"messages": 157
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 115877,
"costUSD": 0.25,
"sessions": 1,
"messages": 13
}
],
"byProject": {
"mpp-demo": {
"tokens": 145096,
"costUSD": 2.21,
"sessions": 3
},
"cli": {
"tokens": 345609,
"costUSD": 10.99,
"sessions": 1
}
}
},
{
"date": "2026-03-23",
"tokens": 5002995,
"costUSD": 95.62,
"sessions": 24,
"messages": 890,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
21,
269,
231,
106,
126,
0,
76,
16,
38,
7,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3463238,
"costUSD": 62.88,
"sessions": 9,
"messages": 670
},
"pi": {
"tokens": 1539757,
"costUSD": 32.74,
"sessions": 15,
"messages": 220
}
},
"byProvider": {
"anthropic": {
"tokens": 4225848,
"costUSD": 70.53
},
"openai": {
"tokens": 777147,
"costUSD": 25.09
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3070418,
"costUSD": 61.7,
"sessions": 8,
"messages": 608
},
{
"tool": "pi",
"provider": "openai",
"id": "gpt-5.4-pro",
"tokens": 777147,
"costUSD": 25.09,
"sessions": 3,
"messages": 36
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 667192,
"costUSD": 7.37,
"sessions": 11,
"messages": 140
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 356255,
"costUSD": 1.04,
"sessions": 2,
"messages": 60
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-haiku-4-5",
"tokens": 95418,
"costUSD": 0.28,
"sessions": 2,
"messages": 44
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 36565,
"costUSD": 0.14,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"emulate": {
"tokens": 2309700,
"costUSD": 41.65,
"sessions": 3
},
"cli": {
"tokens": 879921,
"costUSD": 18.24,
"sessions": 5
},
"dotfiles": {
"tokens": 331190,
"costUSD": 4.26,
"sessions": 3
},
"authkit-nextjs": {
"tokens": 959875,
"costUSD": 27.73,
"sessions": 10
},
"skills": {
"tokens": 59947,
"costUSD": 0.69,
"sessions": 1
},
"workos": {
"tokens": 462362,
"costUSD": 3.04,
"sessions": 2
}
}
},
{
"date": "2026-03-24",
"tokens": 4343920,
"costUSD": 61.3,
"sessions": 22,
"messages": 1162,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
16,
113,
8,
70,
140,
48,
85,
47,
136,
288,
207,
0,
0,
1,
3,
0
],
"byTool": {
"claude-code": {
"tokens": 3974692,
"costUSD": 59.27,
"sessions": 15,
"messages": 1083
},
"pi": {
"tokens": 60710,
"costUSD": 0.28,
"sessions": 3,
"messages": 13
},
"codex": {
"tokens": 308518,
"costUSD": 1.75,
"sessions": 4,
"messages": 66
}
},
"byProvider": {
"anthropic": {
"tokens": 3982431,
"costUSD": 59.32
},
"openai-codex": {
"tokens": 52971,
"costUSD": 0.22
},
"openai": {
"tokens": 308518,
"costUSD": 1.75
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2786328,
"costUSD": 55.67,
"sessions": 15,
"messages": 870
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 1188364,
"costUSD": 3.59,
"sessions": 6,
"messages": 213
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 308518,
"costUSD": 1.75,
"sessions": 4,
"messages": 66
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 52971,
"costUSD": 0.22,
"sessions": 1,
"messages": 11
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 7739,
"costUSD": 0.06,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"mpp-service": {
"tokens": 60799,
"costUSD": 1.53,
"sessions": 1
},
"authkit-js": {
"tokens": 411564,
"costUSD": 4.57,
"sessions": 5
},
"authkit-react": {
"tokens": 300986,
"costUSD": 4.04,
"sessions": 1
},
"emulate": {
"tokens": 1481405,
"costUSD": 14.73,
"sessions": 3
},
"workos-node": {
"tokens": 332144,
"costUSD": 3.85,
"sessions": 3
},
"cli": {
"tokens": 1216931,
"costUSD": 25.76,
"sessions": 2
},
"authkit-nextjs": {
"tokens": 540091,
"costUSD": 6.83,
"sessions": 7
}
}
},
{
"date": "2026-03-25",
"tokens": 11498716,
"costUSD": 226.88,
"sessions": 40,
"messages": 2340,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
168,
168,
263,
217,
390,
197,
112,
238,
1,
0,
219,
49,
0,
89,
229
],
"byTool": {
"claude-code": {
"tokens": 9439546,
"costUSD": 181.15,
"sessions": 33,
"messages": 2133
},
"pi": {
"tokens": 1428475,
"costUSD": 42.33,
"sessions": 3,
"messages": 101
},
"codex": {
"tokens": 630695,
"costUSD": 3.39,
"sessions": 4,
"messages": 106
}
},
"byProvider": {
"anthropic": {
"tokens": 9618783,
"costUSD": 185.3
},
"openai": {
"tokens": 1766267,
"costUSD": 40.52
},
"openai-codex": {
"tokens": 113666,
"costUSD": 1.06
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 6999550,
"costUSD": 173.35,
"sessions": 32,
"messages": 1633
},
{
"tool": "pi",
"provider": "openai",
"id": "gpt-5.4-pro",
"tokens": 1135572,
"costUSD": 37.13,
"sessions": 1,
"messages": 24
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 2410984,
"costUSD": 7.61,
"sessions": 10,
"messages": 484
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 179237,
"costUSD": 4.14,
"sessions": 2,
"messages": 40
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 630695,
"costUSD": 3.39,
"sessions": 4,
"messages": 106
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 113666,
"costUSD": 1.06,
"sessions": 1,
"messages": 37
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 29012,
"costUSD": 0.19,
"sessions": 1,
"messages": 12
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 4
}
],
"byProject": {
"claude-plugins": {
"tokens": 303242,
"costUSD": 2.16,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 3803045,
"costUSD": 98.16,
"sessions": 9
},
"cli": {
"tokens": 7017826,
"costUSD": 122.87,
"sessions": 23
},
"dotfiles": {
"tokens": 187197,
"costUSD": 2.52,
"sessions": 6
},
"case": {
"tokens": 187406,
"costUSD": 1.18,
"sessions": 2
}
}
},
{
"date": "2026-03-26",
"tokens": 1700617,
"costUSD": 28.92,
"sessions": 6,
"messages": 391,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
22,
235,
98,
22,
14,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1700617,
"costUSD": 28.92,
"sessions": 6,
"messages": 391
}
},
"byProvider": {
"anthropic": {
"tokens": 1700617,
"costUSD": 28.92
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1346141,
"costUSD": 27.73,
"sessions": 6,
"messages": 310
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 354476,
"costUSD": 1.19,
"sessions": 1,
"messages": 81
}
],
"byProject": {
"cli": {
"tokens": 1523624,
"costUSD": 23.22,
"sessions": 6
},
"workos-spec": {
"tokens": 176993,
"costUSD": 5.71,
"sessions": 1
}
}
},
{
"date": "2026-03-27",
"tokens": 1542322,
"costUSD": 28.02,
"sessions": 8,
"messages": 275,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
30,
4,
2,
0,
99,
35,
76,
29,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1248547,
"costUSD": 26.01,
"sessions": 5,
"messages": 199
},
"pi": {
"tokens": 293775,
"costUSD": 2.01,
"sessions": 3,
"messages": 76
}
},
"byProvider": {
"anthropic": {
"tokens": 1312863,
"costUSD": 26.67
},
"openai": {
"tokens": 0,
"costUSD": 0
},
"openai-codex": {
"tokens": 229459,
"costUSD": 1.35
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1143079,
"costUSD": 25.81,
"sessions": 5,
"messages": 191
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 229459,
"costUSD": 1.35,
"sessions": 1,
"messages": 44
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 64316,
"costUSD": 0.66,
"sessions": 2,
"messages": 31
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 105468,
"costUSD": 0.2,
"sessions": 1,
"messages": 8
},
{
"tool": "pi",
"provider": "openai",
"id": "gpt-5.4-pro",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 99000,
"costUSD": 0.99,
"sessions": 1
},
"cli": {
"tokens": 1106296,
"costUSD": 24.59,
"sessions": 3
},
"dotfiles": {
"tokens": 43251,
"costUSD": 0.43,
"sessions": 1
},
"workos-spec": {
"tokens": 246654,
"costUSD": 1.55,
"sessions": 2
},
"authkit-session": {
"tokens": 47121,
"costUSD": 0.46,
"sessions": 1
}
}
},
{
"date": "2026-03-28",
"tokens": 5410361,
"costUSD": 120.3,
"sessions": 18,
"messages": 1991,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
284,
403,
187,
199,
0,
0,
0,
0,
103,
197,
208,
54,
356,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4387097,
"costUSD": 113.79,
"sessions": 14,
"messages": 1744
},
"pi": {
"tokens": 1693574,
"costUSD": 11.08,
"sessions": 6,
"messages": 247
}
},
"byProvider": {
"anthropic": {
"tokens": 4423240,
"costUSD": 114.32
},
"openai-codex": {
"tokens": 1657431,
"costUSD": 10.55
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3515158,
"costUSD": 110.81,
"sessions": 14,
"messages": 1561
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 1657431,
"costUSD": 10.55,
"sessions": 5,
"messages": 219
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 871939,
"costUSD": 2.98,
"sessions": 4,
"messages": 182
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 36143,
"costUSD": 0.54,
"sessions": 1,
"messages": 28
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 325321,
"costUSD": 8.84,
"sessions": 1
},
"dotfiles": {
"tokens": 1082745,
"costUSD": 18.61,
"sessions": 1
},
"case": {
"tokens": 3966152,
"costUSD": 92.31,
"sessions": 15
},
"authkit-session": {
"tokens": 36143,
"costUSD": 0.54,
"sessions": 1
}
}
},
{
"date": "2026-03-29",
"tokens": 1779210,
"costUSD": 34.54,
"sessions": 11,
"messages": 555,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
35,
96,
178,
0,
0,
0,
0,
23,
203,
20,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1616183,
"costUSD": 32.67,
"sessions": 4,
"messages": 474
},
"pi": {
"tokens": 163027,
"costUSD": 1.87,
"sessions": 7,
"messages": 81
}
},
"byProvider": {
"anthropic": {
"tokens": 1779210,
"costUSD": 34.54
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1134314,
"costUSD": 31.09,
"sessions": 3,
"messages": 368
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 163027,
"costUSD": 1.87,
"sessions": 7,
"messages": 81
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 455411,
"costUSD": 1.47,
"sessions": 3,
"messages": 104
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 26458,
"costUSD": 0.1,
"sessions": 1,
"messages": 1
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"dotfiles": {
"tokens": 1252720,
"costUSD": 23.16,
"sessions": 3
},
"case": {
"tokens": 363463,
"costUSD": 9.51,
"sessions": 1
},
"authkit-session": {
"tokens": 163027,
"costUSD": 1.87,
"sessions": 7
}
}
},
{
"date": "2026-03-30",
"tokens": 3057486,
"costUSD": 37.73,
"sessions": 8,
"messages": 667,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
40,
149,
219,
126,
0,
9,
78,
6,
36,
4,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1985392,
"costUSD": 32.39,
"sessions": 7,
"messages": 574
},
"pi": {
"tokens": 1141691,
"costUSD": 5.8,
"sessions": 2,
"messages": 93
}
},
"byProvider": {
"anthropic": {
"tokens": 1985392,
"costUSD": 32.39
},
"openai-codex": {
"tokens": 1141691,
"costUSD": 5.8
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 990777,
"costUSD": 28.87,
"sessions": 7,
"messages": 313
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 1141691,
"costUSD": 5.8,
"sessions": 2,
"messages": 93
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 956028,
"costUSD": 3.28,
"sessions": 5,
"messages": 244
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 38587,
"costUSD": 0.25,
"sessions": 2,
"messages": 17
}
],
"byProject": {
"cli": {
"tokens": 1356362,
"costUSD": 12.19,
"sessions": 3
},
"skills": {
"tokens": 423902,
"costUSD": 7.22,
"sessions": 1
},
"dotfiles": {
"tokens": 1277222,
"costUSD": 18.32,
"sessions": 5
}
}
},
{
"date": "2026-03-31",
"tokens": 2067851,
"costUSD": 20.34,
"sessions": 14,
"messages": 518,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
25,
10,
0,
204,
0,
27,
41,
106,
58,
0,
0,
0,
0,
0,
0,
47
],
"byTool": {
"claude-code": {
"tokens": 1964998,
"costUSD": 19.42,
"sessions": 11,
"messages": 465
},
"pi": {
"tokens": 102853,
"costUSD": 0.92,
"sessions": 3,
"messages": 53
}
},
"byProvider": {
"anthropic": {
"tokens": 1991097,
"costUSD": 19.75
},
"openai": {
"tokens": 4179,
"costUSD": 0.13
},
"openai-codex": {
"tokens": 72575,
"costUSD": 0.46
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 877086,
"costUSD": 15.81,
"sessions": 11,
"messages": 243
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 1087912,
"costUSD": 3.61,
"sessions": 6,
"messages": 219
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 72575,
"costUSD": 0.46,
"sessions": 1,
"messages": 32
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 26099,
"costUSD": 0.34,
"sessions": 1,
"messages": 16
},
{
"tool": "pi",
"provider": "openai",
"id": "gpt-5.4-pro",
"tokens": 4179,
"costUSD": 0.13,
"sessions": 1,
"messages": 3
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 3
},
{
"tool": "pi",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"cc-source": {
"tokens": 632583,
"costUSD": 3.05,
"sessions": 2
},
"claude-plugins": {
"tokens": 35753,
"costUSD": 0.62,
"sessions": 1
},
"cli": {
"tokens": 1321939,
"costUSD": 15.57,
"sessions": 9
},
"dotfiles": {
"tokens": 77576,
"costUSD": 1.1,
"sessions": 2
}
}
},
{
"date": "2026-04-01",
"tokens": 1184404,
"costUSD": 14.83,
"sessions": 9,
"messages": 428,
"hourCounts": [
0,
0,
0,
0,
0,
0,
30,
0,
0,
141,
115,
121,
0,
19,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1008623,
"costUSD": 13.85,
"sessions": 7,
"messages": 383
},
"pi": {
"tokens": 175781,
"costUSD": 0.97,
"sessions": 2,
"messages": 45
}
},
"byProvider": {
"anthropic": {
"tokens": 1008623,
"costUSD": 13.85
},
"openai-codex": {
"tokens": 175781,
"costUSD": 0.97
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 579092,
"costUSD": 11.74,
"sessions": 7,
"messages": 213
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 429531,
"costUSD": 2.11,
"sessions": 4,
"messages": 170
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 175781,
"costUSD": 0.97,
"sessions": 2,
"messages": 45
}
],
"byProject": {
"authkit-react": {
"tokens": 251548,
"costUSD": 2.33,
"sessions": 1
},
"cli": {
"tokens": 462617,
"costUSD": 4.74,
"sessions": 4
},
"dotfiles": {
"tokens": 232387,
"costUSD": 2.93,
"sessions": 2
},
"authkit-nextjs": {
"tokens": 121719,
"costUSD": 3.19,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 116133,
"costUSD": 1.63,
"sessions": 1
}
}
},
{
"date": "2026-04-02",
"tokens": 2055644,
"costUSD": 43.92,
"sessions": 10,
"messages": 688,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
75,
41,
7,
31,
16,
31,
226,
124,
94,
43,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1767680,
"costUSD": 42.64,
"sessions": 14,
"messages": 644
},
"pi": {
"tokens": 287964,
"costUSD": 1.28,
"sessions": 3,
"messages": 44
}
},
"byProvider": {
"anthropic": {
"tokens": 1767680,
"costUSD": 42.64
},
"openai-codex": {
"tokens": 287964,
"costUSD": 1.28
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1233447,
"costUSD": 40.7,
"sessions": 7,
"messages": 524
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 488311,
"costUSD": 1.72,
"sessions": 3,
"messages": 103
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 287964,
"costUSD": 1.28,
"sessions": 3,
"messages": 44
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 45922,
"costUSD": 0.22,
"sessions": 2,
"messages": 9
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 8,
"messages": 8
}
],
"byProject": {
"aie-europe": {
"tokens": 1143827,
"costUSD": 16.56,
"sessions": 4
},
"workos-custom-ui-authkit-example": {
"tokens": 210039,
"costUSD": 15.67,
"sessions": 1
},
"cli": {
"tokens": 516121,
"costUSD": 10.31,
"sessions": 3
},
"dotfiles": {
"tokens": 185657,
"costUSD": 1.39,
"sessions": 2
}
}
},
{
"date": "2026-04-03",
"tokens": 685248,
"costUSD": 9.52,
"sessions": 6,
"messages": 170,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
7,
54,
37,
6,
52,
0,
0,
8,
6,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 685248,
"costUSD": 9.52,
"sessions": 6,
"messages": 170
}
},
"byProvider": {
"anthropic": {
"tokens": 685248,
"costUSD": 9.52
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 521640,
"costUSD": 8.87,
"sessions": 6,
"messages": 127
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 163608,
"costUSD": 0.66,
"sessions": 1,
"messages": 42
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 250937,
"costUSD": 1.92,
"sessions": 2
},
"skills": {
"tokens": 2575,
"costUSD": 0.17,
"sessions": 1
},
"dotfiles": {
"tokens": 114576,
"costUSD": 1.67,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 60116,
"costUSD": 1,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 257044,
"costUSD": 4.76,
"sessions": 2
}
}
},
{
"date": "2026-04-04",
"tokens": 2698382,
"costUSD": 51.86,
"sessions": 8,
"messages": 1157,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
205,
0,
129,
75,
0,
0,
0,
81,
163,
0,
0,
0,
0,
198,
80,
173,
53
],
"byTool": {
"claude-code": {
"tokens": 4093947,
"costUSD": 79.62,
"sessions": 9,
"messages": 1136
},
"pi": {
"tokens": 142176,
"costUSD": 0.69,
"sessions": 1,
"messages": 11
},
"codex": {
"tokens": 88111,
"costUSD": 0.39,
"sessions": 1,
"messages": 10
}
},
"byProvider": {
"anthropic": {
"tokens": 4093947,
"costUSD": 79.62
},
"openai-codex": {
"tokens": 142176,
"costUSD": 0.69
},
"openai": {
"tokens": 88111,
"costUSD": 0.39
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3175826,
"costUSD": 76.14,
"sessions": 9,
"messages": 905
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 918121,
"costUSD": 3.48,
"sessions": 7,
"messages": 231
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 142176,
"costUSD": 0.69,
"sessions": 1,
"messages": 11
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 88111,
"costUSD": 0.39,
"sessions": 1,
"messages": 10
}
],
"byProject": {
"claude-plugins": {
"tokens": 5424,
"costUSD": 0.4,
"sessions": 1
},
"aie-europe": {
"tokens": 1953658,
"costUSD": 41.73,
"sessions": 5
},
"workos-node": {
"tokens": 739300,
"costUSD": 9.74,
"sessions": 3
}
}
},
{
"date": "2026-04-05",
"tokens": 0,
"costUSD": 0,
"sessions": -1,
"messages": 8,
"hourCounts": [
0,
0,
0,
0,
0,
0,
8,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 181792,
"costUSD": 2.43,
"sessions": 1,
"messages": 8
}
},
"byProvider": {
"anthropic": {
"tokens": 181792,
"costUSD": 2.43
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 181792,
"costUSD": 2.43,
"sessions": 1,
"messages": 8
}
],
"byProject": {}
},
{
"date": "2026-04-06",
"tokens": 1999678,
"costUSD": 25.74,
"sessions": 6,
"messages": 335,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
179,
45,
0,
0,
0,
6,
102,
1,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1810936,
"costUSD": 22.73,
"sessions": 3,
"messages": 288
},
"pi": {
"tokens": 140404,
"costUSD": 2.69,
"sessions": 2,
"messages": 34
},
"codex": {
"tokens": 48338,
"costUSD": 0.32,
"sessions": 1,
"messages": 13
}
},
"byProvider": {
"anthropic": {
"tokens": 1851775,
"costUSD": 23.33
},
"openai": {
"tokens": 105530,
"costUSD": 2.22
},
"openai-codex": {
"tokens": 42373,
"costUSD": 0.19
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1294886,
"costUSD": 21.56,
"sessions": 3,
"messages": 242
},
{
"tool": "pi",
"provider": "openai",
"id": "gpt-5.4-pro",
"tokens": 57192,
"costUSD": 1.9,
"sessions": 2,
"messages": 3
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 479110,
"costUSD": 0.94,
"sessions": 3,
"messages": 36
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 40839,
"costUSD": 0.6,
"sessions": 1,
"messages": 20
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 48338,
"costUSD": 0.32,
"sessions": 1,
"messages": 13
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 36940,
"costUSD": 0.22,
"sessions": 1,
"messages": 9
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 42373,
"costUSD": 0.19,
"sessions": 1,
"messages": 11
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"aie-europe": {
"tokens": 638893,
"costUSD": 9.18,
"sessions": 1
},
"dotfiles": {
"tokens": 1022109,
"costUSD": 11.92,
"sessions": 3
},
"authkit-nextjs": {
"tokens": 338676,
"costUSD": 4.65,
"sessions": 2
}
}
},
{
"date": "2026-04-07",
"tokens": 1796555,
"costUSD": 39.96,
"sessions": 8,
"messages": 550,
"hourCounts": [
35,
4,
0,
0,
0,
0,
0,
1,
137,
20,
29,
17,
119,
122,
0,
0,
0,
0,
0,
0,
0,
0,
0,
66
],
"byTool": {
"claude-code": {
"tokens": 1604858,
"costUSD": 39.06,
"sessions": 5,
"messages": 521
},
"pi": {
"tokens": 180079,
"costUSD": 0.87,
"sessions": 2,
"messages": 28
},
"codex": {
"tokens": 11618,
"costUSD": 0.03,
"sessions": 1,
"messages": 1
}
},
"byProvider": {
"anthropic": {
"tokens": 1612602,
"costUSD": 39.11
},
"openai-codex": {
"tokens": 172335,
"costUSD": 0.82
},
"openai": {
"tokens": 11618,
"costUSD": 0.03
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1261636,
"costUSD": 38.29,
"sessions": 5,
"messages": 486
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 172335,
"costUSD": 0.82,
"sessions": 1,
"messages": 27
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 343222,
"costUSD": 0.76,
"sessions": 2,
"messages": 35
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 7744,
"costUSD": 0.05,
"sessions": 1,
"messages": 1
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 11618,
"costUSD": 0.03,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 168987,
"costUSD": 2.73,
"sessions": 2
},
"aie-europe": {
"tokens": 1613383,
"costUSD": 37.06,
"sessions": 5
},
"dotfiles": {
"tokens": 14185,
"costUSD": 0.18,
"sessions": 2
}
}
},
{
"date": "2026-04-08",
"tokens": 2129241,
"costUSD": 42.86,
"sessions": 14,
"messages": 628,
"hourCounts": [
211,
55,
104,
79,
0,
67,
0,
0,
2,
87,
0,
0,
0,
23,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1921494,
"costUSD": 41.03,
"sessions": 11,
"messages": 580
},
"pi": {
"tokens": 143426,
"costUSD": 1.39,
"sessions": 2,
"messages": 31
},
"codex": {
"tokens": 64321,
"costUSD": 0.44,
"sessions": 1,
"messages": 17
}
},
"byProvider": {
"anthropic": {
"tokens": 2023161,
"costUSD": 42.27
},
"openai-codex": {
"tokens": 41759,
"costUSD": 0.15
},
"openai": {
"tokens": 64321,
"costUSD": 0.44
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1343004,
"costUSD": 39.92,
"sessions": 11,
"messages": 529
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 101667,
"costUSD": 1.24,
"sessions": 1,
"messages": 21
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 578490,
"costUSD": 1.11,
"sessions": 5,
"messages": 51
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 64321,
"costUSD": 0.44,
"sessions": 1,
"messages": 17
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 41759,
"costUSD": 0.15,
"sessions": 1,
"messages": 10
}
],
"byProject": {
"claude-plugins": {
"tokens": 15492,
"costUSD": 0.65,
"sessions": 1
},
"aie-europe": {
"tokens": 1090678,
"costUSD": 28.56,
"sessions": 10
},
"dotfiles": {
"tokens": 35130,
"costUSD": 2.11,
"sessions": 2
},
"cli": {
"tokens": 210615,
"costUSD": 1.99,
"sessions": 2
},
"authkit-nextjs": {
"tokens": 777326,
"costUSD": 9.55,
"sessions": 2
}
}
},
{
"date": "2026-04-09",
"tokens": 2624489,
"costUSD": 34.55,
"sessions": 5,
"messages": 450,
"hourCounts": [
0,
0,
0,
27,
0,
248,
122,
0,
24,
0,
29,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2588928,
"costUSD": 34.33,
"sessions": 4,
"messages": 441
},
"codex": {
"tokens": 35561,
"costUSD": 0.23,
"sessions": 1,
"messages": 9
}
},
"byProvider": {
"anthropic": {
"tokens": 2588928,
"costUSD": 34.33
},
"openai": {
"tokens": 35561,
"costUSD": 0.23
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1837554,
"costUSD": 31.31,
"sessions": 4,
"messages": 249
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 739780,
"costUSD": 2.98,
"sessions": 2,
"messages": 191
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 35561,
"costUSD": 0.23,
"sessions": 1,
"messages": 9
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 11594,
"costUSD": 0.04,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"talks": {
"tokens": 2026859,
"costUSD": 26.87,
"sessions": 2
},
"authkit-nextjs": {
"tokens": 306220,
"costUSD": 5.14,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 291410,
"costUSD": 2.55,
"sessions": 2
}
}
},
{
"date": "2026-04-10",
"tokens": 1640055,
"costUSD": 45.94,
"sessions": 7,
"messages": 512,
"hourCounts": [
0,
33,
227,
115,
17,
0,
38,
0,
82,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1622538,
"costUSD": 45.85,
"sessions": 5,
"messages": 510
},
"pi": {
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
},
"codex": {
"tokens": 17517,
"costUSD": 0.09,
"sessions": 1,
"messages": 1
}
},
"byProvider": {
"anthropic": {
"tokens": 1622538,
"costUSD": 45.85
},
"openai": {
"tokens": 17517,
"costUSD": 0.09
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1126028,
"costUSD": 43.76,
"sessions": 5,
"messages": 387
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 346694,
"costUSD": 1.31,
"sessions": 2,
"messages": 91
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 149816,
"costUSD": 0.78,
"sessions": 1,
"messages": 32
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 17517,
"costUSD": 0.09,
"sessions": 1,
"messages": 1
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"talks": {
"tokens": 1393937,
"costUSD": 42.4,
"sessions": 5
},
"case": {
"tokens": 58524,
"costUSD": 1.35,
"sessions": 1
},
"dotfiles": {
"tokens": 187594,
"costUSD": 2.19,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 0,
"costUSD": 0,
"sessions": 1
}
}
},
{
"date": "2026-04-11",
"tokens": 178711,
"costUSD": 1.67,
"sessions": 1,
"messages": 29,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
29,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 178711,
"costUSD": 1.67,
"sessions": 1,
"messages": 29
}
},
"byProvider": {
"anthropic": {
"tokens": 178711,
"costUSD": 1.67
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 84420,
"costUSD": 1.44,
"sessions": 1,
"messages": 15
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 94291,
"costUSD": 0.23,
"sessions": 1,
"messages": 14
}
],
"byProject": {
"talks": {
"tokens": 168083,
"costUSD": 1.21,
"sessions": 1
},
"dotfiles": {
"tokens": 10628,
"costUSD": 0.46,
"sessions": 1
}
}
},
{
"date": "2026-04-12",
"tokens": 350853,
"costUSD": 11.21,
"sessions": 1,
"messages": 120,
"hourCounts": [
0,
63,
56,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 350853,
"costUSD": 11.21,
"sessions": 1,
"messages": 120
}
},
"byProvider": {
"anthropic": {
"tokens": 350853,
"costUSD": 11.21
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 350853,
"costUSD": 11.21,
"sessions": 1,
"messages": 120
}
],
"byProject": {
"dotfiles": {
"tokens": 127274,
"costUSD": 3.59,
"sessions": 1
},
"aie-europe": {
"tokens": 21749,
"costUSD": 1.54,
"sessions": 1
},
"talks": {
"tokens": 20060,
"costUSD": 2.12,
"sessions": 1
},
"nicknisi.com": {
"tokens": 181770,
"costUSD": 3.97,
"sessions": 1
}
}
},
{
"date": "2026-04-13",
"tokens": 1569975,
"costUSD": 23.96,
"sessions": 7,
"messages": 295,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
29,
29,
27,
11,
68,
39,
35,
20,
37,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1452591,
"costUSD": 23.14,
"sessions": 6,
"messages": 275
},
"codex": {
"tokens": 117384,
"costUSD": 0.82,
"sessions": 1,
"messages": 20
}
},
"byProvider": {
"anthropic": {
"tokens": 1452591,
"costUSD": 23.14
},
"openai": {
"tokens": 117384,
"costUSD": 0.82
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1196890,
"costUSD": 20.72,
"sessions": 6,
"messages": 174
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 255701,
"costUSD": 2.42,
"sessions": 2,
"messages": 100
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 117384,
"costUSD": 0.82,
"sessions": 1,
"messages": 20
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 57077,
"costUSD": 0.84,
"sessions": 1
},
"workos-bulk-user-import-tool-multi-org": {
"tokens": 343717,
"costUSD": 5.94,
"sessions": 1
},
"nicknisi.com": {
"tokens": 128651,
"costUSD": 2.19,
"sessions": 1
},
"workos-node": {
"tokens": 774005,
"costUSD": 9.14,
"sessions": 2
},
"dotfiles": {
"tokens": 57130,
"costUSD": 0.81,
"sessions": 1
},
"skills": {
"tokens": 209395,
"costUSD": 5.03,
"sessions": 1
}
}
},
{
"date": "2026-04-14",
"tokens": 4730605,
"costUSD": 110.93,
"sessions": 21,
"messages": 1384,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
2,
221,
61,
85,
127,
103,
342,
190,
26,
19,
120,
88,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3973257,
"costUSD": 106.92,
"sessions": 16,
"messages": 1298
},
"codex": {
"tokens": 795309,
"costUSD": 4.48,
"sessions": 6,
"messages": 86
}
},
"byProvider": {
"anthropic": {
"tokens": 3973257,
"costUSD": 106.92
},
"openai": {
"tokens": 795309,
"costUSD": 4.48
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3935296,
"costUSD": 106.45,
"sessions": 15,
"messages": 1282
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 795309,
"costUSD": 4.48,
"sessions": 6,
"messages": 86
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 37961,
"costUSD": 0.47,
"sessions": 1,
"messages": 14
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"cli": {
"tokens": 2716076,
"costUSD": 71.45,
"sessions": 9
},
"workos": {
"tokens": 967251,
"costUSD": 21.49,
"sessions": 4
},
"emulate": {
"tokens": 42531,
"costUSD": 2.2,
"sessions": 1
},
"dotfiles": {
"tokens": 212573,
"costUSD": 4.14,
"sessions": 3
},
"claude-plugins": {
"tokens": 4378,
"costUSD": 0.3,
"sessions": 1
},
"skills": {
"tokens": 787796,
"costUSD": 11.34,
"sessions": 6
}
}
},
{
"date": "2026-04-15",
"tokens": 6121787,
"costUSD": 117.14,
"sessions": 20,
"messages": 992,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
146,
8,
117,
0,
78,
20,
217,
215,
191,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 5774887,
"costUSD": 114.8,
"sessions": 15,
"messages": 904
},
"codex": {
"tokens": 346900,
"costUSD": 2.34,
"sessions": 5,
"messages": 88
}
},
"byProvider": {
"anthropic": {
"tokens": 5774887,
"costUSD": 114.8
},
"openai": {
"tokens": 346900,
"costUSD": 2.34
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 5774887,
"costUSD": 114.8,
"sessions": 15,
"messages": 903
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 346900,
"costUSD": 2.34,
"sessions": 5,
"messages": 88
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 747258,
"costUSD": 12.97,
"sessions": 5
},
"cli": {
"tokens": 3460893,
"costUSD": 71.77,
"sessions": 9
},
"workos": {
"tokens": 1527439,
"costUSD": 27.97,
"sessions": 3
},
"skills": {
"tokens": 182012,
"costUSD": 1.82,
"sessions": 2
},
"authkit-tanstack-start": {
"tokens": 168550,
"costUSD": 2.39,
"sessions": 1
},
"dotfiles": {
"tokens": 35635,
"costUSD": 0.21,
"sessions": 1
}
}
},
{
"date": "2026-04-16",
"tokens": 4265322,
"costUSD": 72.45,
"sessions": 16,
"messages": 714,
"hourCounts": [
0,
0,
0,
0,
82,
171,
0,
0,
18,
6,
65,
29,
14,
92,
96,
65,
76,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3572681,
"costUSD": 68.18,
"sessions": 10,
"messages": 604
},
"codex": {
"tokens": 692641,
"costUSD": 4.27,
"sessions": 6,
"messages": 110
}
},
"byProvider": {
"anthropic": {
"tokens": 3572681,
"costUSD": 68.18
},
"openai": {
"tokens": 692641,
"costUSD": 4.27
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2201378,
"costUSD": 43.33,
"sessions": 6,
"messages": 361
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1371303,
"costUSD": 24.85,
"sessions": 4,
"messages": 242
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 692641,
"costUSD": 4.27,
"sessions": 6,
"messages": 110
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-session": {
"tokens": 1193856,
"costUSD": 14.77,
"sessions": 5
},
"authkit-sveltekit": {
"tokens": 604138,
"costUSD": 20.25,
"sessions": 1
},
"cli": {
"tokens": 365437,
"costUSD": 5.93,
"sessions": 1
},
"workos": {
"tokens": 1984348,
"costUSD": 30.7,
"sessions": 8
},
"skills": {
"tokens": 117543,
"costUSD": 0.81,
"sessions": 1
}
}
},
{
"date": "2026-04-17",
"tokens": 7802195,
"costUSD": 148.15,
"sessions": 21,
"messages": 1340,
"hourCounts": [
0,
0,
0,
0,
0,
153,
22,
0,
111,
438,
137,
29,
24,
157,
0,
8,
97,
72,
92,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 6525004,
"costUSD": 140.83,
"sessions": 11,
"messages": 1162
},
"pi": {
"tokens": 7918,
"costUSD": 0.04,
"sessions": 1,
"messages": 5
},
"codex": {
"tokens": 1269273,
"costUSD": 7.28,
"sessions": 9,
"messages": 173
}
},
"byProvider": {
"anthropic": {
"tokens": 6525004,
"costUSD": 140.83
},
"openai-codex": {
"tokens": 7918,
"costUSD": 0.04
},
"openai": {
"tokens": 1269273,
"costUSD": 7.28
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 6525004,
"costUSD": 140.83,
"sessions": 11,
"messages": 1161
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 1269273,
"costUSD": 7.28,
"sessions": 9,
"messages": 173
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.4",
"tokens": 7918,
"costUSD": 0.04,
"sessions": 1,
"messages": 5
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-session": {
"tokens": 3393856,
"costUSD": 54.51,
"sessions": 9
},
"authkit-tanstack-start": {
"tokens": 1976636,
"costUSD": 33.27,
"sessions": 2
},
"authkit-sveltekit": {
"tokens": 548683,
"costUSD": 15.89,
"sessions": 5
},
"authkit-remix": {
"tokens": 24756,
"costUSD": 0.31,
"sessions": 1
},
"authkit-react-router": {
"tokens": 1858264,
"costUSD": 44.16,
"sessions": 6
}
}
},
{
"date": "2026-04-18",
"tokens": 2683055,
"costUSD": 51.48,
"sessions": 8,
"messages": 592,
"hourCounts": [
0,
0,
0,
0,
0,
0,
32,
0,
0,
142,
375,
20,
0,
0,
0,
0,
0,
0,
18,
5,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2321938,
"costUSD": 49.52,
"sessions": 6,
"messages": 552
},
"codex": {
"tokens": 361117,
"costUSD": 1.96,
"sessions": 2,
"messages": 40
}
},
"byProvider": {
"anthropic": {
"tokens": 2321938,
"costUSD": 49.52
},
"openai": {
"tokens": 361117,
"costUSD": 1.96
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2321938,
"costUSD": 49.52,
"sessions": 6,
"messages": 550
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 361117,
"costUSD": 1.96,
"sessions": 2,
"messages": 40
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"authkit-session": {
"tokens": 1611753,
"costUSD": 30.96,
"sessions": 6
},
"authkit-sveltekit": {
"tokens": 29956,
"costUSD": 1.38,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 486483,
"costUSD": 10.87,
"sessions": 1
},
"cli": {
"tokens": 399912,
"costUSD": 5.73,
"sessions": 2
},
"emulate": {
"tokens": 154951,
"costUSD": 2.55,
"sessions": 1
}
}
},
{
"date": "2026-04-19",
"tokens": 2029875,
"costUSD": 42.88,
"sessions": 9,
"messages": 496,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
115,
91,
290,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1602265,
"costUSD": 40.34,
"sessions": 5,
"messages": 439
},
"codex": {
"tokens": 427610,
"costUSD": 2.54,
"sessions": 4,
"messages": 57
}
},
"byProvider": {
"anthropic": {
"tokens": 1602265,
"costUSD": 40.34
},
"openai": {
"tokens": 427610,
"costUSD": 2.54
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1602265,
"costUSD": 40.34,
"sessions": 5,
"messages": 439
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 427610,
"costUSD": 2.54,
"sessions": 4,
"messages": 57
}
],
"byProject": {
"authkit-sveltekit": {
"tokens": 291142,
"costUSD": 5.63,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 16671,
"costUSD": 1.35,
"sessions": 1
},
"authkit-session": {
"tokens": 482836,
"costUSD": 8.12,
"sessions": 2
},
"cli": {
"tokens": 532783,
"costUSD": 8.26,
"sessions": 4
},
"emulate": {
"tokens": 706443,
"costUSD": 19.52,
"sessions": 4
}
}
},
{
"date": "2026-04-20",
"tokens": 9647337,
"costUSD": 181.24,
"sessions": 38,
"messages": 4370,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
34,
293,
157,
395,
75,
74,
197,
125,
111,
178,
116,
1027,
1588,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 13840175,
"costUSD": 422.78,
"sessions": 85,
"messages": 4095
},
"codex": {
"tokens": 2023163,
"costUSD": 11.31,
"sessions": 21,
"messages": 275
}
},
"byProvider": {
"anthropic": {
"tokens": 13840175,
"costUSD": 422.78
},
"openai": {
"tokens": 2023163,
"costUSD": 11.31
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 13840175,
"costUSD": 422.78,
"sessions": 85,
"messages": 4094
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 2023163,
"costUSD": 11.31,
"sessions": 21,
"messages": 275
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-session": {
"tokens": 3674712,
"costUSD": 64.67,
"sessions": 23
},
"authkit-tanstack-start": {
"tokens": 951322,
"costUSD": 18.9,
"sessions": 5
},
"authkit-sveltekit": {
"tokens": 1487577,
"costUSD": 30.76,
"sessions": 4
},
"skills": {
"tokens": 1163468,
"costUSD": 18.51,
"sessions": 1
},
"dotfiles": {
"tokens": 17071,
"costUSD": 1.03,
"sessions": 1
},
"emulate": {
"tokens": 1153538,
"costUSD": 21.41,
"sessions": 2
},
"cli": {
"tokens": 91146,
"costUSD": 2.74,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 1108503,
"costUSD": 23.17,
"sessions": 7
}
}
},
{
"date": "2026-04-21",
"tokens": 3324248,
"costUSD": 62.91,
"sessions": 11,
"messages": 8223,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
21,
1404,
959,
1927,
68,
35,
1047,
253,
1173,
1281,
55,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 23360456,
"costUSD": 759.54,
"sessions": 218,
"messages": 8135
},
"pi": {
"tokens": 11955,
"costUSD": 0.12,
"sessions": 1,
"messages": 6
},
"codex": {
"tokens": 645513,
"costUSD": 3.52,
"sessions": 4,
"messages": 82
}
},
"byProvider": {
"anthropic": {
"tokens": 23372411,
"costUSD": 759.66
},
"openai": {
"tokens": 645513,
"costUSD": 3.52
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 17651405,
"costUSD": 545.76,
"sessions": 146,
"messages": 5093
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 3504275,
"costUSD": 118.84,
"sessions": 57,
"messages": 1888
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2204776,
"costUSD": 94.94,
"sessions": 29,
"messages": 1154
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 645513,
"costUSD": 3.52,
"sessions": 4,
"messages": 82
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 11955,
"costUSD": 0.12,
"sessions": 1,
"messages": 6
}
],
"byProject": {
"claude-plugins": {
"tokens": 332997,
"costUSD": 6.62,
"sessions": 2
},
"workos-bulk-user-import-tool-multi-org": {
"tokens": 394561,
"costUSD": 9.87,
"sessions": 1
},
"react-router-authkit-example": {
"tokens": 64056,
"costUSD": 1.39,
"sessions": 1
},
"authkit-react-router": {
"tokens": 498791,
"costUSD": 3.55,
"sessions": 4
},
"cli": {
"tokens": 1949342,
"costUSD": 37.52,
"sessions": 4
},
"skills": {
"tokens": 84501,
"costUSD": 4.02,
"sessions": 1
}
}
},
{
"date": "2026-04-22",
"tokens": 8146329,
"costUSD": 179.72,
"sessions": 26,
"messages": 3826,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
12,
165,
52,
88,
1021,
23,
0,
919,
133,
350,
318,
191,
307,
133,
0,
114
],
"byTool": {
"claude-code": {
"tokens": 12704118,
"costUSD": 278.57,
"sessions": 81,
"messages": 3612
},
"codex": {
"tokens": 1327322,
"costUSD": 7.79,
"sessions": 12,
"messages": 214
}
},
"byProvider": {
"anthropic": {
"tokens": 12704118,
"costUSD": 278.57
},
"openai": {
"tokens": 1327322,
"costUSD": 7.79
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 7395118,
"costUSD": 180.37,
"sessions": 23,
"messages": 1638
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 4919802,
"costUSD": 95.34,
"sessions": 62,
"messages": 1868
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 1327322,
"costUSD": 7.79,
"sessions": 12,
"messages": 214
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 143339,
"costUSD": 2.13,
"sessions": 3,
"messages": 59
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 245859,
"costUSD": 0.73,
"sessions": 8,
"messages": 46
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 437542,
"costUSD": 6,
"sessions": 3
},
"skills": {
"tokens": 110114,
"costUSD": 5.21,
"sessions": 1
},
"cli": {
"tokens": 4131955,
"costUSD": 111.28,
"sessions": 8
},
"aie-europe": {
"tokens": 147374,
"costUSD": 2.76,
"sessions": 2
},
"authkit-session": {
"tokens": 2302038,
"costUSD": 37.73,
"sessions": 10
},
"authkit-sveltekit": {
"tokens": 828424,
"costUSD": 14.03,
"sessions": 3
},
"authkit-react-router": {
"tokens": 188882,
"costUSD": 2.67,
"sessions": 1
}
}
},
{
"date": "2026-04-23",
"tokens": 7144484,
"costUSD": 117.87,
"sessions": 28,
"messages": 1039,
"hourCounts": [
47,
0,
0,
0,
0,
0,
0,
0,
0,
57,
103,
101,
25,
180,
62,
0,
29,
31,
72,
0,
102,
67,
163,
0
],
"byTool": {
"claude-code": {
"tokens": 5387019,
"costUSD": 98.15,
"sessions": 19,
"messages": 762
},
"codex": {
"tokens": 1757465,
"costUSD": 19.72,
"sessions": 9,
"messages": 277
}
},
"byProvider": {
"anthropic": {
"tokens": 5387019,
"costUSD": 98.15
},
"openai": {
"tokens": 1757465,
"costUSD": 19.72
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 5384392,
"costUSD": 98.12,
"sessions": 18,
"messages": 759
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 1008384,
"costUSD": 14.92,
"sessions": 1,
"messages": 120
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.4",
"tokens": 749081,
"costUSD": 4.8,
"sessions": 8,
"messages": 157
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 2627,
"costUSD": 0.02,
"sessions": 1,
"messages": 1
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 738208,
"costUSD": 14.1,
"sessions": 4
},
"dotfiles": {
"tokens": 303176,
"costUSD": 5.51,
"sessions": 5
},
"cli": {
"tokens": 2411962,
"costUSD": 38.78,
"sessions": 8
},
"authkit-session": {
"tokens": 1728699,
"costUSD": 24.63,
"sessions": 3
},
"authkit-sveltekit": {
"tokens": 606305,
"costUSD": 8.27,
"sessions": 5
},
"authkit-tanstack-start": {
"tokens": 828216,
"costUSD": 11.82,
"sessions": 3
},
"authkit-react-router": {
"tokens": 99881,
"costUSD": 1.3,
"sessions": 1
},
"skills": {
"tokens": 142075,
"costUSD": 7.64,
"sessions": 1
},
"workos-node": {
"tokens": 285962,
"costUSD": 5.81,
"sessions": 3
}
}
},
{
"date": "2026-04-24",
"tokens": 3278435,
"costUSD": 54.69,
"sessions": 15,
"messages": 553,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
44,
29,
71,
73,
26,
0,
28,
143,
51,
72,
16,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1350937,
"costUSD": 31.98,
"sessions": 6,
"messages": 296
},
"codex": {
"tokens": 1927498,
"costUSD": 22.7,
"sessions": 9,
"messages": 257
}
},
"byProvider": {
"anthropic": {
"tokens": 1350937,
"costUSD": 31.98
},
"openai": {
"tokens": 1927498,
"costUSD": 22.7
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1350937,
"costUSD": 31.98,
"sessions": 6,
"messages": 296
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 1927498,
"costUSD": 22.7,
"sessions": 9,
"messages": 257
}
],
"byProject": {
"authkit-session": {
"tokens": 263510,
"costUSD": 5.99,
"sessions": 2
},
"authkit-sveltekit": {
"tokens": 593516,
"costUSD": 12.04,
"sessions": 3
},
"authkit-tanstack-start": {
"tokens": 912056,
"costUSD": 17.85,
"sessions": 7
},
"skills": {
"tokens": 1454983,
"costUSD": 18.18,
"sessions": 3
},
"dotfiles": {
"tokens": 24913,
"costUSD": 0.26,
"sessions": 1
},
"nicknisi": {
"tokens": 29457,
"costUSD": 0.36,
"sessions": 1
}
}
},
{
"date": "2026-04-26",
"tokens": 5392346,
"costUSD": 103.85,
"sessions": 17,
"messages": 782,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
153,
69,
20,
12,
62,
10,
78,
44,
65,
39,
5,
67,
96,
38,
24,
0
],
"byTool": {
"claude-code": {
"tokens": 2864599,
"costUSD": 77.64,
"sessions": 8,
"messages": 483
},
"pi": {
"tokens": 289198,
"costUSD": 3.57,
"sessions": 2,
"messages": 53
},
"codex": {
"tokens": 2238549,
"costUSD": 22.64,
"sessions": 7,
"messages": 246
}
},
"byProvider": {
"anthropic": {
"tokens": 2864599,
"costUSD": 77.64
},
"openai-codex": {
"tokens": 289198,
"costUSD": 3.57
},
"openai": {
"tokens": 2238549,
"costUSD": 22.64
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2864599,
"costUSD": 77.64,
"sessions": 8,
"messages": 482
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 2238549,
"costUSD": 22.64,
"sessions": 7,
"messages": 246
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 289198,
"costUSD": 3.57,
"sessions": 2,
"messages": 53
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 4049609,
"costUSD": 81.66,
"sessions": 10
},
"posthog-wizard": {
"tokens": 40395,
"costUSD": 1.18,
"sessions": 1
},
"skills": {
"tokens": 1013144,
"costUSD": 17.44,
"sessions": 5
},
"dotfiles": {
"tokens": 289198,
"costUSD": 3.57,
"sessions": 2
}
}
},
{
"date": "2026-04-27",
"tokens": 3214950,
"costUSD": 101.28,
"sessions": 9,
"messages": 606,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
5,
74,
171,
61,
0,
117,
70,
47,
18,
0,
0,
17,
26,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2702486,
"costUSD": 94.49,
"sessions": 5,
"messages": 507
},
"codex": {
"tokens": 512464,
"costUSD": 6.79,
"sessions": 4,
"messages": 99
}
},
"byProvider": {
"anthropic": {
"tokens": 2702486,
"costUSD": 94.49
},
"openai": {
"tokens": 512464,
"costUSD": 6.79
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2702486,
"costUSD": 94.49,
"sessions": 5,
"messages": 506
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 512464,
"costUSD": 6.79,
"sessions": 4,
"messages": 99
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"workos": {
"tokens": 3103489,
"costUSD": 98.91,
"sessions": 8
},
"authkit-react-router": {
"tokens": 86713,
"costUSD": 1.55,
"sessions": 1
},
"dotfiles": {
"tokens": 24748,
"costUSD": 0.82,
"sessions": 1
}
}
},
{
"date": "2026-04-28",
"tokens": 8438074,
"costUSD": 137.62,
"sessions": 11,
"messages": 1151,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
3,
66,
14,
0,
9,
29,
21,
214,
291,
70,
0,
0,
0,
63,
266,
105
],
"byTool": {
"claude-code": {
"tokens": 6160140,
"costUSD": 115.98,
"sessions": 10,
"messages": 1015
},
"codex": {
"tokens": 2320132,
"costUSD": 22.06,
"sessions": 2,
"messages": 136
}
},
"byProvider": {
"anthropic": {
"tokens": 6160140,
"costUSD": 115.98
},
"openai": {
"tokens": 2320132,
"costUSD": 22.06
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 6160140,
"costUSD": 115.98,
"sessions": 10,
"messages": 1012
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 2320132,
"costUSD": 22.06,
"sessions": 2,
"messages": 136
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 3
}
],
"byProject": {
"aie-europe": {
"tokens": 554604,
"costUSD": 14.64,
"sessions": 2
},
"workos": {
"tokens": 3732796,
"costUSD": 53.31,
"sessions": 5
},
"cli": {
"tokens": 353141,
"costUSD": 6.94,
"sessions": 2
},
"nicknisi.com": {
"tokens": 3255945,
"costUSD": 48.45,
"sessions": 1
},
"dotfiles": {
"tokens": 541588,
"costUSD": 14.27,
"sessions": 2
}
}
},
{
"date": "2026-04-29",
"tokens": 6907389,
"costUSD": 206.9,
"sessions": 25,
"messages": 1344,
"hourCounts": [
86,
7,
0,
0,
0,
0,
0,
0,
0,
67,
106,
149,
133,
172,
207,
87,
241,
7,
15,
67,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 6589437,
"costUSD": 207.97,
"sessions": 21,
"messages": 1185
},
"codex": {
"tokens": 1193391,
"costUSD": 16.35,
"sessions": 8,
"messages": 159
}
},
"byProvider": {
"anthropic": {
"tokens": 6589437,
"costUSD": 207.97
},
"openai": {
"tokens": 1193391,
"costUSD": 16.35
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 6103554,
"costUSD": 199.55,
"sessions": 17,
"messages": 1086
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 1193391,
"costUSD": 16.35,
"sessions": 8,
"messages": 159
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 485883,
"costUSD": 8.42,
"sessions": 6,
"messages": 94
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 5,
"messages": 5
}
],
"byProject": {
"talks": {
"tokens": 69515,
"costUSD": 2.35,
"sessions": 1
},
"aie-europe": {
"tokens": 312586,
"costUSD": 4.95,
"sessions": 2
},
"workos": {
"tokens": 2162509,
"costUSD": 107.98,
"sessions": 6
},
"authkit-tanstack-start": {
"tokens": 3289294,
"costUSD": 58.76,
"sessions": 10
},
"tokenmaxing": {
"tokens": 41018,
"costUSD": 0.97,
"sessions": 1
},
"cli": {
"tokens": 276768,
"costUSD": 4.53,
"sessions": 5
},
"dotfiles": {
"tokens": 604263,
"costUSD": 11.51,
"sessions": 1
},
"nicknisi.com": {
"tokens": 151436,
"costUSD": 15.84,
"sessions": 1
}
}
},
{
"date": "2026-04-30",
"tokens": 2145936,
"costUSD": 42.88,
"sessions": 16,
"messages": 2437,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
142,
52,
238,
473,
521,
272,
99,
211,
25,
125,
45,
0,
21,
152,
61
],
"byTool": {
"claude-code": {
"tokens": 7451790,
"costUSD": 227.17,
"sessions": 23,
"messages": 2332
},
"pi": {
"tokens": 10192,
"costUSD": 0.18,
"sessions": 1,
"messages": 1
},
"codex": {
"tokens": 351755,
"costUSD": 6.87,
"sessions": 2,
"messages": 104
}
},
"byProvider": {
"anthropic": {
"tokens": 7451790,
"costUSD": 227.17
},
"openai-codex": {
"tokens": 10192,
"costUSD": 0.18
},
"openai": {
"tokens": 351755,
"costUSD": 6.87
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 4552093,
"costUSD": 173.66,
"sessions": 20,
"messages": 1223
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2899697,
"costUSD": 53.51,
"sessions": 3,
"messages": 1105
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 351755,
"costUSD": 6.87,
"sessions": 2,
"messages": 104
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 10192,
"costUSD": 0.18,
"sessions": 1,
"messages": 1
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 4,
"messages": 4
}
],
"byProject": {
"authkit-tanstack-start": {
"tokens": 341647,
"costUSD": 5.22,
"sessions": 2
},
"workos-node": {
"tokens": 148171,
"costUSD": 1.79,
"sessions": 5
},
"cli": {
"tokens": 619801,
"costUSD": 15.19,
"sessions": 5
},
"dotfiles": {
"tokens": 415162,
"costUSD": 6.48,
"sessions": 1
},
"workos": {
"tokens": 621155,
"costUSD": 14.19,
"sessions": 3
}
}
},
{
"date": "2026-05-01",
"tokens": 578608,
"costUSD": 8.45,
"sessions": 4,
"messages": 784,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
24,
128,
37,
99,
48,
163,
128,
72,
85,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4548167,
"costUSD": 84.62,
"sessions": 35,
"messages": 782
},
"codex": {
"tokens": 28711,
"costUSD": 0.25,
"sessions": 2,
"messages": 2
}
},
"byProvider": {
"anthropic": {
"tokens": 4548167,
"costUSD": 84.62
},
"openai": {
"tokens": 28711,
"costUSD": 0.25
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3783389,
"costUSD": 77,
"sessions": 35,
"messages": 646
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 764778,
"costUSD": 7.61,
"sessions": 4,
"messages": 134
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 28711,
"costUSD": 0.25,
"sessions": 2,
"messages": 2
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"workos-node": {
"tokens": 578608,
"costUSD": 8.45,
"sessions": 4
}
}
},
{
"date": "2026-05-02",
"tokens": 42438,
"costUSD": 0.47,
"sessions": 1,
"messages": 40,
"hourCounts": [
0,
0,
0,
2,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
37,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 651227,
"costUSD": 8.28,
"sessions": 4,
"messages": 40
}
},
"byProvider": {
"anthropic": {
"tokens": 651227,
"costUSD": 8.28
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 528752,
"costUSD": 7.26,
"sessions": 4,
"messages": 29
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 122475,
"costUSD": 1.01,
"sessions": 1,
"messages": 11
}
],
"byProject": {
"dotfiles": {
"tokens": 42438,
"costUSD": 0.47,
"sessions": 1
}
}
},
{
"date": "2026-05-04",
"tokens": 2660242,
"costUSD": 66.23,
"sessions": 12,
"messages": 725,
"hourCounts": [
0,
0,
0,
0,
0,
0,
17,
2,
3,
44,
105,
18,
7,
14,
0,
0,
52,
274,
98,
91,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2963033,
"costUSD": 68.04,
"sessions": 16,
"messages": 725
}
},
"byProvider": {
"anthropic": {
"tokens": 2963033,
"costUSD": 68.04
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2246581,
"costUSD": 59.65,
"sessions": 13,
"messages": 582
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 514067,
"costUSD": 7.2,
"sessions": 4,
"messages": 127
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-4-6",
"tokens": 202385,
"costUSD": 1.18,
"sessions": 3,
"messages": 4
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 6,
"messages": 12
}
],
"byProject": {
"cli": {
"tokens": 1962242,
"costUSD": 54.47,
"sessions": 7
},
"dotfiles": {
"tokens": 58895,
"costUSD": 0.87,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 49743,
"costUSD": 0.9,
"sessions": 1
},
"workos": {
"tokens": 589362,
"costUSD": 9.99,
"sessions": 3
}
}
},
{
"date": "2026-05-05",
"tokens": 868110,
"costUSD": 18.91,
"sessions": 5,
"messages": 527,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
5,
0,
67,
204,
53,
27,
8,
61,
57,
26,
0,
19,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 713881,
"costUSD": 18.12,
"sessions": 5,
"messages": 128
},
"pi": {
"tokens": 238016,
"costUSD": 2.15,
"sessions": 3,
"messages": 46
},
"codex": {
"tokens": 1430747,
"costUSD": 32.87,
"sessions": 4,
"messages": 353
}
},
"byProvider": {
"anthropic": {
"tokens": 713881,
"costUSD": 18.12
},
"openai-codex": {
"tokens": 238016,
"costUSD": 2.15
},
"openai": {
"tokens": 1430747,
"costUSD": 32.87
}
},
"byModel": [
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 1430747,
"costUSD": 32.87,
"sessions": 4,
"messages": 353
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 713881,
"costUSD": 18.12,
"sessions": 5,
"messages": 127
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 238016,
"costUSD": 2.15,
"sessions": 3,
"messages": 46
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 868110,
"costUSD": 18.91,
"sessions": 5
}
}
},
{
"date": "2026-05-06",
"tokens": 2485691,
"costUSD": 42.61,
"sessions": 14,
"messages": 779,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
7,
54,
71,
0,
11,
155,
13,
109,
178,
181,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1067566,
"costUSD": 26.38,
"sessions": 5,
"messages": 334
},
"pi": {
"tokens": 1870200,
"costUSD": 30.06,
"sessions": 8,
"messages": 369
},
"codex": {
"tokens": 628099,
"costUSD": 7.09,
"sessions": 5,
"messages": 76
}
},
"byProvider": {
"anthropic": {
"tokens": 1409764,
"costUSD": 37.91
},
"openai-codex": {
"tokens": 1528002,
"costUSD": 18.53
},
"openai": {
"tokens": 628099,
"costUSD": 7.09
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 675936,
"costUSD": 20.69,
"sessions": 5,
"messages": 241
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 1528002,
"costUSD": 18.53,
"sessions": 8,
"messages": 299
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 342198,
"costUSD": 11.53,
"sessions": 1,
"messages": 70
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 628099,
"costUSD": 7.09,
"sessions": 5,
"messages": 76
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 391630,
"costUSD": 5.7,
"sessions": 2,
"messages": 91
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"cli": {
"tokens": 1076512,
"costUSD": 19.44,
"sessions": 6
},
"authkit-session": {
"tokens": 456585,
"costUSD": 10.76,
"sessions": 3
},
"workos-node": {
"tokens": 147970,
"costUSD": 2.51,
"sessions": 1
},
"dotfiles": {
"tokens": 21359,
"costUSD": 0.28,
"sessions": 1
},
"workos": {
"tokens": 144611,
"costUSD": 1.9,
"sessions": 1
},
"claude-plugins": {
"tokens": 638654,
"costUSD": 7.72,
"sessions": 2
}
}
},
{
"date": "2026-05-07",
"tokens": 1598045,
"costUSD": 28.83,
"sessions": 8,
"messages": 471,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
19,
141,
69,
8,
61,
57,
76,
34,
6,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1324032,
"costUSD": 38,
"sessions": 5,
"messages": 342
},
"pi": {
"tokens": 357960,
"costUSD": 3.85,
"sessions": 3,
"messages": 69
},
"codex": {
"tokens": 515814,
"costUSD": 5.31,
"sessions": 3,
"messages": 60
}
},
"byProvider": {
"anthropic": {
"tokens": 1374547,
"costUSD": 38.66
},
"openai-codex": {
"tokens": 307445,
"costUSD": 3.19
},
"openai": {
"tokens": 515814,
"costUSD": 5.31
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1200373,
"costUSD": 36.97,
"sessions": 5,
"messages": 326
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 515814,
"costUSD": 5.31,
"sessions": 3,
"messages": 60
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 307445,
"costUSD": 3.19,
"sessions": 2,
"messages": 60
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 123659,
"costUSD": 1.04,
"sessions": 3,
"messages": 15
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 50515,
"costUSD": 0.66,
"sessions": 1,
"messages": 9
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-session": {
"tokens": 715186,
"costUSD": 12.6,
"sessions": 3
},
"authkit-tanstack-start": {
"tokens": 2306,
"costUSD": 0.41,
"sessions": 1
},
"authkit-sveltekit": {
"tokens": 423,
"costUSD": 0.08,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 880130,
"costUSD": 15.74,
"sessions": 7
}
}
},
{
"date": "2026-05-08",
"tokens": 3957469,
"costUSD": 98.71,
"sessions": 14,
"messages": 1445,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
39,
2,
0,
14,
100,
22,
10,
109,
61,
172,
428,
417,
68,
0
],
"byTool": {
"claude-code": {
"tokens": 1795429,
"costUSD": 59.87,
"sessions": 12,
"messages": 801
},
"pi": {
"tokens": 1551792,
"costUSD": 30.56,
"sessions": 3,
"messages": 310
},
"codex": {
"tokens": 1365956,
"costUSD": 27.59,
"sessions": 4,
"messages": 334
}
},
"byProvider": {
"anthropic": {
"tokens": 2103734,
"costUSD": 67.21
},
"openai-codex": {
"tokens": 1243487,
"costUSD": 23.22
},
"openai": {
"tokens": 1365956,
"costUSD": 27.59
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1142087,
"costUSD": 49.33,
"sessions": 12,
"messages": 649
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 1365956,
"costUSD": 27.59,
"sessions": 4,
"messages": 334
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 1243487,
"costUSD": 23.22,
"sessions": 3,
"messages": 270
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 653342,
"costUSD": 10.54,
"sessions": 4,
"messages": 149
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 308305,
"costUSD": 7.34,
"sessions": 1,
"messages": 40
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 3
}
],
"byProject": {
"workos-php": {
"tokens": 310197,
"costUSD": 8.46,
"sessions": 2
},
"cli": {
"tokens": 3281457,
"costUSD": 84.5,
"sessions": 9
},
"authkit-nextjs": {
"tokens": 106168,
"costUSD": 1.24,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 168812,
"costUSD": 2.39,
"sessions": 2
},
"nicknisi": {
"tokens": 90835,
"costUSD": 2.14,
"sessions": 1
}
}
},
{
"date": "2026-05-10",
"tokens": 630630,
"costUSD": 11.96,
"sessions": 3,
"messages": 200,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
49,
0,
0,
0,
0,
0,
0,
130,
19,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 731971,
"costUSD": 10.75,
"sessions": 3,
"messages": 115
},
"pi": {
"tokens": 329648,
"costUSD": 6.79,
"sessions": 1,
"messages": 31
},
"codex": {
"tokens": 191660,
"costUSD": 3.64,
"sessions": 1,
"messages": 54
}
},
"byProvider": {
"anthropic": {
"tokens": 1061619,
"costUSD": 17.54
},
"openai": {
"tokens": 191660,
"costUSD": 3.64
}
},
"byModel": [
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 329648,
"costUSD": 6.79,
"sessions": 1,
"messages": 31
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 342209,
"costUSD": 5.88,
"sessions": 3,
"messages": 47
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 389762,
"costUSD": 4.87,
"sessions": 2,
"messages": 68
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 191660,
"costUSD": 3.64,
"sessions": 1,
"messages": 54
}
],
"byProject": {
"skills": {
"tokens": 109322,
"costUSD": 1.53,
"sessions": 1
},
"cli": {
"tokens": 521308,
"costUSD": 10.43,
"sessions": 2
}
}
},
{
"date": "2026-05-11",
"tokens": 2236171,
"costUSD": 40.63,
"sessions": 15,
"messages": 1158,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
95,
18,
201,
181,
20,
0,
0,
395,
106,
14,
0,
0,
0,
128,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3212596,
"costUSD": 81.08,
"sessions": 18,
"messages": 1022
},
"pi": {
"tokens": 105029,
"costUSD": 1.05,
"sessions": 1,
"messages": 30
},
"codex": {
"tokens": 691050,
"costUSD": 8.47,
"sessions": 3,
"messages": 106
}
},
"byProvider": {
"anthropic": {
"tokens": 3212596,
"costUSD": 81.08
},
"openai-codex": {
"tokens": 105029,
"costUSD": 1.05
},
"openai": {
"tokens": 691050,
"costUSD": 8.47
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1967080,
"costUSD": 55.35,
"sessions": 18,
"messages": 615
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1245516,
"costUSD": 25.73,
"sessions": 6,
"messages": 405
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 691050,
"costUSD": 8.47,
"sessions": 3,
"messages": 106
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 105029,
"costUSD": 1.05,
"sessions": 1,
"messages": 30
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"workos-node": {
"tokens": 98205,
"costUSD": 1.27,
"sessions": 1
},
"authkit-session": {
"tokens": 15744,
"costUSD": 0.65,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 24872,
"costUSD": 1.28,
"sessions": 1
},
"claude-plugins": {
"tokens": 121113,
"costUSD": 2.93,
"sessions": 2
},
"case": {
"tokens": 1221895,
"costUSD": 24.27,
"sessions": 8
},
"cli": {
"tokens": 714479,
"costUSD": 9.71,
"sessions": 3
},
"nicknisi": {
"tokens": 39863,
"costUSD": 0.52,
"sessions": 1
}
}
},
{
"date": "2026-05-12",
"tokens": 3678905,
"costUSD": 57.74,
"sessions": 15,
"messages": 734,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
10,
50,
53,
279,
52,
138,
0,
0,
0,
33,
117,
0
],
"byTool": {
"claude-code": {
"tokens": 3098596,
"costUSD": 53.71,
"sessions": 14,
"messages": 711
},
"codex": {
"tokens": 614333,
"costUSD": 4.7,
"sessions": 2,
"messages": 23
}
},
"byProvider": {
"anthropic": {
"tokens": 3098596,
"costUSD": 53.71
},
"openai": {
"tokens": 614333,
"costUSD": 4.7
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1832325,
"costUSD": 35.76,
"sessions": 14,
"messages": 380
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1266271,
"costUSD": 17.95,
"sessions": 7,
"messages": 329
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 614333,
"costUSD": 4.7,
"sessions": 2,
"messages": 23
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 884970,
"costUSD": 12.9,
"sessions": 2
},
"cli": {
"tokens": 2198721,
"costUSD": 35.24,
"sessions": 9
},
"case": {
"tokens": 456101,
"costUSD": 6.23,
"sessions": 2
},
"workos": {
"tokens": 139113,
"costUSD": 3.37,
"sessions": 2
}
}
},
{
"date": "2026-05-13",
"tokens": 4693610,
"costUSD": 108.96,
"sessions": 19,
"messages": 1450,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
15,
103,
53,
205,
86,
81,
55,
366,
290,
196,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4180644,
"costUSD": 108.38,
"sessions": 15,
"messages": 1365
},
"codex": {
"tokens": 635423,
"costUSD": 6.38,
"sessions": 5,
"messages": 85
}
},
"byProvider": {
"anthropic": {
"tokens": 4180644,
"costUSD": 108.38
},
"openai": {
"tokens": 635423,
"costUSD": 6.38
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2144753,
"costUSD": 78.03,
"sessions": 15,
"messages": 900
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2035891,
"costUSD": 30.35,
"sessions": 7,
"messages": 461
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 635423,
"costUSD": 6.38,
"sessions": 5,
"messages": 85
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 4,
"messages": 4
}
],
"byProject": {
"claude-plugins": {
"tokens": 1128048,
"costUSD": 29.14,
"sessions": 1
},
"cli": {
"tokens": 186656,
"costUSD": 4.07,
"sessions": 2
},
"authkit-js": {
"tokens": 783731,
"costUSD": 23.51,
"sessions": 3
},
"dotfiles": {
"tokens": 213740,
"costUSD": 4.77,
"sessions": 2
},
"case": {
"tokens": 746761,
"costUSD": 19.58,
"sessions": 2
},
"skills": {
"tokens": 969964,
"costUSD": 12.91,
"sessions": 8
},
"authkit-session": {
"tokens": 205899,
"costUSD": 7.58,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 458811,
"costUSD": 7.4,
"sessions": 1
}
}
},
{
"date": "2026-05-14",
"tokens": 669714,
"costUSD": 13.37,
"sessions": 5,
"messages": 885,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
60,
32,
0,
85,
35,
125,
510,
22,
0,
0,
0,
0,
2,
14,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2637022,
"costUSD": 65.37,
"sessions": 10,
"messages": 883
},
"pi": {
"tokens": 19372,
"costUSD": 0.15,
"sessions": 1,
"messages": 2
}
},
"byProvider": {
"anthropic": {
"tokens": 2637022,
"costUSD": 65.37
},
"openai-codex": {
"tokens": 19372,
"costUSD": 0.15
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1450327,
"costUSD": 52.58,
"sessions": 10,
"messages": 689
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1186695,
"costUSD": 12.79,
"sessions": 7,
"messages": 194
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 19372,
"costUSD": 0.15,
"sessions": 1,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 43930,
"costUSD": 0.64,
"sessions": 1
},
"authkit-session": {
"tokens": 99689,
"costUSD": 1.59,
"sessions": 2
},
"authkit-react": {
"tokens": 154073,
"costUSD": 2.19,
"sessions": 1
},
"authkit-js": {
"tokens": 96925,
"costUSD": 1.78,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 275097,
"costUSD": 7.17,
"sessions": 1
}
}
},
{
"date": "2026-05-15",
"tokens": 4152196,
"costUSD": 121.09,
"sessions": 12,
"messages": 1717,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
310,
22,
0,
0,
6,
353,
438,
293,
59,
0,
236
],
"byTool": {
"claude-code": {
"tokens": 4850651,
"costUSD": 143.62,
"sessions": 17,
"messages": 1717
}
},
"byProvider": {
"anthropic": {
"tokens": 4850651,
"costUSD": 143.62
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2328234,
"costUSD": 103.77,
"sessions": 17,
"messages": 1098
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2522417,
"costUSD": 39.85,
"sessions": 11,
"messages": 617
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 161815,
"costUSD": 4.36,
"sessions": 2
},
"authkit-session": {
"tokens": 101390,
"costUSD": 1.96,
"sessions": 2
},
"authkit-react": {
"tokens": 62943,
"costUSD": 0.86,
"sessions": 1
},
"authkit-js": {
"tokens": 1785,
"costUSD": 0.14,
"sessions": 1
},
"case": {
"tokens": 3674022,
"costUSD": 111.85,
"sessions": 7
},
"nicknisi": {
"tokens": 150241,
"costUSD": 1.92,
"sessions": 1
}
}
},
{
"date": "2026-05-16",
"tokens": 6536430,
"costUSD": 180.43,
"sessions": 8,
"messages": 2244,
"hourCounts": [
344,
0,
0,
0,
0,
0,
330,
0,
0,
0,
0,
0,
0,
0,
141,
220,
330,
275,
74,
36,
2,
158,
185,
149
],
"byTool": {
"claude-code": {
"tokens": 3814688,
"costUSD": 132.87,
"sessions": 8,
"messages": 1540
},
"codex": {
"tokens": 3570644,
"costUSD": 68.82,
"sessions": 2,
"messages": 704
}
},
"byProvider": {
"anthropic": {
"tokens": 3814688,
"costUSD": 132.87
},
"openai": {
"tokens": 3570644,
"costUSD": 68.82
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1688545,
"costUSD": 70.63,
"sessions": 8,
"messages": 694
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 3570644,
"costUSD": 68.82,
"sessions": 2,
"messages": 704
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2126143,
"costUSD": 62.23,
"sessions": 5,
"messages": 845
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 158263,
"costUSD": 3.77,
"sessions": 1
},
"case": {
"tokens": 6378167,
"costUSD": 176.66,
"sessions": 7
}
}
},
{
"date": "2026-05-18",
"tokens": 7343232,
"costUSD": 168.72,
"sessions": 21,
"messages": 2108,
"hourCounts": [
0,
0,
0,
0,
0,
0,
202,
21,
453,
168,
20,
0,
0,
74,
198,
121,
225,
252,
188,
0,
0,
5,
137,
44
],
"byTool": {
"claude-code": {
"tokens": 5287889,
"costUSD": 145.68,
"sessions": 13,
"messages": 1761
},
"pi": {
"tokens": 384541,
"costUSD": 4.3,
"sessions": 5,
"messages": 84
},
"codex": {
"tokens": 2040172,
"costUSD": 22.94,
"sessions": 7,
"messages": 263
}
},
"byProvider": {
"anthropic": {
"tokens": 5397625,
"costUSD": 147.08
},
"openai-codex": {
"tokens": 274805,
"costUSD": 2.9
},
"openai": {
"tokens": 2040172,
"costUSD": 22.94
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 3158019,
"costUSD": 108.85,
"sessions": 13,
"messages": 1177
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2129870,
"costUSD": 36.83,
"sessions": 8,
"messages": 582
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 2040172,
"costUSD": 22.94,
"sessions": 7,
"messages": 263
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 274805,
"costUSD": 2.9,
"sessions": 2,
"messages": 53
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 109736,
"costUSD": 1.4,
"sessions": 3,
"messages": 31
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 290624,
"costUSD": 5.02,
"sessions": 1
},
"talks": {
"tokens": 501709,
"costUSD": 12.32,
"sessions": 1
},
"case": {
"tokens": 4005677,
"costUSD": 92.3,
"sessions": 11
},
"authkit-session": {
"tokens": 204807,
"costUSD": 3.55,
"sessions": 2
},
"authkit-tanstack-start": {
"tokens": 1641216,
"costUSD": 50.04,
"sessions": 4
},
"dotfiles": {
"tokens": 699199,
"costUSD": 5.49,
"sessions": 2
}
}
},
{
"date": "2026-05-19",
"tokens": 6162393,
"costUSD": 176.65,
"sessions": 13,
"messages": 1818,
"hourCounts": [
0,
0,
0,
0,
0,
0,
44,
196,
534,
38,
0,
142,
191,
211,
0,
170,
262,
9,
0,
0,
21,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 5558848,
"costUSD": 171.43,
"sessions": 6,
"messages": 1725
},
"pi": {
"tokens": 525568,
"costUSD": 4.74,
"sessions": 6,
"messages": 90
},
"codex": {
"tokens": 77977,
"costUSD": 0.48,
"sessions": 1,
"messages": 3
}
},
"byProvider": {
"anthropic": {
"tokens": 5655350,
"costUSD": 172.51
},
"openai-codex": {
"tokens": 429066,
"costUSD": 3.67
},
"openai": {
"tokens": 77977,
"costUSD": 0.48
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 2871031,
"costUSD": 89.93,
"sessions": 6,
"messages": 829
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2687817,
"costUSD": 81.5,
"sessions": 3,
"messages": 895
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 429066,
"costUSD": 3.67,
"sessions": 1,
"messages": 58
},
{
"tool": "pi",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 96502,
"costUSD": 1.07,
"sessions": 5,
"messages": 32
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 77977,
"costUSD": 0.48,
"sessions": 1,
"messages": 3
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"talks": {
"tokens": 2116123,
"costUSD": 54.43,
"sessions": 2
},
"case": {
"tokens": 3871791,
"costUSD": 120.67,
"sessions": 5
},
"authkit-js": {
"tokens": 18921,
"costUSD": 0.19,
"sessions": 1
},
"authkit-react": {
"tokens": 77581,
"costUSD": 0.88,
"sessions": 4
},
"dotfiles": {
"tokens": 77977,
"costUSD": 0.48,
"sessions": 1
}
}
},
{
"date": "2026-05-20",
"tokens": 708958,
"costUSD": 17.63,
"sessions": 4,
"messages": 271,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
96,
72,
0,
99,
0,
0,
0,
4,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 746858,
"costUSD": 18.1,
"sessions": 5,
"messages": 271
}
},
"byProvider": {
"anthropic": {
"tokens": 746858,
"costUSD": 18.1
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 337020,
"costUSD": 11.09,
"sessions": 4,
"messages": 171
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 371938,
"costUSD": 6.54,
"sessions": 2,
"messages": 85
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 37900,
"costUSD": 0.47,
"sessions": 1,
"messages": 15
}
],
"byProject": {
"cli": {
"tokens": 495773,
"costUSD": 11.8,
"sessions": 3
},
"workos": {
"tokens": 213185,
"costUSD": 5.83,
"sessions": 1
}
}
},
{
"date": "2026-05-21",
"tokens": 890561,
"costUSD": 17.87,
"sessions": 4,
"messages": 270,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
33,
179,
0,
20,
18,
9,
8,
0,
3,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 980775,
"costUSD": 19.48,
"sessions": 5,
"messages": 240
},
"codex": {
"tokens": 188406,
"costUSD": 2.39,
"sessions": 1,
"messages": 30
}
},
"byProvider": {
"anthropic": {
"tokens": 980775,
"costUSD": 19.48
},
"openai": {
"tokens": 188406,
"costUSD": 2.39
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 730296,
"costUSD": 17.11,
"sessions": 5,
"messages": 202
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 188406,
"costUSD": 2.39,
"sessions": 1,
"messages": 30
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 250479,
"costUSD": 2.37,
"sessions": 3,
"messages": 38
}
],
"byProject": {
"claude-plugins": {
"tokens": 745706,
"costUSD": 16.16,
"sessions": 2
},
"dotfiles": {
"tokens": 65977,
"costUSD": 0.83,
"sessions": 1
},
"nicknisi": {
"tokens": 78878,
"costUSD": 0.88,
"sessions": 1
}
}
},
{
"date": "2026-05-22",
"tokens": 872235,
"costUSD": 15.76,
"sessions": 4,
"messages": 156,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
18,
1,
33,
1,
27,
5,
0,
0,
71,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 657291,
"costUSD": 12.51,
"sessions": 2,
"messages": 93
},
"codex": {
"tokens": 214944,
"costUSD": 3.25,
"sessions": 2,
"messages": 63
}
},
"byProvider": {
"anthropic": {
"tokens": 657291,
"costUSD": 12.51
},
"openai": {
"tokens": 214944,
"costUSD": 3.25
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 524482,
"costUSD": 10.56,
"sessions": 2,
"messages": 69
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 214944,
"costUSD": 3.25,
"sessions": 2,
"messages": 63
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 132809,
"costUSD": 1.95,
"sessions": 1,
"messages": 24
}
],
"byProject": {
"claude-plugins": {
"tokens": 571954,
"costUSD": 11.87,
"sessions": 3
},
"cli": {
"tokens": 300281,
"costUSD": 3.88,
"sessions": 1
}
}
},
{
"date": "2026-05-23",
"tokens": 1064619,
"costUSD": 33.44,
"sessions": 7,
"messages": 497,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
313,
184,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1160748,
"costUSD": 36.77,
"sessions": 7,
"messages": 495
},
"codex": {
"tokens": 62023,
"costUSD": 0.37,
"sessions": 1,
"messages": 2
}
},
"byProvider": {
"anthropic": {
"tokens": 1160748,
"costUSD": 36.77
},
"openai": {
"tokens": 62023,
"costUSD": 0.37
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 760865,
"costUSD": 25.46,
"sessions": 7,
"messages": 280
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 399883,
"costUSD": 11.31,
"sessions": 2,
"messages": 215
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 62023,
"costUSD": 0.37,
"sessions": 1,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 377630,
"costUSD": 8.31,
"sessions": 4
},
"cli": {
"tokens": 115392,
"costUSD": 1.55,
"sessions": 2
},
"dotfiles": {
"tokens": 571597,
"costUSD": 23.58,
"sessions": 1
}
}
},
{
"date": "2026-05-26",
"tokens": 2353367,
"costUSD": 45.1,
"sessions": 14,
"messages": 662,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
8,
5,
70,
55,
0,
41,
94,
0,
53,
203,
79,
1,
41,
12,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1992165,
"costUSD": 42.58,
"sessions": 12,
"messages": 545
},
"codex": {
"tokens": 614949,
"costUSD": 8.17,
"sessions": 5,
"messages": 117
}
},
"byProvider": {
"anthropic": {
"tokens": 1992165,
"costUSD": 42.58
},
"openai": {
"tokens": 614949,
"costUSD": 8.17
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1271173,
"costUSD": 33.51,
"sessions": 11,
"messages": 386
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 720992,
"costUSD": 9.07,
"sessions": 7,
"messages": 159
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 614949,
"costUSD": 8.17,
"sessions": 5,
"messages": 117
}
],
"byProject": {
"claude-plugins": {
"tokens": 87209,
"costUSD": 1.11,
"sessions": 3
},
"authkit-session": {
"tokens": 507076,
"costUSD": 9.61,
"sessions": 3
},
"authkit-tanstack-start": {
"tokens": 213275,
"costUSD": 3.56,
"sessions": 2
},
"authkit-react": {
"tokens": 48354,
"costUSD": 0.77,
"sessions": 1
},
"authkit-js": {
"tokens": 108402,
"costUSD": 1.6,
"sessions": 2
},
"tokenmaxing": {
"tokens": 78734,
"costUSD": 1.03,
"sessions": 1
},
"cli": {
"tokens": 59903,
"costUSD": 0.92,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 1250414,
"costUSD": 26.5,
"sessions": 4
}
}
},
{
"date": "2026-05-27",
"tokens": 2617447,
"costUSD": 46.92,
"sessions": 14,
"messages": 1010,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
9,
106,
22,
57,
51,
8,
72,
150,
237,
223,
75,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2995262,
"costUSD": 74.83,
"sessions": 9,
"messages": 896
},
"pi": {
"tokens": 137016,
"costUSD": 1.24,
"sessions": 1,
"messages": 19
},
"codex": {
"tokens": 394857,
"costUSD": 5.39,
"sessions": 5,
"messages": 95
}
},
"byProvider": {
"anthropic": {
"tokens": 2995262,
"costUSD": 74.83
},
"openai-codex": {
"tokens": 137016,
"costUSD": 1.24
},
"openai": {
"tokens": 394857,
"costUSD": 5.39
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1829158,
"costUSD": 57.71,
"sessions": 9,
"messages": 545
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1166104,
"costUSD": 17.12,
"sessions": 5,
"messages": 350
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 394857,
"costUSD": 5.39,
"sessions": 5,
"messages": 95
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 137016,
"costUSD": 1.24,
"sessions": 1,
"messages": 19
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 1322630,
"costUSD": 27.66,
"sessions": 7
},
"dotfiles": {
"tokens": 516224,
"costUSD": 8.16,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 489269,
"costUSD": 7.42,
"sessions": 3
},
"authkit-tanstack-start": {
"tokens": 177306,
"costUSD": 1.95,
"sessions": 1
},
"tokenmaxing": {
"tokens": 10553,
"costUSD": 0.06,
"sessions": 1
},
"authkit-react": {
"tokens": 101465,
"costUSD": 1.68,
"sessions": 1
}
}
},
{
"date": "2026-05-28",
"tokens": 6023697,
"costUSD": 171.3,
"sessions": 8,
"messages": 1746,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
121,
502,
266,
66,
75,
94,
319,
184,
119,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4914335,
"costUSD": 153.71,
"sessions": 8,
"messages": 1497
},
"codex": {
"tokens": 1295314,
"costUSD": 21.84,
"sessions": 2,
"messages": 249
}
},
"byProvider": {
"anthropic": {
"tokens": 4914335,
"costUSD": 153.71
},
"openai": {
"tokens": 1295314,
"costUSD": 21.84
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1860789,
"costUSD": 74,
"sessions": 3,
"messages": 527
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 1540713,
"costUSD": 51.64,
"sessions": 7,
"messages": 471
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1512833,
"costUSD": 28.08,
"sessions": 3,
"messages": 497
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 1295314,
"costUSD": 21.84,
"sessions": 2,
"messages": 249
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"cli": {
"tokens": 3299126,
"costUSD": 74.05,
"sessions": 5
},
"workos": {
"tokens": 516935,
"costUSD": 14.28,
"sessions": 1
},
"dotfiles": {
"tokens": 1867392,
"costUSD": 71.46,
"sessions": 2
},
"nicknisi.com": {
"tokens": 148386,
"costUSD": 8.27,
"sessions": 1
},
"authkit-session": {
"tokens": 191858,
"costUSD": 3.23,
"sessions": 1
}
}
},
{
"date": "2026-05-29",
"tokens": 1471621,
"costUSD": 27.18,
"sessions": 11,
"messages": 227,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
69,
66,
1,
40,
0,
0,
29,
22,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1658370,
"costUSD": 30.49,
"sessions": 11,
"messages": 226
},
"codex": {
"tokens": 719,
"costUSD": 0.04,
"sessions": 1,
"messages": 1
}
},
"byProvider": {
"anthropic": {
"tokens": 1658370,
"costUSD": 30.49
},
"openai": {
"tokens": 719,
"costUSD": 0.04
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1214242,
"costUSD": 21.42,
"sessions": 9,
"messages": 157
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 444128,
"costUSD": 9.07,
"sessions": 2,
"messages": 69
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 719,
"costUSD": 0.04,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 67459,
"costUSD": 0.69,
"sessions": 1
},
"nicknisi.com": {
"tokens": 129841,
"costUSD": 2.34,
"sessions": 1
},
"workos": {
"tokens": 572879,
"costUSD": 11.5,
"sessions": 3
},
"cli": {
"tokens": 361617,
"costUSD": 7.86,
"sessions": 2
},
"dotfiles": {
"tokens": 339106,
"costUSD": 4.73,
"sessions": 4
},
"authkit-react": {
"tokens": 719,
"costUSD": 0.04,
"sessions": 1
}
}
},
{
"date": "2026-05-31",
"tokens": 536528,
"costUSD": 7.83,
"sessions": 2,
"messages": 50,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
42,
8,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 536528,
"costUSD": 7.83,
"sessions": 2,
"messages": 50
}
},
"byProvider": {
"anthropic": {
"tokens": 536528,
"costUSD": 7.83
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 424724,
"costUSD": 6.53,
"sessions": 2,
"messages": 45
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 111804,
"costUSD": 1.29,
"sessions": 1,
"messages": 4
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"authkit-tanstack-start": {
"tokens": 424724,
"costUSD": 6.53,
"sessions": 2
},
"authkit-session": {
"tokens": 111804,
"costUSD": 1.29,
"sessions": 1
}
}
},
{
"date": "2026-06-01",
"tokens": 9812512,
"costUSD": 219.12,
"sessions": 16,
"messages": 1604,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
29,
16,
58,
97,
112,
182,
125,
178,
525,
79,
0,
93,
58,
52,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 8668320,
"costUSD": 201.01,
"sessions": 10,
"messages": 1345
},
"codex": {
"tokens": 1144192,
"costUSD": 18.11,
"sessions": 6,
"messages": 259
}
},
"byProvider": {
"anthropic": {
"tokens": 8668320,
"costUSD": 201.01
},
"openai": {
"tokens": 1144192,
"costUSD": 18.11
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 7894425,
"costUSD": 171.47,
"sessions": 7,
"messages": 1119
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-6",
"tokens": 733611,
"costUSD": 29.3,
"sessions": 2,
"messages": 225
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 1144192,
"costUSD": 18.11,
"sessions": 6,
"messages": 259
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 40284,
"costUSD": 0.25,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 848949,
"costUSD": 20.33,
"sessions": 2
},
"cli": {
"tokens": 7144846,
"costUSD": 183.05,
"sessions": 13
},
"dotfiles": {
"tokens": 16576,
"costUSD": 0.52,
"sessions": 1
},
"workos": {
"tokens": 1778633,
"costUSD": 14.88,
"sessions": 1
},
"case": {
"tokens": 23508,
"costUSD": 0.34,
"sessions": 1
}
}
},
{
"date": "2026-06-02",
"tokens": 9855304,
"costUSD": 168.95,
"sessions": 3,
"messages": 1250,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
212,
242,
109,
569,
113,
0,
0,
0,
0,
0,
0,
0,
0,
0,
5,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 9855304,
"costUSD": 168.95,
"sessions": 3,
"messages": 1250
}
},
"byProvider": {
"anthropic": {
"tokens": 9855304,
"costUSD": 168.95
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 9855304,
"costUSD": 168.95,
"sessions": 3,
"messages": 1249
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 462315,
"costUSD": 4.95,
"sessions": 2
},
"workos": {
"tokens": 9392989,
"costUSD": 163.99,
"sessions": 1
}
}
},
{
"date": "2026-06-03",
"tokens": 7261369,
"costUSD": 164.68,
"sessions": 10,
"messages": 2092,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
3,
37,
12,
18,
0,
2,
8,
41,
22,
0,
0,
0,
1893,
56,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 6960450,
"costUSD": 161.62,
"sessions": 9,
"messages": 2055
},
"codex": {
"tokens": 300919,
"costUSD": 3.06,
"sessions": 1,
"messages": 37
}
},
"byProvider": {
"anthropic": {
"tokens": 6960450,
"costUSD": 161.62
},
"openai": {
"tokens": 300919,
"costUSD": 3.06
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 6960450,
"costUSD": 161.62,
"sessions": 9,
"messages": 2053
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 300919,
"costUSD": 3.06,
"sessions": 1,
"messages": 37
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 1238017,
"costUSD": 16.94,
"sessions": 2
},
"cli": {
"tokens": 5171049,
"costUSD": 137.5,
"sessions": 5
},
"authkit-nextjs": {
"tokens": 52079,
"costUSD": 0.52,
"sessions": 1
},
"dotfiles": {
"tokens": 68650,
"costUSD": 0.9,
"sessions": 1
},
"workos": {
"tokens": 731574,
"costUSD": 8.81,
"sessions": 2
}
}
},
{
"date": "2026-06-04",
"tokens": 2219143,
"costUSD": 36.15,
"sessions": 11,
"messages": 259,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
56,
8,
90,
80,
0,
0,
0,
0,
0,
0,
25,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1717739,
"costUSD": 30.8,
"sessions": 7,
"messages": 179
},
"codex": {
"tokens": 501404,
"costUSD": 5.34,
"sessions": 4,
"messages": 80
}
},
"byProvider": {
"anthropic": {
"tokens": 1717739,
"costUSD": 30.8
},
"openai": {
"tokens": 501404,
"costUSD": 5.34
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1717739,
"costUSD": 30.8,
"sessions": 7,
"messages": 179
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 501404,
"costUSD": 5.34,
"sessions": 4,
"messages": 80
}
],
"byProject": {
"claude-plugins": {
"tokens": 411801,
"costUSD": 8.38,
"sessions": 1
},
"authkit-session": {
"tokens": 338154,
"costUSD": 6.08,
"sessions": 4
},
"cli": {
"tokens": 214486,
"costUSD": 3.56,
"sessions": 1
},
"dotfiles": {
"tokens": 115537,
"costUSD": 1.46,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 877810,
"costUSD": 12.21,
"sessions": 5
},
"authkit-nextjs": {
"tokens": 51903,
"costUSD": 0.83,
"sessions": 1
},
"workos": {
"tokens": 209452,
"costUSD": 3.63,
"sessions": 1
}
}
},
{
"date": "2026-06-05",
"tokens": 1967467,
"costUSD": 32,
"sessions": 10,
"messages": 174,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
32,
25,
0,
9,
28,
48,
15,
17,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1967467,
"costUSD": 32,
"sessions": 10,
"messages": 174
}
},
"byProvider": {
"anthropic": {
"tokens": 1967467,
"costUSD": 32
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1967467,
"costUSD": 32,
"sessions": 10,
"messages": 173
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 656259,
"costUSD": 9.65,
"sessions": 2
},
"nicknisi.com": {
"tokens": 375563,
"costUSD": 4.43,
"sessions": 3
},
"tokenmaxing": {
"tokens": 420884,
"costUSD": 11.47,
"sessions": 1
},
"dotfiles": {
"tokens": 52846,
"costUSD": 0.74,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 69549,
"costUSD": 0.75,
"sessions": 1
},
"skills": {
"tokens": 122113,
"costUSD": 1.64,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 259265,
"costUSD": 3.04,
"sessions": 2
},
"authkit-session": {
"tokens": 10988,
"costUSD": 0.29,
"sessions": 1
}
}
},
{
"date": "2026-06-06",
"tokens": 1112933,
"costUSD": 28.44,
"sessions": 2,
"messages": 248,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
63,
184,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1860534,
"costUSD": 40.54,
"sessions": 4,
"messages": 248
}
},
"byProvider": {
"anthropic": {
"tokens": 1860534,
"costUSD": 40.54
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1860534,
"costUSD": 40.54,
"sessions": 4,
"messages": 247
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 900149,
"costUSD": 25.97,
"sessions": 1
},
"skills": {
"tokens": 212784,
"costUSD": 2.48,
"sessions": 1
}
}
},
{
"date": "2026-06-07",
"tokens": 878414,
"costUSD": 21.46,
"sessions": 1,
"messages": 176,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
57,
7,
66,
29,
14,
3,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1874928,
"costUSD": 50.62,
"sessions": 3,
"messages": 176
}
},
"byProvider": {
"anthropic": {
"tokens": 1874928,
"costUSD": 50.62
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1838594,
"costUSD": 50.18,
"sessions": 2,
"messages": 161
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 36334,
"costUSD": 0.44,
"sessions": 1,
"messages": 14
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"tokenmaxing": {
"tokens": 370673,
"costUSD": 5.63,
"sessions": 1
},
"cli": {
"tokens": 507741,
"costUSD": 15.82,
"sessions": 1
}
}
},
{
"date": "2026-06-08",
"tokens": 3290708,
"costUSD": 76.02,
"sessions": 8,
"messages": 519,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
5,
71,
115,
16,
0,
0,
121,
24,
31,
15,
24,
33,
57,
7,
0
],
"byTool": {
"claude-code": {
"tokens": 4775400,
"costUSD": 94.7,
"sessions": 19,
"messages": 519
}
},
"byProvider": {
"anthropic": {
"tokens": 4775400,
"costUSD": 94.7
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 4389187,
"costUSD": 89.17,
"sessions": 15,
"messages": 429
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 386213,
"costUSD": 5.53,
"sessions": 4,
"messages": 89
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 2525014,
"costUSD": 62.14,
"sessions": 5
},
"skills": {
"tokens": 405660,
"costUSD": 9.3,
"sessions": 2
},
"dotfiles": {
"tokens": 108093,
"costUSD": 1.98,
"sessions": 1
},
"case": {
"tokens": 251941,
"costUSD": 2.58,
"sessions": 1
}
}
},
{
"date": "2026-06-09",
"tokens": 2442346,
"costUSD": 51.29,
"sessions": 5,
"messages": 259,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
57,
25,
1,
94,
60,
22,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2442346,
"costUSD": 51.29,
"sessions": 5,
"messages": 259
}
},
"byProvider": {
"anthropic": {
"tokens": 2442346,
"costUSD": 51.29
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 2442346,
"costUSD": 51.29,
"sessions": 5,
"messages": 259
}
],
"byProject": {
"cli": {
"tokens": 910751,
"costUSD": 12.84,
"sessions": 3
},
"workos": {
"tokens": 1531595,
"costUSD": 38.45,
"sessions": 2
}
}
},
{
"date": "2026-06-10",
"tokens": 7030417,
"costUSD": 194.04,
"sessions": 12,
"messages": 1149,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
56,
267,
470,
120,
1,
0,
203,
21,
0,
0,
0,
0,
11,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 7263670,
"costUSD": 217.99,
"sessions": 10,
"messages": 1124
},
"codex": {
"tokens": 204960,
"costUSD": 1.72,
"sessions": 3,
"messages": 25
}
},
"byProvider": {
"anthropic": {
"tokens": 7263670,
"costUSD": 217.99
},
"openai": {
"tokens": 204960,
"costUSD": 1.72
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 2627059,
"costUSD": 139.42,
"sessions": 7,
"messages": 465
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 4636611,
"costUSD": 78.57,
"sessions": 10,
"messages": 659
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 204960,
"costUSD": 1.72,
"sessions": 3,
"messages": 25
}
],
"byProject": {
"claude-plugins": {
"tokens": 1465974,
"costUSD": 43.19,
"sessions": 1
},
"cli": {
"tokens": 2434531,
"costUSD": 68.87,
"sessions": 8
},
"workos": {
"tokens": 2242618,
"costUSD": 55.51,
"sessions": 3
},
"dotfiles": {
"tokens": 75740,
"costUSD": 2.12,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 377801,
"costUSD": 11.09,
"sessions": 1
},
"authkit-js": {
"tokens": 416370,
"costUSD": 11.91,
"sessions": 1
},
"react-authkit-example": {
"tokens": 15011,
"costUSD": 1.11,
"sessions": 1
},
"authkit-react": {
"tokens": 2372,
"costUSD": 0.25,
"sessions": 1
}
}
},
{
"date": "2026-06-11",
"tokens": 8511927,
"costUSD": 217.11,
"sessions": 11,
"messages": 1066,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
28,
219,
156,
13,
420,
7,
0,
66,
114,
36,
0,
0,
0,
0,
7
],
"byTool": {
"claude-code": {
"tokens": 8511927,
"costUSD": 217.11,
"sessions": 11,
"messages": 1066
}
},
"byProvider": {
"anthropic": {
"tokens": 8511927,
"costUSD": 217.11
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 3678842,
"costUSD": 150.22,
"sessions": 9,
"messages": 381
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 4833085,
"costUSD": 66.89,
"sessions": 8,
"messages": 682
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 3
}
],
"byProject": {
"claude-plugins": {
"tokens": 5322273,
"costUSD": 129.66,
"sessions": 4
},
"dotfiles": {
"tokens": 13562,
"costUSD": 1.72,
"sessions": 1
},
"cli": {
"tokens": 1992059,
"costUSD": 54.14,
"sessions": 3
},
"authkit-nextjs": {
"tokens": 895156,
"costUSD": 21.79,
"sessions": 2
},
"authkit-tanstack-start": {
"tokens": 288877,
"costUSD": 9.8,
"sessions": 2
}
}
},
{
"date": "2026-06-12",
"tokens": 779065,
"costUSD": 22.19,
"sessions": 3,
"messages": 52,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
52,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 779065,
"costUSD": 22.19,
"sessions": 3,
"messages": 52
}
},
"byProvider": {
"anthropic": {
"tokens": 779065,
"costUSD": 22.19
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 696401,
"costUSD": 21.51,
"sessions": 3,
"messages": 38
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 82664,
"costUSD": 0.68,
"sessions": 2,
"messages": 14
}
],
"byProject": {
"claude-plugins": {
"tokens": 647820,
"costUSD": 19.44,
"sessions": 2
},
"dotfiles": {
"tokens": 131245,
"costUSD": 2.74,
"sessions": 1
}
}
},
{
"date": "2026-06-13",
"tokens": 985678,
"costUSD": 20.94,
"sessions": 4,
"messages": 184,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
122,
62,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 985678,
"costUSD": 20.94,
"sessions": 4,
"messages": 184
}
},
"byProvider": {
"anthropic": {
"tokens": 985678,
"costUSD": 20.94
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 985678,
"costUSD": 20.94,
"sessions": 3,
"messages": 182
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 216097,
"costUSD": 2.28,
"sessions": 1
},
"cli": {
"tokens": 273531,
"costUSD": 3.15,
"sessions": 2
},
"authkit-tanstack-start": {
"tokens": 496050,
"costUSD": 15.5,
"sessions": 1
}
}
},
{
"date": "2026-06-15",
"tokens": 4487116,
"costUSD": 95.78,
"sessions": 11,
"messages": 664,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
12,
87,
129,
90,
63,
72,
11,
6,
90,
41,
0,
0,
63,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4257143,
"costUSD": 92.65,
"sessions": 11,
"messages": 600
},
"pi": {
"tokens": 12437,
"costUSD": 0.06,
"sessions": 1,
"messages": 1
},
"codex": {
"tokens": 429780,
"costUSD": 5.52,
"sessions": 5,
"messages": 63
}
},
"byProvider": {
"anthropic": {
"tokens": 4257143,
"costUSD": 92.65
},
"openai-codex": {
"tokens": 12437,
"costUSD": 0.06
},
"openai": {
"tokens": 429780,
"costUSD": 5.52
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 4257143,
"costUSD": 92.65,
"sessions": 11,
"messages": 600
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 429780,
"costUSD": 5.52,
"sessions": 5,
"messages": 63
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 12437,
"costUSD": 0.06,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 558834,
"costUSD": 12.52,
"sessions": 1
},
"dotfiles": {
"tokens": 204565,
"costUSD": 3.33,
"sessions": 3
},
"cli": {
"tokens": 1674708,
"costUSD": 39.18,
"sessions": 4
},
"workos": {
"tokens": 103879,
"costUSD": 1.16,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 1531016,
"costUSD": 31.34,
"sessions": 4
},
"authkit-session": {
"tokens": 414114,
"costUSD": 8.26,
"sessions": 1
}
}
},
{
"date": "2026-06-16",
"tokens": 6756409,
"costUSD": 106.19,
"sessions": 12,
"messages": 981,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
126,
45,
0,
0,
0,
9,
39,
16,
14,
151,
26,
130,
183,
74,
50,
0,
118
],
"byTool": {
"claude-code": {
"tokens": 8257759,
"costUSD": 134.52,
"sessions": 14,
"messages": 981
}
},
"byProvider": {
"anthropic": {
"tokens": 8257759,
"costUSD": 134.52
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 8257759,
"costUSD": 134.52,
"sessions": 14,
"messages": 979
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 2
}
],
"byProject": {
"workos-node": {
"tokens": 2344463,
"costUSD": 33.35,
"sessions": 4
},
"claude-plugins": {
"tokens": 274780,
"costUSD": 5.47,
"sessions": 1
},
"dotfiles": {
"tokens": 79784,
"costUSD": 2.52,
"sessions": 2
},
"cli": {
"tokens": 2099645,
"costUSD": 29.15,
"sessions": 2
},
"case": {
"tokens": 262781,
"costUSD": 3.44,
"sessions": 2
},
"authkit-session": {
"tokens": 61293,
"costUSD": 3.35,
"sessions": 2
},
"authkit-tanstack-start": {
"tokens": 1633663,
"costUSD": 28.92,
"sessions": 4
}
}
},
{
"date": "2026-06-17",
"tokens": 1183097,
"costUSD": 20.44,
"sessions": 5,
"messages": 172,
"hourCounts": [
18,
0,
0,
0,
0,
0,
0,
0,
0,
93,
44,
17,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1183097,
"costUSD": 20.44,
"sessions": 5,
"messages": 172
}
},
"byProvider": {
"anthropic": {
"tokens": 1183097,
"costUSD": 20.44
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1183097,
"costUSD": 20.44,
"sessions": 5,
"messages": 171
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"workos-node": {
"tokens": 447807,
"costUSD": 13.09,
"sessions": 4
},
"dotfiles": {
"tokens": 98450,
"costUSD": 1.3,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 636840,
"costUSD": 6.04,
"sessions": 1
}
}
},
{
"date": "2026-06-18",
"tokens": 852668,
"costUSD": 17.68,
"sessions": 3,
"messages": 78,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
42,
36,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 970070,
"costUSD": 19.33,
"sessions": 4,
"messages": 78
}
},
"byProvider": {
"anthropic": {
"tokens": 970070,
"costUSD": 19.33
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 970070,
"costUSD": 19.33,
"sessions": 4,
"messages": 78
}
],
"byProject": {
"dotfiles": {
"tokens": 98195,
"costUSD": 1.42,
"sessions": 1
},
"workos-node": {
"tokens": 392975,
"costUSD": 4.73,
"sessions": 1
},
"authkit-session": {
"tokens": 16086,
"costUSD": 0.44,
"sessions": 1
},
"authkit-tanstack-start": {
"tokens": 56379,
"costUSD": 5.16,
"sessions": 1
},
"workos": {
"tokens": 289033,
"costUSD": 5.93,
"sessions": 1
}
}
},
{
"date": "2026-06-22",
"tokens": 4318234,
"costUSD": 99.54,
"sessions": 3,
"messages": 429,
"hourCounts": [
0,
0,
0,
0,
0,
64,
16,
0,
0,
12,
114,
31,
96,
60,
25,
0,
0,
0,
0,
0,
0,
11,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4593732,
"costUSD": 105.56,
"sessions": 5,
"messages": 429
}
},
"byProvider": {
"anthropic": {
"tokens": 4593732,
"costUSD": 105.56
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 4593732,
"costUSD": 105.56,
"sessions": 5,
"messages": 428
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"talks": {
"tokens": 2396361,
"costUSD": 54.3,
"sessions": 2
},
"cli": {
"tokens": 694407,
"costUSD": 19.28,
"sessions": 1
},
"workos": {
"tokens": 1227466,
"costUSD": 25.96,
"sessions": 2
}
}
},
{
"date": "2026-06-23",
"tokens": 1092856,
"costUSD": 17.1,
"sessions": 5,
"messages": 280,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
82,
40,
36,
75,
47,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1353685,
"costUSD": 22.49,
"sessions": 8,
"messages": 103
},
"pi": {
"tokens": 1651820,
"costUSD": 18.44,
"sessions": 1,
"messages": 177
}
},
"byProvider": {
"anthropic": {
"tokens": 1353685,
"costUSD": 22.49
},
"openai-codex": {
"tokens": 1651820,
"costUSD": 18.44
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1353685,
"costUSD": 22.49,
"sessions": 7,
"messages": 102
},
{
"tool": "pi",
"provider": "openai-codex",
"id": "gpt-5.5",
"tokens": 1651820,
"costUSD": 18.44,
"sessions": 1,
"messages": 177
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"workos": {
"tokens": 955310,
"costUSD": 14.27,
"sessions": 4
},
"cli": {
"tokens": 22484,
"costUSD": 1.21,
"sessions": 1
},
"case": {
"tokens": 115062,
"costUSD": 1.63,
"sessions": 1
}
}
},
{
"date": "2026-06-24",
"tokens": 1377896,
"costUSD": 32.65,
"sessions": 1,
"messages": 1072,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
3,
55,
129,
341,
98,
142,
79,
40,
0,
0,
0,
0,
0,
166,
19
],
"byTool": {
"claude-code": {
"tokens": 6852856,
"costUSD": 149.94,
"sessions": 7,
"messages": 1049
},
"codex": {
"tokens": 186683,
"costUSD": 2.24,
"sessions": 1,
"messages": 23
}
},
"byProvider": {
"anthropic": {
"tokens": 6852856,
"costUSD": 149.94
},
"openai": {
"tokens": 186683,
"costUSD": 2.24
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 6852856,
"costUSD": 149.94,
"sessions": 7,
"messages": 1049
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 186683,
"costUSD": 2.24,
"sessions": 1,
"messages": 23
}
],
"byProject": {
"authkit-session": {
"tokens": 686142,
"costUSD": 14.65,
"sessions": 1
},
"workos-node": {
"tokens": 292258,
"costUSD": 4.99,
"sessions": 2
},
"authkit-tanstack-start": {
"tokens": 305003,
"costUSD": 8.94,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 94493,
"costUSD": 4.08,
"sessions": 1
}
}
},
{
"date": "2026-06-25",
"tokens": 8731141,
"costUSD": 130.79,
"sessions": 5,
"messages": 1378,
"hourCounts": [
0,
0,
0,
0,
0,
0,
2,
0,
0,
82,
23,
22,
548,
69,
11,
144,
266,
133,
0,
0,
0,
0,
25,
53
],
"byTool": {
"claude-code": {
"tokens": 12326054,
"costUSD": 202.81,
"sessions": 8,
"messages": 1378
}
},
"byProvider": {
"anthropic": {
"tokens": 12326054,
"costUSD": 202.81
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 12326054,
"costUSD": 202.81,
"sessions": 8,
"messages": 1377
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"cli": {
"tokens": 6381553,
"costUSD": 82.78,
"sessions": 2
},
"workos": {
"tokens": 1223250,
"costUSD": 20.2,
"sessions": 2
},
"workos-node": {
"tokens": 132342,
"costUSD": 3.26,
"sessions": 1
},
"authkit-session": {
"tokens": 533823,
"costUSD": 14.48,
"sessions": 1
},
"dotfiles": {
"tokens": 460173,
"costUSD": 10.07,
"sessions": 1
}
}
},
{
"date": "2026-06-26",
"tokens": 344681,
"costUSD": 6.76,
"sessions": 2,
"messages": 1862,
"hourCounts": [
1,
0,
0,
0,
0,
0,
24,
84,
75,
62,
5,
18,
215,
452,
140,
113,
261,
59,
0,
99,
62,
192,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 10418139,
"costUSD": 258.14,
"sessions": 6,
"messages": 1862
}
},
"byProvider": {
"anthropic": {
"tokens": 10418139,
"costUSD": 258.14
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 10418139,
"costUSD": 258.14,
"sessions": 6,
"messages": 1861
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"dotfiles": {
"tokens": 7159,
"costUSD": 1.13,
"sessions": 1
},
"cli": {
"tokens": 202175,
"costUSD": 3.67,
"sessions": 1
},
"workos-node": {
"tokens": 96620,
"costUSD": 1.39,
"sessions": 1
},
"emulate": {
"tokens": 38727,
"costUSD": 0.56,
"sessions": 1
}
}
},
{
"date": "2026-06-27",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 1848,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
69,
30,
409,
63,
394,
188,
57,
275,
89,
274
],
"byTool": {
"claude-code": {
"tokens": 16801361,
"costUSD": 277.79,
"sessions": 15,
"messages": 1848
}
},
"byProvider": {
"anthropic": {
"tokens": 16801361,
"costUSD": 277.79
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 16801361,
"costUSD": 277.79,
"sessions": 15,
"messages": 1846
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {}
},
{
"date": "2026-06-28",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 63,
"hourCounts": [
44,
0,
0,
0,
0,
0,
0,
0,
0,
19,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 476516,
"costUSD": 10.67,
"sessions": 1,
"messages": 63
}
},
"byProvider": {
"anthropic": {
"tokens": 476516,
"costUSD": 10.67
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 476516,
"costUSD": 10.67,
"sessions": 1,
"messages": 63
}
],
"byProject": {}
},
{
"date": "2026-06-29",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 344,
"hourCounts": [
0,
0,
0,
0,
0,
0,
55,
0,
0,
0,
0,
0,
18,
99,
0,
45,
86,
24,
17,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 3504226,
"costUSD": 68.82,
"sessions": 11,
"messages": 344
}
},
"byProvider": {
"anthropic": {
"tokens": 3504226,
"costUSD": 68.82
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 3504226,
"costUSD": 68.82,
"sessions": 11,
"messages": 344
}
],
"byProject": {}
},
{
"date": "2026-06-30",
"tokens": 1656523,
"costUSD": 25.1,
"sessions": 9,
"messages": 136,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
17,
15,
4,
0,
0,
2,
51,
9,
0,
25,
13,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2580815,
"costUSD": 37.43,
"sessions": 12,
"messages": 136
}
},
"byProvider": {
"anthropic": {
"tokens": 2580815,
"costUSD": 37.43
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 2580815,
"costUSD": 37.43,
"sessions": 12,
"messages": 135
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins": {
"tokens": 985113,
"costUSD": 14.98,
"sessions": 2
},
"dotfiles": {
"tokens": 300038,
"costUSD": 5.06,
"sessions": 6
},
"cli": {
"tokens": 371372,
"costUSD": 5.07,
"sessions": 2
}
}
},
{
"date": "2026-07-02",
"tokens": 2881194,
"costUSD": 88.96,
"sessions": 8,
"messages": 419,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
30,
0,
0,
0,
26,
125,
98,
21,
107,
12,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 2881194,
"costUSD": 88.96,
"sessions": 8,
"messages": 419
}
},
"byProvider": {
"anthropic": {
"tokens": 2881194,
"costUSD": 88.96
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 1467857,
"costUSD": 64.04,
"sessions": 3,
"messages": 201
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1413337,
"costUSD": 24.93,
"sessions": 8,
"messages": 218
}
],
"byProject": {
"dotfiles": {
"tokens": 392072,
"costUSD": 17.66,
"sessions": 1
},
"cli": {
"tokens": 2489122,
"costUSD": 71.31,
"sessions": 7
}
}
},
{
"date": "2026-07-05",
"tokens": 628703,
"costUSD": 30.69,
"sessions": 2,
"messages": 186,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
75,
91,
20,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 1870555,
"costUSD": 44.61,
"sessions": 3,
"messages": 186
}
},
"byProvider": {
"anthropic": {
"tokens": 1870555,
"costUSD": 44.61
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 813422,
"costUSD": 37.38,
"sessions": 3,
"messages": 106
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1057133,
"costUSD": 7.23,
"sessions": 2,
"messages": 78
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 202219,
"costUSD": 6.8,
"sessions": 1
},
"workos": {
"tokens": 426484,
"costUSD": 23.88,
"sessions": 1
}
}
},
{
"date": "2026-07-06",
"tokens": 1105729,
"costUSD": 26.8,
"sessions": 2,
"messages": 1565,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
450,
62,
209,
138,
165,
44,
16,
206,
51,
55,
150,
19,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 10451371,
"costUSD": 255.45,
"sessions": 8,
"messages": 1565
}
},
"byProvider": {
"anthropic": {
"tokens": 10451371,
"costUSD": 255.45
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 3398515,
"costUSD": 181.1,
"sessions": 7,
"messages": 560
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 6951339,
"costUSD": 72.57,
"sessions": 5,
"messages": 977
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 101517,
"costUSD": 1.78,
"sessions": 1,
"messages": 24
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 4
}
],
"byProject": {
"dotfiles": {
"tokens": 564839,
"costUSD": 8.07,
"sessions": 3
},
"cli": {
"tokens": 540890,
"costUSD": 18.73,
"sessions": 2
}
}
},
{
"date": "2026-07-07",
"tokens": 9762022,
"costUSD": 180.76,
"sessions": -5,
"messages": 3765,
"hourCounts": [
0,
0,
0,
0,
0,
0,
13,
0,
0,
197,
245,
375,
104,
310,
54,
312,
198,
234,
538,
358,
315,
303,
158,
51
],
"byTool": {
"claude-code": {
"tokens": 27474719,
"costUSD": 517.33,
"sessions": 16,
"messages": 3765
}
},
"byProvider": {
"anthropic": {
"tokens": 27474719,
"costUSD": 517.33
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 22592174,
"costUSD": 296.03,
"sessions": 10,
"messages": 3141
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 4882545,
"costUSD": 221.3,
"sessions": 15,
"messages": 619
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 5
}
],
"byProject": {
"cli": {
"tokens": 9218156,
"costUSD": 165.47,
"sessions": 1
},
"dotfiles": {
"tokens": 181870,
"costUSD": 4.12,
"sessions": 3
},
"skills": {
"tokens": 40013,
"costUSD": 6.17,
"sessions": 1
},
"workos": {
"tokens": 321983,
"costUSD": 4.99,
"sessions": 1
}
}
},
{
"date": "2026-07-08",
"tokens": 1733755,
"costUSD": 39.76,
"sessions": -4,
"messages": 1185,
"hourCounts": [
0,
0,
0,
0,
0,
28,
23,
58,
0,
42,
103,
168,
200,
7,
5,
50,
0,
0,
0,
0,
0,
5,
496,
0
],
"byTool": {
"claude-code": {
"tokens": 10364304,
"costUSD": 238.01,
"sessions": 10,
"messages": 1185
}
},
"byProvider": {
"anthropic": {
"tokens": 10364304,
"costUSD": 238.01
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 2810113,
"costUSD": 128.68,
"sessions": 6,
"messages": 292
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 7396345,
"costUSD": 107.18,
"sessions": 7,
"messages": 867
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 157846,
"costUSD": 2.16,
"sessions": 1,
"messages": 26
}
],
"byProject": {
"cli": {
"tokens": 850410,
"costUSD": 28.42,
"sessions": 1
},
"workos": {
"tokens": 13219,
"costUSD": 0.43,
"sessions": 2
},
"dotfiles": {
"tokens": 870126,
"costUSD": 10.92,
"sessions": 1
}
}
},
{
"date": "2026-07-09",
"tokens": 9045340,
"costUSD": 195.92,
"sessions": 0,
"messages": 2014,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
32,
269,
21,
7,
187,
0,
1224,
86,
59,
0,
0,
0,
123,
6,
0
],
"byTool": {
"claude-code": {
"tokens": 17689819,
"costUSD": 341.42,
"sessions": 13,
"messages": 2014
}
},
"byProvider": {
"anthropic": {
"tokens": 17689819,
"costUSD": 341.42
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 9717961,
"costUSD": 255.56,
"sessions": 11,
"messages": 1522
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 7890095,
"costUSD": 84.98,
"sessions": 4,
"messages": 482
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 81763,
"costUSD": 0.88,
"sessions": 1,
"messages": 10
}
],
"byProject": {
"claude-plugins": {
"tokens": 2587302,
"costUSD": 39.62,
"sessions": 1
},
"dotfiles": {
"tokens": 5836712,
"costUSD": 132.77,
"sessions": 4
},
"cli": {
"tokens": 256387,
"costUSD": 5.52,
"sessions": 1
},
"tokenmaxing": {
"tokens": 364939,
"costUSD": 18,
"sessions": 1
}
}
},
{
"date": "2026-07-10",
"tokens": 3487478,
"costUSD": 65.71,
"sessions": 11,
"messages": 797,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
8,
35,
0,
306,
275,
173,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 6468123,
"costUSD": 150.88,
"sessions": 25,
"messages": 797
}
},
"byProvider": {
"anthropic": {
"tokens": 6468123,
"costUSD": 150.88
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 2901136,
"costUSD": 109.8,
"sessions": 5,
"messages": 542
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 2897471,
"costUSD": 34.3,
"sessions": 8,
"messages": 173
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 433313,
"costUSD": 4.06,
"sessions": 10,
"messages": 50
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 236203,
"costUSD": 2.72,
"sessions": 2,
"messages": 29
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 3,
"messages": 3
}
],
"byProject": {
"tokenmaxing": {
"tokens": 308363,
"costUSD": 9.63,
"sessions": 3
},
"cli": {
"tokens": 3064481,
"costUSD": 52.47,
"sessions": 8
},
"authkit-nextjs": {
"tokens": 114634,
"costUSD": 3.6,
"sessions": 1
}
}
},
{
"date": "2026-07-12",
"tokens": 1585075,
"costUSD": 34.14,
"sessions": 3,
"messages": 586,
"hourCounts": [
0,
0,
0,
0,
0,
0,
133,
0,
0,
1,
0,
0,
0,
0,
49,
30,
0,
0,
1,
324,
22,
14,
0,
12
],
"byTool": {
"claude-code": {
"tokens": 6054103,
"costUSD": 102.09,
"sessions": 4,
"messages": 569
},
"codex": {
"tokens": 99968,
"costUSD": 0.88,
"sessions": 1,
"messages": 17
}
},
"byProvider": {
"anthropic": {
"tokens": 6054103,
"costUSD": 102.09
},
"openai": {
"tokens": 99968,
"costUSD": 0.88
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 5813893,
"costUSD": 98.94,
"sessions": 1,
"messages": 529
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 240210,
"costUSD": 3.14,
"sessions": 3,
"messages": 37
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.5",
"tokens": 99968,
"costUSD": 0.88,
"sessions": 1,
"messages": 17
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 3
}
],
"byProject": {
"workos": {
"tokens": 1485107,
"costUSD": 33.26,
"sessions": 4
},
"dotfiles": {
"tokens": 99968,
"costUSD": 0.88,
"sessions": 1
}
}
},
{
"date": "2026-07-13",
"tokens": 3430695,
"costUSD": 63.87,
"sessions": 16,
"messages": 1601,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
53,
141,
34,
436,
305,
69,
40,
413,
110,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 11103641,
"costUSD": 291.42,
"sessions": 32,
"messages": 1533
},
"codex": {
"tokens": 405802,
"costUSD": 6.88,
"sessions": 2,
"messages": 68
}
},
"byProvider": {
"anthropic": {
"tokens": 11103641,
"costUSD": 291.42
},
"openai": {
"tokens": 405802,
"costUSD": 6.88
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 7212520,
"costUSD": 174.59,
"sessions": 3,
"messages": 961
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 2568038,
"costUSD": 105.28,
"sessions": 9,
"messages": 454
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1140545,
"costUSD": 11.15,
"sessions": 20,
"messages": 97
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 405802,
"costUSD": 6.88,
"sessions": 2,
"messages": 68
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 161845,
"costUSD": 0.28,
"sessions": 1,
"messages": 16
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-5",
"tokens": 20693,
"costUSD": 0.11,
"sessions": 1,
"messages": 5
}
],
"byProject": {
"claude-plugins": {
"tokens": 187192,
"costUSD": 5.41,
"sessions": 4
},
"workos": {
"tokens": 2811363,
"costUSD": 49.7,
"sessions": 12
},
"dotfiles": {
"tokens": 432140,
"costUSD": 8.76,
"sessions": 4
}
}
},
{
"date": "2026-07-14",
"tokens": 6327728,
"costUSD": 128.18,
"sessions": 8,
"messages": 1283,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
102,
923,
162,
18,
4,
4,
0,
0,
60,
0,
0,
2,
8
],
"byTool": {
"claude-code": {
"tokens": 11033724,
"costUSD": 206.75,
"sessions": 13,
"messages": 1283
}
},
"byProvider": {
"anthropic": {
"tokens": 11033724,
"costUSD": 206.75
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 9074872,
"costUSD": 137.51,
"sessions": 4,
"messages": 970
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 1700597,
"costUSD": 66.45,
"sessions": 4,
"messages": 275
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 258255,
"costUSD": 2.79,
"sessions": 6,
"messages": 37
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"claude-plugins-internal": {
"tokens": 3273556,
"costUSD": 36.83,
"sessions": 3
},
"workos": {
"tokens": 1390167,
"costUSD": 27.65,
"sessions": 2
},
"dotfiles": {
"tokens": 1664005,
"costUSD": 63.72,
"sessions": 5
}
}
},
{
"date": "2026-07-15",
"tokens": 833225,
"costUSD": 16.18,
"sessions": 3,
"messages": 946,
"hourCounts": [
27,
0,
0,
0,
0,
0,
0,
0,
0,
10,
126,
208,
543,
32,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4614227,
"costUSD": 152.26,
"sessions": 14,
"messages": 937
},
"codex": {
"tokens": 104750,
"costUSD": 0.95,
"sessions": 1,
"messages": 9
}
},
"byProvider": {
"anthropic": {
"tokens": 4614227,
"costUSD": 152.26
},
"openai": {
"tokens": 104750,
"costUSD": 0.95
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 2028691,
"costUSD": 86.15,
"sessions": 4,
"messages": 540
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 1930012,
"costUSD": 59.51,
"sessions": 4,
"messages": 321
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 577014,
"costUSD": 6.48,
"sessions": 9,
"messages": 71
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 104750,
"costUSD": 0.95,
"sessions": 1,
"messages": 9
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 78510,
"costUSD": 0.12,
"sessions": 1,
"messages": 5
}
],
"byProject": {
"claude-plugins-internal": {
"tokens": 1382,
"costUSD": 0.27,
"sessions": 1
},
"workos": {
"tokens": 382214,
"costUSD": 4.6,
"sessions": 2
},
"dotfiles": {
"tokens": 449629,
"costUSD": 11.3,
"sessions": 3
}
}
},
{
"date": "2026-07-16",
"tokens": 518005,
"costUSD": 19.26,
"sessions": -3,
"messages": 1236,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
203,
383,
391,
28,
81,
97,
52,
0,
1,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 9507943,
"costUSD": 231.22,
"sessions": 29,
"messages": 1210
},
"codex": {
"tokens": 253528,
"costUSD": 2.3,
"sessions": 2,
"messages": 26
}
},
"byProvider": {
"anthropic": {
"tokens": 9507943,
"costUSD": 231.22
},
"openai": {
"tokens": 253528,
"costUSD": 2.3
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 6293357,
"costUSD": 137.55,
"sessions": 5,
"messages": 718
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 1924053,
"costUSD": 82.17,
"sessions": 10,
"messages": 356
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 903568,
"costUSD": 9.84,
"sessions": 14,
"messages": 106
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 253528,
"costUSD": 2.3,
"sessions": 2,
"messages": 26
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-5",
"tokens": 386965,
"costUSD": 1.65,
"sessions": 5,
"messages": 30
}
],
"byProject": {
"claude-plugins-internal": {
"tokens": 457762,
"costUSD": 17.57,
"sessions": 1
},
"workos": {
"tokens": 2254,
"costUSD": 0.06,
"sessions": 1
},
"authkit-nextjs": {
"tokens": 28783,
"costUSD": 0.68,
"sessions": 1
},
"dotfiles": {
"tokens": 29206,
"costUSD": 0.96,
"sessions": 1
}
}
},
{
"date": "2026-07-17",
"tokens": 510855,
"costUSD": 9,
"sessions": -8,
"messages": 3328,
"hourCounts": [
0,
0,
7,
0,
0,
0,
0,
0,
0,
0,
0,
2,
59,
0,
0,
83,
409,
575,
313,
940,
558,
382,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 21138226,
"costUSD": 541.24,
"sessions": 40,
"messages": 3243
},
"codex": {
"tokens": 424233,
"costUSD": 7.57,
"sessions": 2,
"messages": 85
}
},
"byProvider": {
"anthropic": {
"tokens": 21138226,
"costUSD": 541.24
},
"openai": {
"tokens": 424233,
"costUSD": 7.57
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 10931760,
"costUSD": 287.76,
"sessions": 5,
"messages": 1681
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 8016721,
"costUSD": 230,
"sessions": 6,
"messages": 1250
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1860243,
"costUSD": 22.17,
"sessions": 28,
"messages": 249
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 424233,
"costUSD": 7.57,
"sessions": 2,
"messages": 85
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-5",
"tokens": 329502,
"costUSD": 1.32,
"sessions": 5,
"messages": 21
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 4,
"messages": 42
}
],
"byProject": {
"workos": {
"tokens": 414337,
"costUSD": 4.89,
"sessions": 1
},
"dotfiles": {
"tokens": 96518,
"costUSD": 4.12,
"sessions": 1
}
}
},
{
"date": "2026-07-18",
"tokens": 1672602,
"costUSD": 34.75,
"sessions": -7,
"messages": 2748,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
8,
140,
0,
108,
110,
235,
131,
285,
200,
1,
285,
355,
288,
141,
461
],
"byTool": {
"claude-code": {
"tokens": 15491874,
"costUSD": 409.43,
"sessions": 47,
"messages": 2584
},
"codex": {
"tokens": 1184111,
"costUSD": 16.48,
"sessions": 4,
"messages": 164
}
},
"byProvider": {
"anthropic": {
"tokens": 15491874,
"costUSD": 409.43
},
"openai": {
"tokens": 1184111,
"costUSD": 16.48
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 11679425,
"costUSD": 312.1,
"sessions": 3,
"messages": 1993
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 1630474,
"costUSD": 75.24,
"sessions": 11,
"messages": 335
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2007215,
"costUSD": 21.65,
"sessions": 34,
"messages": 238
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 1184111,
"costUSD": 16.48,
"sessions": 4,
"messages": 164
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-5",
"tokens": 139290,
"costUSD": 0.39,
"sessions": 2,
"messages": 13
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 35470,
"costUSD": 0.05,
"sessions": 1,
"messages": 3
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 108021,
"costUSD": 3.45,
"sessions": 1
},
"dotfiles": {
"tokens": 1554705,
"costUSD": 30.83,
"sessions": 5
},
"workos": {
"tokens": 9876,
"costUSD": 0.48,
"sessions": 1
}
}
},
{
"date": "2026-07-19",
"tokens": 760830,
"costUSD": 20.59,
"sessions": -2,
"messages": 1921,
"hourCounts": [
786,
5,
11,
1,
0,
0,
0,
144,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
253,
380,
256,
72,
13
],
"byTool": {
"claude-code": {
"tokens": 11129139,
"costUSD": 316.53,
"sessions": 28,
"messages": 1779
},
"codex": {
"tokens": 714371,
"costUSD": 13.11,
"sessions": 5,
"messages": 142
}
},
"byProvider": {
"anthropic": {
"tokens": 11129139,
"costUSD": 316.53
},
"openai": {
"tokens": 714371,
"costUSD": 13.11
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 7017335,
"costUSD": 213.62,
"sessions": 4,
"messages": 1168
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 2880506,
"costUSD": 90.6,
"sessions": 9,
"messages": 460
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 714371,
"costUSD": 13.11,
"sessions": 5,
"messages": 142
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 1021611,
"costUSD": 11.68,
"sessions": 15,
"messages": 133
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-5",
"tokens": 139357,
"costUSD": 0.51,
"sessions": 3,
"messages": 9
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 70330,
"costUSD": 0.11,
"sessions": 1,
"messages": 7
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 2
}
],
"byProject": {
"claude-plugins": {
"tokens": 453181,
"costUSD": 8.78,
"sessions": 1
},
"dotfiles": {
"tokens": 307649,
"costUSD": 11.81,
"sessions": 4
}
}
},
{
"date": "2026-07-20",
"tokens": 2482641,
"costUSD": 44.51,
"sessions": -9,
"messages": 3013,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
231,
915,
491,
288,
461,
23,
0,
36,
296,
127,
66,
74,
0,
5,
0
],
"byTool": {
"claude-code": {
"tokens": 17959716,
"costUSD": 522.19,
"sessions": 70,
"messages": 2747
},
"codex": {
"tokens": 1010954,
"costUSD": 24.12,
"sessions": 4,
"messages": 266
}
},
"byProvider": {
"anthropic": {
"tokens": 17959716,
"costUSD": 522.19
},
"openai": {
"tokens": 1010954,
"costUSD": 24.12
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 9887590,
"costUSD": 277.83,
"sessions": 3,
"messages": 1469
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 4284316,
"costUSD": 198.12,
"sessions": 11,
"messages": 781
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 3643087,
"costUSD": 45.61,
"sessions": 56,
"messages": 482
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 1010954,
"costUSD": 24.12,
"sessions": 4,
"messages": 266
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-5",
"tokens": 144723,
"costUSD": 0.62,
"sessions": 3,
"messages": 14
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"dotfiles": {
"tokens": 302696,
"costUSD": 6.96,
"sessions": 5
},
"nicknisi": {
"tokens": 16046,
"costUSD": 0.39,
"sessions": 1
},
"cli": {
"tokens": 1670484,
"costUSD": 23.96,
"sessions": 3
},
"workos": {
"tokens": 493415,
"costUSD": 13.21,
"sessions": 1
}
}
},
{
"date": "2026-07-21",
"tokens": 2751012,
"costUSD": 48.65,
"sessions": -2,
"messages": 682,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
361,
45,
12,
31,
2,
7,
7,
160,
10,
19,
9,
12,
7,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 4882553,
"costUSD": 128.82,
"sessions": 23,
"messages": 643
},
"codex": {
"tokens": 745972,
"costUSD": 6.52,
"sessions": 1,
"messages": 39
}
},
"byProvider": {
"anthropic": {
"tokens": 4882553,
"costUSD": 128.82
},
"openai": {
"tokens": 745972,
"costUSD": 6.52
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 3629359,
"costUSD": 79.73,
"sessions": 10,
"messages": 423
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 643654,
"costUSD": 42.42,
"sessions": 3,
"messages": 142
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 745972,
"costUSD": 6.52,
"sessions": 1,
"messages": 39
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 456644,
"costUSD": 6.04,
"sessions": 10,
"messages": 68
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 71017,
"costUSD": 0.45,
"sessions": 1,
"messages": 1
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-sonnet-5",
"tokens": 45778,
"costUSD": 0.13,
"sessions": 1,
"messages": 5
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-haiku-4-5-20251001",
"tokens": 36101,
"costUSD": 0.05,
"sessions": 1,
"messages": 3
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 1,
"messages": 1
}
],
"byProject": {
"dotfiles": {
"tokens": 276606,
"costUSD": 7.28,
"sessions": 5
},
"cli": {
"tokens": 2474406,
"costUSD": 41.35,
"sessions": 2
}
}
},
{
"date": "2026-07-22",
"tokens": 14222561,
"costUSD": 484.55,
"sessions": 24,
"messages": 4084,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
87,
43,
172,
602,
182,
191,
446,
552,
266,
377,
339,
231,
286,
89,
189,
32
],
"byTool": {
"claude-code": {
"tokens": 25093139,
"costUSD": 770.27,
"sessions": 50,
"messages": 3967
},
"codex": {
"tokens": 641234,
"costUSD": 9.09,
"sessions": 7,
"messages": 117
}
},
"byProvider": {
"anthropic": {
"tokens": 25093139,
"costUSD": 770.27
},
"openai": {
"tokens": 641234,
"costUSD": 9.09
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 7705792,
"costUSD": 371.43,
"sessions": 10,
"messages": 1643
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 14419923,
"costUSD": 364.45,
"sessions": 4,
"messages": 1986
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 2718271,
"costUSD": 31.22,
"sessions": 36,
"messages": 300
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 641234,
"costUSD": 9.09,
"sessions": 7,
"messages": 117
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-5-20251101",
"tokens": 249153,
"costUSD": 3.17,
"sessions": 3,
"messages": 38
}
],
"byProject": {
"cli": {
"tokens": 14086523,
"costUSD": 480.23,
"sessions": 33
},
"dotfiles": {
"tokens": 136038,
"costUSD": 4.31,
"sessions": 2
}
}
},
{
"date": "2026-07-23",
"tokens": 3462383,
"costUSD": 76.43,
"sessions": 6,
"messages": 1953,
"hourCounts": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
356,
1223,
374,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"byTool": {
"claude-code": {
"tokens": 14117764,
"costUSD": 325.76,
"sessions": 27,
"messages": 1942
},
"codex": {
"tokens": 69212,
"costUSD": 0.69,
"sessions": 1,
"messages": 11
}
},
"byProvider": {
"anthropic": {
"tokens": 14117764,
"costUSD": 325.76
},
"openai": {
"tokens": 69212,
"costUSD": 0.69
}
},
"byModel": [
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-fable-5",
"tokens": 6785000,
"costUSD": 207.44,
"sessions": 7,
"messages": 969
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-8",
"tokens": 6540309,
"costUSD": 109.52,
"sessions": 4,
"messages": 874
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "claude-opus-4-7",
"tokens": 792455,
"costUSD": 8.8,
"sessions": 19,
"messages": 97
},
{
"tool": "codex",
"provider": "openai",
"id": "gpt-5.6-sol",
"tokens": 69212,
"costUSD": 0.69,
"sessions": 1,
"messages": 11
},
{
"tool": "claude-code",
"provider": "anthropic",
"id": "<synthetic>",
"tokens": 0,
"costUSD": 0,
"sessions": 2,
"messages": 2
}
],
"byProject": {
"cli": {
"tokens": 3132719,
"costUSD": 61.4,
"sessions": 6
},
"dotfiles": {
"tokens": 182030,
"costUSD": 6.34,
"sessions": 3
},
"tokenmaxing": {
"tokens": 147634,
"costUSD": 8.71,
"sessions": 1
}
}
}
],
"weeklyHighlights": [
{
"weekEnding": "2026-07-26",
"pullRequests": [
{
"url": "https://github.com/workos/cli/pull/201",
"repo": "workos/cli",
"number": 201,
"title": "feat!: migrate resource commands to the dashboard account plane",
"state": "open",
"additions": 30104,
"deletions": 3424,
"createdAt": "2026-07-23T03:37:19Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/200",
"repo": "workos/cli",
"number": 200,
"title": "feat!: consent-gated agent setup and flat CLI output",
"state": "open",
"additions": 2756,
"deletions": 1818,
"createdAt": "2026-07-22T15:39:23Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/192",
"repo": "workos/cli",
"number": 192,
"title": "feat: add env provision + verify-login commands, fix non-interactive installs (agent/CI), Vite port detection, and misleading command hints",
"state": "merged",
"additions": 3521,
"deletions": 185,
"createdAt": "2026-07-08T01:15:29Z",
"mergedAt": "2026-07-20T14:55:20Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/38",
"repo": "nicknisi/fleet",
"number": 38,
"title": "fix: bug sweep + simplification pass across the codebase",
"state": "merged",
"additions": 621,
"deletions": 638,
"createdAt": "2026-07-21T15:59:42Z",
"mergedAt": "2026-07-21T16:05:14Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/36",
"repo": "nicknisi/fleet",
"number": 36,
"title": "feat: full scrape-tier state for hook-less agents — title rules, opencode manifest, scrape-derived ready",
"state": "merged",
"additions": 698,
"deletions": 61,
"createdAt": "2026-07-20T23:43:51Z",
"mergedAt": "2026-07-21T13:53:27Z"
},
{
"url": "https://github.com/nicknisi/ideation/pull/4",
"repo": "nicknisi/ideation",
"number": 4,
"title": "feat: decision log + strawman elicitation (v0.18.0)",
"state": "merged",
"additions": 115,
"deletions": 4,
"createdAt": "2026-07-23T15:21:16Z",
"mergedAt": "2026-07-23T15:29:09Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/44",
"repo": "nicknisi/sessions",
"number": 44,
"title": "fix: stop --stdout hanging forever when piped",
"state": "merged",
"additions": 25,
"deletions": 36,
"createdAt": "2026-07-23T16:31:23Z",
"mergedAt": "2026-07-23T16:39:45Z"
}
],
"summary": "The bulk of the week went into `workos/cli`, with three PRs spanning agent setup with consent gating and flat output formatting (`#200`), a migration of resource commands to the dashboard account plane (`#201`), and environment provisioning with non-interactive install fixes and Vite port detection (`#192`). On the `nicknisi/fleet` side, `#36` added full scrape-tier state for hook-less agents covering title rules and opencode manifest handling, while `#38` followed with a bug sweep and simplification pass. `nicknisi/ideation#4` rounded out the week with a decision log and strawman elicitation feature at v0.18.0."
},
{
"weekEnding": "2026-07-19",
"pullRequests": [
{
"url": "https://github.com/nicknisi/diffdad/pull/51",
"repo": "nicknisi/diffdad",
"number": 51,
"title": "feat: daemon review parity, resolve-strip comments, concise stories",
"state": "merged",
"additions": 2730,
"deletions": 867,
"createdAt": "2026-07-17T23:29:47Z",
"mergedAt": "2026-07-18T02:29:13Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/30",
"repo": "nicknisi/sessions",
"number": 30,
"title": "feat: add `sessions wrapped` (Spotify-style year in review)",
"state": "merged",
"additions": 2938,
"deletions": 15,
"createdAt": "2026-07-13T20:06:11Z",
"mergedAt": "2026-07-13T20:55:14Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/36",
"repo": "nicknisi/sessions",
"number": 36,
"title": "fix(wrapped): base stats on real user activity, not automated noise",
"state": "merged",
"additions": 672,
"deletions": 148,
"createdAt": "2026-07-17T22:26:47Z",
"mergedAt": "2026-07-17T23:17:17Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/35",
"repo": "nicknisi/sessions",
"number": 35,
"title": "feat(mcp): add grep_sessions and include_tools for exhaustive recall",
"state": "merged",
"additions": 655,
"deletions": 21,
"createdAt": "2026-07-16T18:20:10Z",
"mergedAt": "2026-07-16T18:23:06Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/40",
"repo": "nicknisi/sessions",
"number": 40,
"title": "feat(wrapped): add \"the loop\" — longest unsupervised run",
"state": "merged",
"additions": 470,
"deletions": 6,
"createdAt": "2026-07-19T01:44:20Z",
"mergedAt": "2026-07-19T01:45:16Z"
},
{
"url": "https://github.com/nicknisi/ideation/pull/3",
"repo": "nicknisi/ideation",
"number": 3,
"title": "feat: add /ideation:express — one-pass planning-to-execution (v0.17.0)",
"state": "merged",
"additions": 383,
"deletions": 23,
"createdAt": "2026-07-18T02:08:43Z",
"mergedAt": "2026-07-18T02:14:08Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/32",
"repo": "nicknisi/sessions",
"number": 32,
"title": "feat(wrapped): adaptive roast slide type and a new round of unhinged stats",
"state": "merged",
"additions": 347,
"deletions": 12,
"createdAt": "2026-07-16T17:14:13Z",
"mergedAt": "2026-07-16T17:30:56Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/21",
"repo": "nicknisi/claude-plugins",
"number": 21,
"title": "feat(essentials): add explain-diff skill (rich HTML diff explainer)",
"state": "merged",
"additions": 107,
"deletions": 6,
"createdAt": "2026-07-13T15:51:32Z",
"mergedAt": "2026-07-13T15:55:21Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/33",
"repo": "nicknisi/sessions",
"number": 33,
"title": "feat(discoverability): teach agents when to reach for session history",
"state": "merged",
"additions": 35,
"deletions": 14,
"createdAt": "2026-07-16T17:14:25Z",
"mergedAt": "2026-07-16T17:30:46Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/38",
"repo": "nicknisi/sessions",
"number": 38,
"title": "fix(mcp): exit on stdin close to avoid orphaned servers busy-looping CPU",
"state": "merged",
"additions": 32,
"deletions": 0,
"createdAt": "2026-07-18T21:56:31Z",
"mergedAt": "2026-07-18T23:27:57Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/42",
"repo": "nicknisi/sessions",
"number": 42,
"title": "fix(release): version plugin manifests with the CLI; add --version flag",
"state": "merged",
"additions": 22,
"deletions": 8,
"createdAt": "2026-07-20T02:14:45Z",
"mergedAt": "2026-07-20T02:29:10Z"
}
],
"summary": "Work centered on `nicknisi/sessions`, with a run of merged PRs adding a Spotify-style year-in-review feature (`#30`, `#32`, `#40`), fixing stats to reflect real user activity (`#36`), and extending MCP tooling with `grep_sessions` and stdin-close handling (`#35`, `#38`). `nicknisi/diffdad#51` landed daemon review parity alongside comment-stripping and story improvements, while `nicknisi/ideation#3` introduced a one-pass planning-to-execution command and `nicknisi/claude-plugins#21` added an HTML diff explainer skill. Heavy token usage also ran against internal projects and `dotfiles`, suggesting active work beyond what shipped publicly."
},
{
"weekEnding": "2026-07-12",
"pullRequests": [
{
"url": "https://github.com/nicknisi/diffdad/pull/41",
"repo": "nicknisi/diffdad",
"number": 41,
"title": "feat: add command center (daemon)",
"state": "merged",
"additions": 2733,
"deletions": 6143,
"createdAt": "2026-06-28T03:54:27Z",
"mergedAt": "2026-07-06T22:11:39Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/20",
"repo": "nicknisi/claude-plugins",
"number": 20,
"title": "chore: marketplace housekeeping — prune dead plugins, generate README list",
"state": "merged",
"additions": 50,
"deletions": 4910,
"createdAt": "2026-07-09T20:11:32Z",
"mergedAt": "2026-07-09T21:45:22Z"
},
{
"url": "https://github.com/workos/cli/pull/184",
"repo": "workos/cli",
"number": 184,
"title": "feat: add MCP server install for coding agents (workos mcp)",
"state": "merged",
"additions": 2876,
"deletions": 1468,
"createdAt": "2026-07-06T15:59:07Z",
"mergedAt": "2026-07-06T17:46:38Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/45",
"repo": "nicknisi/diffdad",
"number": 45,
"title": "feat: Settings page: in-app config with live daemon re-wire",
"state": "merged",
"additions": 2834,
"deletions": 680,
"createdAt": "2026-07-07T16:42:30Z",
"mergedAt": "2026-07-07T17:34:04Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/27",
"repo": "nicknisi/sessions",
"number": 27,
"title": "feat(recall): message-granularity search, session digest, and files filter",
"state": "merged",
"additions": 1283,
"deletions": 149,
"createdAt": "2026-07-10T18:13:26Z",
"mergedAt": "2026-07-10T18:19:59Z"
},
{
"url": "https://github.com/workos/cli/pull/188",
"repo": "workos/cli",
"number": 188,
"title": "fix: correct CLI command hints and messaging (npx-aware, claim/remove semantics)",
"state": "closed",
"additions": 731,
"deletions": 65,
"createdAt": "2026-07-08T00:23:36Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/189",
"repo": "workos/cli",
"number": 189,
"title": "feat: add env provision command and login mismatch safety",
"state": "closed",
"additions": 647,
"deletions": 45,
"createdAt": "2026-07-08T00:23:50Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/186",
"repo": "workos/cli",
"number": 186,
"title": "feat: enrich install completion summary and stream agent file ops",
"state": "closed",
"additions": 633,
"deletions": 28,
"createdAt": "2026-07-08T00:23:02Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/187",
"repo": "workos/cli",
"number": 187,
"title": "fix: unblock agent/CI non-interactive CLI paths",
"state": "closed",
"additions": 598,
"deletions": 8,
"createdAt": "2026-07-08T00:23:19Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/190",
"repo": "workos/cli",
"number": 190,
"title": "feat: add verify-login command for headless AuthKit loop verification",
"state": "closed",
"additions": 528,
"deletions": 0,
"createdAt": "2026-07-08T00:24:03Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/diffdad/pull/43",
"repo": "nicknisi/diffdad",
"number": 43,
"title": "fix(daemon): survive launchd's bare PATH + stop hiding the no-GitHub state",
"state": "merged",
"additions": 434,
"deletions": 33,
"createdAt": "2026-07-07T11:47:01Z",
"mergedAt": "2026-07-07T11:48:30Z"
},
{
"url": "https://github.com/workos/cli/pull/185",
"repo": "workos/cli",
"number": 185,
"title": "fix: detect Vite port for TanStack Start and validate redirect URI port",
"state": "closed",
"additions": 310,
"deletions": 17,
"createdAt": "2026-07-08T00:22:44Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/sessions/pull/26",
"repo": "nicknisi/sessions",
"number": 26,
"title": "docs(readme): reposition around search and memory",
"state": "merged",
"additions": 155,
"deletions": 153,
"createdAt": "2026-07-09T21:49:57Z",
"mergedAt": "2026-07-09T21:51:07Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/50",
"repo": "nicknisi/diffdad",
"number": 50,
"title": "fix: stop losing reviews mid-flight and quiet false-positive narrative validation",
"state": "merged",
"additions": 272,
"deletions": 16,
"createdAt": "2026-07-10T02:44:05Z",
"mergedAt": "2026-07-10T03:04:27Z"
},
{
"url": "https://github.com/workos/cli/pull/191",
"repo": "workos/cli",
"number": 191,
"title": "docs: respond to Akshay's friction log with shipped CLI fixes",
"state": "closed",
"additions": 188,
"deletions": 0,
"createdAt": "2026-07-08T00:24:14Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/fleet/pull/31",
"repo": "nicknisi/fleet",
"number": 31,
"title": "feat: advertise fleet via OSC 2 pane title for title-aware window naming",
"state": "merged",
"additions": 159,
"deletions": 5,
"createdAt": "2026-07-06T15:59:04Z",
"mergedAt": "2026-07-06T16:29:17Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/34",
"repo": "nicknisi/fleet",
"number": 34,
"title": "fix: survive brew upgrade and detect status without hooks",
"state": "merged",
"additions": 139,
"deletions": 9,
"createdAt": "2026-07-08T00:40:46Z",
"mergedAt": "2026-07-08T01:21:05Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/33",
"repo": "nicknisi/fleet",
"number": 33,
"title": "fix: honest sidebar labels and a stable preview divider",
"state": "merged",
"additions": 106,
"deletions": 27,
"createdAt": "2026-07-08T00:07:42Z",
"mergedAt": "2026-07-08T01:21:16Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/47",
"repo": "nicknisi/diffdad",
"number": 47,
"title": "fix(cli): stop sending temperature to Anthropic models",
"state": "merged",
"additions": 97,
"deletions": 3,
"createdAt": "2026-07-07T20:12:16Z",
"mergedAt": "2026-07-07T20:35:03Z"
},
{
"url": "https://github.com/nicknisi/tm/pull/8",
"repo": "nicknisi/tm",
"number": 8,
"title": "fix: eliminate screen flicker in tmux popups",
"state": "merged",
"additions": 82,
"deletions": 5,
"createdAt": "2026-07-09T15:33:40Z",
"mergedAt": "2026-07-09T15:35:59Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/42",
"repo": "nicknisi/diffdad",
"number": 42,
"title": "ci: drop the legacy homebrew-diffdad tap from releases",
"state": "merged",
"additions": 0,
"deletions": 2,
"createdAt": "2026-07-06T22:45:21Z",
"mergedAt": "2026-07-06T22:46:08Z"
}
],
"summary": "A busy week split across three public repos: `workos/cli` saw a wave of AuthKit-related improvements consolidated into `workos/cli#192`, covering agent/CI non-interactive paths, port detection for Vite and TanStack Start, a new `verify-login` command for headless loop verification, env provisioning, and install UX polish — with several precursor branches (#185–#191) closed in favor of that rollup. `workos/cli#184` added an MCP server install flow for coding agents. On the `nicknisi/diffdad` side, `diffdad#41` introduced a command center daemon, `diffdad#45` added an in-app settings page with live daemon re-wiring, and smaller fixes addressed launchd PATH survival and an Anthropic temperature bug; `nicknisi/fleet` received OSC 2 pane title advertising (#31) and two stability fixes (#33, #34)."
},
{
"weekEnding": "2026-07-05",
"pullRequests": [
{
"url": "https://github.com/nicknisi/fleet/pull/25",
"repo": "nicknisi/fleet",
"number": 25,
"title": "feat: agent-awareness polish — explain, detection manifests, Codex, wait, window rollup, labels/rename",
"state": "merged",
"additions": 3344,
"deletions": 166,
"createdAt": "2026-07-04T03:03:20Z",
"mergedAt": "2026-07-04T14:58:12Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/24",
"repo": "nicknisi/sessions",
"number": 24,
"title": "feat(search): richer FTS index, weighted ranking, and CLI/MCP parity",
"state": "merged",
"additions": 2948,
"deletions": 98,
"createdAt": "2026-06-29T11:08:13Z",
"mergedAt": "2026-06-29T11:18:47Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/19",
"repo": "nicknisi/fleet",
"number": 19,
"title": "feat: adaptive theming, responsive sidebar layout, and UI polish",
"state": "merged",
"additions": 1202,
"deletions": 250,
"createdAt": "2026-07-03T02:10:17Z",
"mergedAt": "2026-07-03T15:38:56Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/29",
"repo": "nicknisi/fleet",
"number": 29,
"title": "feat: harness-agnostic awareness — spinner-glyph detection, hook-less discovery, silent notifications",
"state": "merged",
"additions": 1022,
"deletions": 24,
"createdAt": "2026-07-06T00:25:39Z",
"mergedAt": "2026-07-06T00:31:51Z"
},
{
"url": "https://github.com/nicknisi/tm/pull/6",
"repo": "nicknisi/tm",
"number": 6,
"title": "fix: friendly welcome screen when no tmux server is running",
"state": "merged",
"additions": 637,
"deletions": 14,
"createdAt": "2026-07-02T21:32:24Z",
"mergedAt": "2026-07-02T21:38:57Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/19",
"repo": "nicknisi/claude-plugins",
"number": 19,
"title": "feat(essentials): add brainstorming skill (lightweight thinking partner)",
"state": "merged",
"additions": 93,
"deletions": 8,
"createdAt": "2026-07-01T00:35:50Z",
"mergedAt": "2026-07-06T02:22:43Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/21",
"repo": "nicknisi/fleet",
"number": 21,
"title": "fix: replace dangling marketplace symlink on install",
"state": "merged",
"additions": 62,
"deletions": 6,
"createdAt": "2026-07-03T15:55:29Z",
"mergedAt": "2026-07-03T15:56:03Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/27",
"repo": "nicknisi/fleet",
"number": 27,
"title": "feat: double-click a sidebar row to jump to that agent",
"state": "merged",
"additions": 63,
"deletions": 4,
"createdAt": "2026-07-05T17:23:54Z",
"mergedAt": "2026-07-05T17:27:34Z"
},
{
"url": "https://github.com/nicknisi/ideation/pull/1",
"repo": "nicknisi/ideation",
"number": 1,
"title": "feat: add over-engineering critic lens + sharpen interview/spec disciplines",
"state": "merged",
"additions": 36,
"deletions": 11,
"createdAt": "2026-07-01T00:35:46Z",
"mergedAt": "2026-07-06T01:44:26Z"
},
{
"url": "https://github.com/nicknisi/ideation/pull/2",
"repo": "nicknisi/ideation",
"number": 2,
"title": "fix(autopilot): follow execute-spec's SKILL.md instead of the gated skill",
"state": "open",
"additions": 10,
"deletions": 6,
"createdAt": "2026-07-04T15:03:50Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/fleet/pull/23",
"repo": "nicknisi/fleet",
"number": 23,
"title": "feat: make fleet sidebar span the full window height",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2026-07-03T17:18:19Z",
"mergedAt": "2026-07-03T17:19:08Z"
}
],
"summary": "A busy week centered on `nicknisi/fleet` and `nicknisi/sessions`, with multiple PRs advancing agent-awareness features: spinner-glyph detection, harness-agnostic discovery, and silent notifications landed in `fleet#29`, while `fleet#25` added Codex support, window rollup, and detection manifests with a large diff. `nicknisi/sessions#24` deepened the search layer with a richer FTS index, weighted ranking, and CLI/MCP parity, and smaller PRs rounded out the week across `nicknisi/tm`, `nicknisi/claude-plugins`, and `nicknisi/ideation` — covering a welcome-screen fix, a brainstorming skill, and prompt/spec discipline refinements. Additional work touched `claude-plugins`, dotfiles, and an internal project using claude-opus-4 and claude-fable-5."
},
{
"weekEnding": "2026-06-28",
"pullRequests": [
{
"url": "https://github.com/nicknisi/diffdad/pull/38",
"repo": "nicknisi/diffdad",
"number": 38,
"title": "feat: per-machine daemon + agent review loop",
"state": "merged",
"additions": 11607,
"deletions": 576,
"createdAt": "2026-06-27T02:11:13Z",
"mergedAt": "2026-06-27T02:14:01Z"
},
{
"url": "https://github.com/workos/aie-ai-native-workshop/pull/1",
"repo": "workos/aie-ai-native-workshop",
"number": 1,
"title": "feat: AI-Native coach — deterministic engine, calibrated evidence, MCP in the CLI (Bun + TS)",
"state": "merged",
"additions": 4408,
"deletions": 510,
"createdAt": "2026-06-28T14:26:29Z",
"mergedAt": "2026-06-28T19:03:35Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/19",
"repo": "nicknisi/sessions",
"number": 19,
"title": "feat(context): repo-scoped context primer via MCP tool, CLI, and skill",
"state": "merged",
"additions": 3030,
"deletions": 94,
"createdAt": "2026-06-19T17:22:42Z",
"mergedAt": "2026-06-23T19:21:29Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/21",
"repo": "nicknisi/sessions",
"number": 21,
"title": "feat(report): accurate LiteLLM-based cost pricing (matches ccusage within ~1%)",
"state": "merged",
"additions": 1887,
"deletions": 40,
"createdAt": "2026-06-25T04:08:41Z",
"mergedAt": "2026-06-25T04:15:28Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/40",
"repo": "nicknisi/diffdad",
"number": 40,
"title": "feat: review-loop robustness — legible doors, comment delivery, presence, app-data storage",
"state": "merged",
"additions": 702,
"deletions": 57,
"createdAt": "2026-06-27T19:34:41Z",
"mergedAt": "2026-06-27T19:37:26Z"
},
{
"url": "https://github.com/workos/cli/pull/180",
"repo": "workos/cli",
"number": 180,
"title": "feat!: consolidate and rename CLI environment variables",
"state": "merged",
"additions": 171,
"deletions": 116,
"createdAt": "2026-06-16T02:07:57Z",
"mergedAt": "2026-06-22T15:38:50Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/49",
"repo": "workos/authkit-session",
"number": 49,
"title": "feat: support maxAge authorization param (@workos-inc/node >= 10.6)",
"state": "merged",
"additions": 76,
"deletions": 115,
"createdAt": "2026-06-25T21:32:33Z",
"mergedAt": "2026-06-25T21:59:28Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/22",
"repo": "nicknisi/sessions",
"number": 22,
"title": "feat(search): rank by relevance, add stemming, OR recall, and index assistant text",
"state": "merged",
"additions": 102,
"deletions": 15,
"createdAt": "2026-06-25T23:01:21Z",
"mergedAt": "2026-06-25T23:01:30Z"
},
{
"url": "https://github.com/workos/radar-signals/pull/19",
"repo": "workos/radar-signals",
"number": 19,
"title": "ci: set up release-please and PR title linting",
"state": "merged",
"additions": 90,
"deletions": 0,
"createdAt": "2026-06-23T18:21:20Z",
"mergedAt": "2026-06-23T18:36:10Z"
},
{
"url": "https://github.com/workos/radar-signals/pull/18",
"repo": "workos/radar-signals",
"number": 18,
"title": "ci: set up release-please and PR title linting",
"state": "closed",
"additions": 84,
"deletions": 0,
"createdAt": "2026-06-23T18:07:54Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/fleet/pull/17",
"repo": "nicknisi/fleet",
"number": 17,
"title": "feat: clear an agent's notification when you focus its pane",
"state": "merged",
"additions": 47,
"deletions": 4,
"createdAt": "2026-06-23T16:34:22Z",
"mergedAt": "2026-06-23T17:06:56Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/48",
"repo": "workos/authkit-session",
"number": 48,
"title": "build: Update @workos-inc/node to v10.4.0",
"state": "merged",
"additions": 36,
"deletions": 13,
"createdAt": "2026-06-18T14:05:20Z",
"mergedAt": "2026-06-25T18:44:31Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/108",
"repo": "workos/authkit-tanstack-start",
"number": 108,
"title": "fix: scope getOrganization lookup to the authenticated session",
"state": "merged",
"additions": 42,
"deletions": 1,
"createdAt": "2026-06-24T19:39:34Z",
"mergedAt": "2026-06-24T20:03:25Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/107",
"repo": "workos/authkit-tanstack-start",
"number": 107,
"title": "fix!: require @workos-inc/node >=10.4.0 (eventemitter3 Vite dev crash #106)",
"state": "merged",
"additions": 12,
"deletions": 15,
"createdAt": "2026-06-18T14:31:33Z",
"mergedAt": "2026-06-24T19:43:55Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/45",
"repo": "workos/authkit-session",
"number": 45,
"title": "fix(factory): add clearPendingVerifierByName to createAuthService proxy",
"state": "merged",
"additions": 5,
"deletions": 0,
"createdAt": "2026-06-16T20:00:28Z",
"mergedAt": "2026-06-26T14:08:47Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/110",
"repo": "workos/authkit-tanstack-start",
"number": 110,
"title": "fix: update User test mocks for @workos-inc/node 10.4.0 (unblock publish)",
"state": "merged",
"additions": 2,
"deletions": 0,
"createdAt": "2026-06-24T20:20:25Z",
"mergedAt": "2026-06-24T20:38:35Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/443",
"repo": "workos/authkit-nextjs",
"number": 443,
"title": "fix: prevent cross-organization disclosure in getOrganizationAction",
"state": "merged",
"additions": 0,
"deletions": 0,
"createdAt": "2026-06-24T21:34:52Z",
"mergedAt": "2026-06-24T21:35:57Z"
}
],
"summary": "A very busy week spanning personal tooling, WorkOS SDKs, and internal projects. On the personal side, `nicknisi/diffdad#38` introduced a per-machine daemon and agent review loop, `nicknisi/sessions#19` added repo-scoped context priming via MCP, `nicknisi/sessions#21` landed LiteLLM-based cost pricing accurate to within ~1% of ccusage, and `nicknisi/fleet#17` cleared agent notifications on pane focus. On the WorkOS side, `workos/authkit-session#49` added `maxAge` authorization param support, `workos/authkit-tanstack-start#108` scoped organization lookups to the authenticated session, `workos/authkit-nextjs#443` fixed a cross-organization disclosure in `getOrganizationAction`, and `workos/cli#180` consolidated and renamed CLI environment variables; `workos/aie-ai-native-workshop#1` also shipped a deterministic AI coaching engine with MCP CLI integration built on Bun and TypeScript."
},
{
"weekEnding": "2026-06-21",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/101",
"repo": "workos/authkit-tanstack-start",
"number": 101,
"title": "fix: use createServerFn().validator() instead of deprecated inputValidator",
"state": "merged",
"additions": 484,
"deletions": 608,
"createdAt": "2026-06-13T15:22:04Z",
"mergedAt": "2026-06-15T19:42:49Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/16",
"repo": "nicknisi/claude-plugins",
"number": 16,
"title": "feat(tmux): standalone tmux plugin with pane awareness & control",
"state": "merged",
"additions": 912,
"deletions": 0,
"createdAt": "2026-06-15T16:22:43Z",
"mergedAt": "2026-06-15T16:24:10Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/93",
"repo": "workos/authkit-tanstack-start",
"number": 93,
"title": "fix: lazy-import @workos/authkit-session in authkit-loader",
"state": "merged",
"additions": 517,
"deletions": 120,
"createdAt": "2026-05-18T21:46:15Z",
"mergedAt": "2026-06-16T18:51:22Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1630",
"repo": "workos/workos-node",
"number": 1630,
"title": "refactor(feature-flags): replace eventemitter3 with internal typed emitter",
"state": "merged",
"additions": 447,
"deletions": 29,
"createdAt": "2026-06-17T14:15:02Z",
"mergedAt": "2026-06-18T13:51:05Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/104",
"repo": "workos/authkit-tanstack-start",
"number": 104,
"title": "fix: evict stale PKCE verifier cookies to prevent HTTP 431 (#76)",
"state": "merged",
"additions": 223,
"deletions": 34,
"createdAt": "2026-06-15T23:02:59Z",
"mergedAt": "2026-06-16T18:28:32Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/42",
"repo": "workos/authkit-session",
"number": 42,
"title": "feat: bound pending PKCE verifier cookies with eviction",
"state": "merged",
"additions": 253,
"deletions": 2,
"createdAt": "2026-06-15T19:43:36Z",
"mergedAt": "2026-06-15T22:53:24Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/15",
"repo": "nicknisi/fleet",
"number": 15,
"title": "fix: make tmux status line legible on light terminal themes",
"state": "merged",
"additions": 17,
"deletions": 12,
"createdAt": "2026-06-15T14:46:51Z",
"mergedAt": "2026-06-15T14:55:33Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/17",
"repo": "nicknisi/claude-plugins",
"number": 17,
"title": "fix(tmux): sharpen skill description for clearer triggering",
"state": "merged",
"additions": 3,
"deletions": 3,
"createdAt": "2026-06-16T13:03:42Z",
"mergedAt": "2026-06-16T13:05:30Z"
}
],
"summary": "A busy week spanning WorkOS auth SDKs, CLI tooling, and personal tooling. On the auth side, fixes landed in `workos/authkit-tanstack-start` (#93, #101, #104) and `workos/authkit-session` (#42) addressing PKCE verifier cookie eviction, stale cookie buildup causing HTTP 431 errors, and a deprecated `inputValidator` API migration, while `workos/workos-node#1630` replaced the `eventemitter3` dependency with an internal typed emitter to resolve a Vite dev crash. Personal tooling saw `nicknisi/claude-plugins#16` add a standalone tmux plugin with pane awareness, `nicknisi/sessions#19` introduce a repo-scoped context primer via MCP tool and CLI, and `nicknisi/fleet#15` fix tmux status line legibility on light terminal themes."
},
{
"weekEnding": "2026-06-14",
"pullRequests": [
{
"url": "https://github.com/nicknisi/claude-plugins/pull/13",
"repo": "nicknisi/claude-plugins",
"number": 13,
"title": "feat(ideation): workflow-backed execution + Fable 5 upgrade (v0.14.0)",
"state": "closed",
"additions": 48610,
"deletions": 2560,
"createdAt": "2026-06-10T17:32:29Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/14",
"repo": "nicknisi/claude-plugins",
"number": 14,
"title": "chore(ideation): extract plugin to its own repo",
"state": "merged",
"additions": 19,
"deletions": 6298,
"createdAt": "2026-06-12T16:11:01Z",
"mergedAt": "2026-06-13T14:36:10Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/7",
"repo": "nicknisi/fleet",
"number": 7,
"title": "feat: clear/mark-read statusline notifications",
"state": "merged",
"additions": 264,
"deletions": 3948,
"createdAt": "2026-06-09T02:19:46Z",
"mergedAt": "2026-06-09T02:46:21Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/12",
"repo": "nicknisi/sessions",
"number": 12,
"title": "feat: add `sessions report` (usage report — JSON + HTML dashboard)",
"state": "merged",
"additions": 2098,
"deletions": 11,
"createdAt": "2026-06-07T19:36:22Z",
"mergedAt": "2026-06-08T15:30:42Z"
},
{
"url": "https://github.com/workos/cli/pull/173",
"repo": "workos/cli",
"number": 173,
"title": "feat: scaffold a Next.js app when installing in an empty directory",
"state": "merged",
"additions": 1031,
"deletions": 31,
"createdAt": "2026-06-07T17:59:20Z",
"mergedAt": "2026-06-08T15:39:15Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/13",
"repo": "nicknisi/fleet",
"number": 13,
"title": "feat: group dashboard rows by session and label agents by window",
"state": "merged",
"additions": 652,
"deletions": 64,
"createdAt": "2026-06-10T21:05:59Z",
"mergedAt": "2026-06-10T21:16:44Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/9",
"repo": "nicknisi/fleet",
"number": 9,
"title": "fix: ship plugin hooks in homebrew package and fail loudly on hookless install",
"state": "merged",
"additions": 325,
"deletions": 51,
"createdAt": "2026-06-10T16:25:38Z",
"mergedAt": "2026-06-10T16:38:21Z"
},
{
"url": "https://github.com/workos/cli/pull/175",
"repo": "workos/cli",
"number": 175,
"title": "fix: gate install success on doctor's auth-pattern security checks",
"state": "merged",
"additions": 340,
"deletions": 24,
"createdAt": "2026-06-08T20:52:57Z",
"mergedAt": "2026-06-08T21:42:54Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/16",
"repo": "nicknisi/sessions",
"number": 16,
"title": "feat(report): redesign HTML dashboard with themes and accent switcher",
"state": "merged",
"additions": 180,
"deletions": 96,
"createdAt": "2026-06-10T17:39:40Z",
"mergedAt": "2026-06-10T17:40:39Z"
},
{
"url": "https://github.com/workos/authkit-js/pull/122",
"repo": "workos/authkit-js",
"number": 122,
"title": "fix: harden state and signOut returnTo against untrusted redirects",
"state": "merged",
"additions": 96,
"deletions": 21,
"createdAt": "2026-06-10T17:14:21Z",
"mergedAt": "2026-06-11T22:12:05Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/98",
"repo": "workos/authkit-tanstack-start",
"number": 98,
"title": "fix: export getAuthKitContext as the public auth context accessor",
"state": "merged",
"additions": 79,
"deletions": 14,
"createdAt": "2026-06-11T17:09:08Z",
"mergedAt": "2026-06-11T18:45:42Z"
},
{
"url": "https://github.com/nicknisi/fleet/pull/11",
"repo": "nicknisi/fleet",
"number": 11,
"title": "feat: show tmux window in agent names",
"state": "merged",
"additions": 54,
"deletions": 23,
"createdAt": "2026-06-10T17:32:23Z",
"mergedAt": "2026-06-10T17:35:44Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/14",
"repo": "nicknisi/sessions",
"number": 14,
"title": "feat: add --here flag to scope `sessions report` to the current project",
"state": "merged",
"additions": 73,
"deletions": 1,
"createdAt": "2026-06-10T14:58:26Z",
"mergedAt": "2026-06-10T14:59:53Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/17",
"repo": "nicknisi/sessions",
"number": 17,
"title": "feat(report): open HTML dashboard from a temp dir by default",
"state": "merged",
"additions": 48,
"deletions": 7,
"createdAt": "2026-06-11T22:58:40Z",
"mergedAt": "2026-06-11T23:02:55Z"
},
{
"url": "https://github.com/workos/skills/pull/33",
"repo": "workos/skills",
"number": 33,
"title": "fix(workos): mandate POST server-action sign-out in Next.js skill",
"state": "merged",
"additions": 49,
"deletions": 1,
"createdAt": "2026-06-08T20:53:12Z",
"mergedAt": "2026-06-08T20:56:03Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/438",
"repo": "workos/authkit-nextjs",
"number": 438,
"title": "test: pin callback redirect to the app origin",
"state": "merged",
"additions": 44,
"deletions": 0,
"createdAt": "2026-06-10T17:03:43Z",
"mergedAt": "2026-06-11T22:13:18Z"
},
{
"url": "https://github.com/workos/authkit-react/pull/99",
"repo": "workos/authkit-react",
"number": 99,
"title": "docs: validate state.returnTo before navigating",
"state": "open",
"additions": 25,
"deletions": 2,
"createdAt": "2026-06-10T17:04:04Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/react-authkit-example/pull/9",
"repo": "workos/react-authkit-example",
"number": 9,
"title": "fix: validate state.returnTo before navigating after auth",
"state": "merged",
"additions": 17,
"deletions": 3,
"createdAt": "2026-06-10T17:04:23Z",
"mergedAt": "2026-06-11T22:18:43Z"
}
],
"summary": "A busy week spanning terminal tooling, auth security hardening, and CLI scaffolding. On the WorkOS side, `workos/authkit-js#122` and `workos/react-authkit-example#9` tightened redirect validation to block untrusted `returnTo` targets, `workos/cli#173` added Next.js app scaffolding for empty-directory installs, `workos/cli#175` gated install success on auth-pattern security checks, and `workos/authkit-tanstack-start#98` fixed a missing public export for the auth context accessor. In personal tooling, `nicknisi/sessions#12` and follow-on PRs (#14, #16, #17) built out a `sessions report` command with a themed HTML dashboard, while `nicknisi/fleet#7`, `#9`, `#11`, and `#13` iterated on statusline notifications, plugin hook packaging, and agent labeling by tmux window, and `nicknisi/claude-plugins#14` extracted the ideation plugin to its own repo after the workflow-backed Fable 5 upgrade landed in #13."
},
{
"weekEnding": "2026-06-07",
"pullRequests": [
{
"url": "https://github.com/workos/cli/pull/122",
"repo": "workos/cli",
"number": 122,
"title": "feat: CLI telemetry for all commands with centralized lifecycle",
"state": "merged",
"additions": 5752,
"deletions": 2427,
"createdAt": "2026-04-14T23:55:36Z",
"mergedAt": "2026-06-01T20:29:26Z"
},
{
"url": "https://github.com/workos/cli/pull/169",
"repo": "workos/cli",
"number": 169,
"title": "feat: telemetry opt-out command + first-run notice",
"state": "merged",
"additions": 1413,
"deletions": 22,
"createdAt": "2026-06-02T01:16:40Z",
"mergedAt": "2026-06-02T02:29:00Z"
},
{
"url": "https://github.com/workos/cli/pull/167",
"repo": "workos/cli",
"number": 167,
"title": "feat: add `vault run` for secure secret injection into child processes",
"state": "merged",
"additions": 878,
"deletions": 68,
"createdAt": "2026-06-01T20:17:15Z",
"mergedAt": "2026-06-02T02:12:42Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/39",
"repo": "workos/authkit-session",
"number": 39,
"title": "fix: retry token refresh once on rate limit",
"state": "merged",
"additions": 279,
"deletions": 3,
"createdAt": "2026-05-28T13:59:41Z",
"mergedAt": "2026-06-04T18:13:48Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/59",
"repo": "workos/authkit-tanstack-start",
"number": 59,
"title": "fix(client): remove useNavigate from AuthKitProvider to avoid SSR warning",
"state": "merged",
"additions": 88,
"deletions": 60,
"createdAt": "2026-03-15T02:21:56Z",
"mergedAt": "2026-06-02T16:03:09Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/96",
"repo": "workos/authkit-tanstack-start",
"number": 96,
"title": "fix: update to authkit-session@0.5.3",
"state": "merged",
"additions": 6,
"deletions": 6,
"createdAt": "2026-06-04T21:53:56Z",
"mergedAt": "2026-06-04T22:05:36Z"
}
],
"summary": "The bulk of work landed in `workos/cli`, with `#122` adding centralized telemetry lifecycle instrumentation across all commands and `#169` layering in an opt-out command and first-run notice, alongside `#167` introducing `vault run` for injecting secrets into child processes without exposing them in environment variables. On the authkit side, `workos/authkit-session#39` added a one-retry fallback on rate-limited token refreshes, and `workos/authkit-tanstack-start#59` removed a `useNavigate` call from `AuthKitProvider` that was triggering SSR warnings, with `#96` pinning the updated session dependency."
},
{
"weekEnding": "2026-05-31",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-nextjs/pull/432",
"repo": "workos/authkit-nextjs",
"number": 432,
"title": "fix: defer PKCE cookie write until AuthKit redirect",
"state": "merged",
"additions": 288,
"deletions": 37,
"createdAt": "2026-05-26T21:53:12Z",
"mergedAt": "2026-05-27T17:37:50Z"
},
{
"url": "https://github.com/workos/authkit-js/pull/117",
"repo": "workos/authkit-js",
"number": 117,
"title": "fix: catch lock timeout errors instead of leaking to app",
"state": "merged",
"additions": 173,
"deletions": 6,
"createdAt": "2026-05-13T22:05:08Z",
"mergedAt": "2026-05-26T15:45:53Z"
},
{
"url": "https://github.com/workos/workos-migrations/pull/72",
"repo": "workos/workos-migrations",
"number": 72,
"title": "fix: use OIDC provenance for npm publish",
"state": "merged",
"additions": 0,
"deletions": 1,
"createdAt": "2026-05-13T16:30:28Z",
"mergedAt": "2026-05-27T14:17:27Z"
}
],
"summary": "Two auth-focused fixes shipped for the WorkOS AuthKit ecosystem: `workos/authkit-js#117` patches lock timeout errors that were previously leaking unhandled into application code, and `workos/authkit-nextjs#432` defers PKCE cookie writes until the AuthKit redirect to correct the cookie timing. The bulk of session work centered on `authkit-nextjs` and `authkit-session`, with additional context in `authkit-tanstack-start` suggesting cross-adapter session handling was also in scope."
},
{
"weekEnding": "2026-05-24",
"pullRequests": [
{
"url": "https://github.com/workos/case/pull/15",
"repo": "workos/case",
"number": 15,
"title": "feat(pipeline): harness resilience — failure matrix, fingerprinting, working memory, and scout agent",
"state": "merged",
"additions": 3617,
"deletions": 214,
"createdAt": "2026-05-19T16:43:29Z",
"mergedAt": "2026-05-19T17:09:55Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/11",
"repo": "nicknisi/claude-plugins",
"number": 11,
"title": "feat(ideation): HTML contract, MD specs, and /autopilot orchestrator",
"state": "merged",
"additions": 2967,
"deletions": 270,
"createdAt": "2026-05-13T20:06:07Z",
"mergedAt": "2026-05-19T17:43:37Z"
},
{
"url": "https://github.com/workos/case/pull/12",
"repo": "workos/case",
"number": 12,
"title": "feat(cli): structured log renderer, ANSI color, TUI mode, and terminal UX overhaul",
"state": "merged",
"additions": 2454,
"deletions": 336,
"createdAt": "2026-05-18T21:58:29Z",
"mergedAt": "2026-05-18T22:28:10Z"
},
{
"url": "https://github.com/workos/authkit-react/pull/98",
"repo": "workos/authkit-react",
"number": 98,
"title": "fix(provider): read organizationId from access token after client initialization",
"state": "open",
"additions": 2466,
"deletions": 202,
"createdAt": "2026-05-19T22:00:07Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/case/pull/16",
"repo": "workos/case",
"number": 16,
"title": "feat(onboard): interactive interview mode for ca onboard",
"state": "merged",
"additions": 2239,
"deletions": 187,
"createdAt": "2026-05-19T18:20:01Z",
"mergedAt": "2026-05-19T19:44:35Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/12",
"repo": "nicknisi/claude-plugins",
"number": 12,
"title": "feat: zoom-out, prototype, and contract-gen Mission Brief redesign",
"state": "merged",
"additions": 1575,
"deletions": 81,
"createdAt": "2026-05-21T15:28:30Z",
"mergedAt": "2026-05-23T14:32:30Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/92",
"repo": "workos/authkit-tanstack-start",
"number": 92,
"title": "feat: add Cloudflare Workers deployment for example app",
"state": "open",
"additions": 1043,
"deletions": 58,
"createdAt": "2026-05-18T19:03:15Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/case/pull/14",
"repo": "workos/case",
"number": 14,
"title": "feat(evidence): repo-aware evidence strategy, ca onboard, and project-level config",
"state": "merged",
"additions": 500,
"deletions": 213,
"createdAt": "2026-05-18T23:08:28Z",
"mergedAt": "2026-05-19T11:42:26Z"
},
{
"url": "https://github.com/workos/cli/pull/156",
"repo": "workos/cli",
"number": 156,
"title": "fix: use file URL for dynamic imports to support Windows",
"state": "merged",
"additions": 199,
"deletions": 77,
"createdAt": "2026-05-20T15:43:25Z",
"mergedAt": "2026-05-20T17:54:11Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1578",
"repo": "workos/workos-node",
"number": 1578,
"title": "fix(webhooks): accept raw request bytes for signature verification",
"state": "merged",
"additions": 221,
"deletions": 9,
"createdAt": "2026-05-01T03:14:35Z",
"mergedAt": "2026-05-19T20:41:18Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/34",
"repo": "workos/authkit-session",
"number": 34,
"title": "chore: add release-please for automated releases",
"state": "merged",
"additions": 96,
"deletions": 48,
"createdAt": "2026-05-15T18:25:34Z",
"mergedAt": "2026-05-18T14:45:56Z"
},
{
"url": "https://github.com/workos/case/pull/13",
"repo": "workos/case",
"number": 13,
"title": "feat(cli): group --help output by audience",
"state": "merged",
"additions": 53,
"deletions": 23,
"createdAt": "2026-05-18T22:35:59Z",
"mergedAt": "2026-05-18T22:38:22Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/36",
"repo": "workos/authkit-session",
"number": 36,
"title": "fix: drop GitHub App token from release-please workflow",
"state": "merged",
"additions": 6,
"deletions": 10,
"createdAt": "2026-05-18T14:51:55Z",
"mergedAt": "2026-05-18T14:53:01Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/35",
"repo": "workos/authkit-session",
"number": 35,
"title": "fix: don't format CHANGELOG.md",
"state": "merged",
"additions": 6,
"deletions": 1,
"createdAt": "2026-05-18T14:48:18Z",
"mergedAt": "2026-05-18T14:49:21Z"
}
],
"summary": "Work spanned agentic pipeline infrastructure, auth integrations, and developer tooling across several repos. The `workos/case` project saw the most sustained effort, with PRs #12–#16 adding a structured log renderer with TUI/ANSI output, a repo-aware evidence strategy, interactive onboarding interview mode, and a resilience layer covering failure matrices, fingerprinting, working memory, and a scout agent. On the auth side, `workos/authkit-react#98` fixes organization ID reading from access tokens post-initialization, `workos/authkit-tanstack-start#92` adds a Cloudflare Workers deployment target for the example app, and `workos/authkit-tanstack-start#93` addresses a lazy-import issue for session handling; `workos/workos-node#1578` also fixes webhook signature verification to accept raw request bytes. The `nicknisi/claude-plugins` repo received two PRs (#11, #12) building out an ideation contract system with HTML/MD specs, an `/autopilot` orchestrator, and a Mission Brief redesign with zoom-out and prototype-gen modes."
},
{
"weekEnding": "2026-05-17",
"pullRequests": [
{
"url": "https://github.com/workos/workos-migrations/pull/65",
"repo": "workos/workos-migrations",
"number": 65,
"title": "fix: publish @workos/migrations to npm",
"state": "merged",
"additions": 147,
"deletions": 14792,
"createdAt": "2026-05-13T14:52:59Z",
"mergedAt": "2026-05-13T15:39:27Z"
},
{
"url": "https://github.com/workos/case/pull/10",
"repo": "workos/case",
"number": 10,
"title": "refactor(core): stabilize case pipeline surface",
"state": "merged",
"additions": 1287,
"deletions": 5867,
"createdAt": "2026-05-16T22:27:07Z",
"mergedAt": "2026-05-17T00:23:00Z"
},
{
"url": "https://github.com/workos/case/pull/8",
"repo": "workos/case",
"number": 8,
"title": "feat(pipeline-v2): event log, AST enforcement, DAG executor",
"state": "merged",
"additions": 5067,
"deletions": 1427,
"createdAt": "2026-05-16T02:23:13Z",
"mergedAt": "2026-05-16T04:09:48Z"
},
{
"url": "https://github.com/workos/case/pull/9",
"repo": "workos/case",
"number": 9,
"title": "feat(cli): make case distributable — zero hard-coded paths, CLI subcommands, data directory",
"state": "merged",
"additions": 4216,
"deletions": 1894,
"createdAt": "2026-05-16T11:17:48Z",
"mergedAt": "2026-05-16T21:57:28Z"
},
{
"url": "https://github.com/workos/cli/pull/143",
"repo": "workos/cli",
"number": 143,
"title": "feat: add first-class CLI interaction modes",
"state": "merged",
"additions": 2492,
"deletions": 179,
"createdAt": "2026-05-04T23:21:01Z",
"mergedAt": "2026-05-12T19:51:37Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/36",
"repo": "nicknisi/diffdad",
"number": 36,
"title": "feat: diff improvements — findings panel, hardened pipeline, incremental re-review",
"state": "open",
"additions": 1869,
"deletions": 188,
"createdAt": "2026-05-14T19:55:54Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/case/pull/11",
"repo": "workos/case",
"number": 11,
"title": "[codex] Make Case state repo-local and portable",
"state": "merged",
"additions": 1150,
"deletions": 463,
"createdAt": "2026-05-17T03:45:58Z",
"mergedAt": "2026-05-17T04:11:28Z"
},
{
"url": "https://github.com/workos/cli/pull/149",
"repo": "workos/cli",
"number": 149,
"title": "feat: add `workos migrations` command",
"state": "merged",
"additions": 1147,
"deletions": 12,
"createdAt": "2026-05-13T02:49:21Z",
"mergedAt": "2026-05-13T22:45:22Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/85",
"repo": "workos/authkit-tanstack-start",
"number": 85,
"title": "fix: eliminate middleware bundle leak via lazy dynamic import",
"state": "merged",
"additions": 392,
"deletions": 373,
"createdAt": "2026-05-14T17:30:51Z",
"mergedAt": "2026-05-15T18:24:29Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/9",
"repo": "nicknisi/sessions",
"number": 9,
"title": "feat: plugin with skills and `sessions setup` command",
"state": "merged",
"additions": 551,
"deletions": 4,
"createdAt": "2026-05-15T18:36:12Z",
"mergedAt": "2026-05-15T18:40:26Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/4",
"repo": "nicknisi/sessions",
"number": 4,
"title": "feat: add custom titles, message counts, and subagent indexing",
"state": "merged",
"additions": 447,
"deletions": 44,
"createdAt": "2026-05-14T19:55:02Z",
"mergedAt": "2026-05-15T01:40:34Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/10",
"repo": "nicknisi/claude-plugins",
"number": 10,
"title": "feat(ideation): one-at-a-time interview loop with recommended answers",
"state": "merged",
"additions": 133,
"deletions": 215,
"createdAt": "2026-05-12T22:19:27Z",
"mergedAt": "2026-05-12T22:20:59Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/7",
"repo": "nicknisi/sessions",
"number": 7,
"title": "feat: compact activity digest and session metrics",
"state": "merged",
"additions": 251,
"deletions": 63,
"createdAt": "2026-05-15T18:17:06Z",
"mergedAt": "2026-05-15T18:20:56Z"
},
{
"url": "https://github.com/workos/skills/pull/20",
"repo": "workos/skills",
"number": 20,
"title": "chore: add Codex plugin support alongside Claude Code and Cursor plugins",
"state": "merged",
"additions": 217,
"deletions": 30,
"createdAt": "2026-04-14T19:59:56Z",
"mergedAt": "2026-05-13T22:35:13Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/10",
"repo": "nicknisi/sessions",
"number": 10,
"title": "fix: embed plugin files in compiled binary",
"state": "merged",
"additions": 179,
"deletions": 64,
"createdAt": "2026-05-15T18:47:23Z",
"mergedAt": "2026-05-15T19:17:57Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/33",
"repo": "workos/authkit-session",
"number": 33,
"title": "fix: deduplicate concurrent server-side token refresh calls",
"state": "merged",
"additions": 186,
"deletions": 27,
"createdAt": "2026-05-13T21:54:37Z",
"mergedAt": "2026-05-14T18:59:56Z"
},
{
"url": "https://github.com/nicknisi/sessions/pull/6",
"repo": "nicknisi/sessions",
"number": 6,
"title": "feat: add get_activity_digest MCP tool",
"state": "merged",
"additions": 144,
"deletions": 2,
"createdAt": "2026-05-15T18:01:09Z",
"mergedAt": "2026-05-15T18:02:40Z"
},
{
"url": "https://github.com/workos/skills/pull/29",
"repo": "workos/skills",
"number": 29,
"title": "feat(workos): add CLI agent-mode guidance to skill",
"state": "merged",
"additions": 53,
"deletions": 24,
"createdAt": "2026-05-10T18:20:24Z",
"mergedAt": "2026-05-13T19:49:48Z"
},
{
"url": "https://github.com/workos/workos-migrations/pull/68",
"repo": "workos/workos-migrations",
"number": 68,
"title": "fix: use GITHUB_TOKEN for release-please",
"state": "merged",
"additions": 30,
"deletions": 15,
"createdAt": "2026-05-13T15:53:49Z",
"mergedAt": "2026-05-13T16:07:06Z"
},
{
"url": "https://github.com/workos/authkit-js/pull/118",
"repo": "workos/authkit-js",
"number": 118,
"title": "fix: add fetch timeout to prevent indefinite hangs",
"state": "open",
"additions": 31,
"deletions": 0,
"createdAt": "2026-05-15T18:29:24Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-session/pull/32",
"repo": "workos/authkit-session",
"number": 32,
"title": "fix: move @workos-inc/node to peerDependencies",
"state": "merged",
"additions": 11,
"deletions": 8,
"createdAt": "2026-05-11T16:30:39Z",
"mergedAt": "2026-05-11T16:58:31Z"
},
{
"url": "https://github.com/workos/cli/pull/150",
"repo": "workos/cli",
"number": 150,
"title": "ci: add PR title linting for conventional commits",
"state": "merged",
"additions": 16,
"deletions": 0,
"createdAt": "2026-05-13T15:42:12Z",
"mergedAt": "2026-05-13T16:06:57Z"
},
{
"url": "https://github.com/workos/cli/pull/151",
"repo": "workos/cli",
"number": 151,
"title": "fix: bump @workos/skills to 0.6.0",
"state": "merged",
"additions": 6,
"deletions": 6,
"createdAt": "2026-05-13T22:44:12Z",
"mergedAt": "2026-05-13T22:44:58Z"
},
{
"url": "https://github.com/workos/workos-migrations/pull/70",
"repo": "workos/workos-migrations",
"number": 70,
"title": "fix: npm publish OIDC auth and prettier CHANGELOG",
"state": "merged",
"additions": 2,
"deletions": 4,
"createdAt": "2026-05-13T16:16:44Z",
"mergedAt": "2026-05-13T16:19:42Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/83",
"repo": "workos/authkit-tanstack-start",
"number": 83,
"title": "fix: add @workos-inc/node as a peer dependency",
"state": "closed",
"additions": 4,
"deletions": 0,
"createdAt": "2026-05-11T16:34:18Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-react/pull/97",
"repo": "workos/authkit-react",
"number": 97,
"title": "fix: handle createClient rejection so isLoading resolves",
"state": "open",
"additions": 3,
"deletions": 0,
"createdAt": "2026-05-15T18:29:18Z",
"mergedAt": null
}
],
"summary": "The bulk of the week centered on `workos/case`, where PRs #8, #9, #10, and #11 built out a full pipeline-v2 system — adding an event log, AST enforcement, a DAG executor, a distributable CLI with subcommands, and repo-local portable state. Alongside that, `workos/cli` gained first-class interaction modes (#143), a `workos migrations` subcommand (#149), and PR title linting (#150), while `workos/workos-migrations` worked through several npm publish fixes (#65, #68, #70) to get the `@workos/migrations` package releasing cleanly. Auth work touched three libraries — `workos/authkit-session#33` deduplicates concurrent server-side token refresh calls, `workos/authkit-tanstack-start#85` eliminates a middleware bundle leak via lazy import, and `workos/authkit-js#118` adds a fetch timeout — and the `nicknisi/sessions` repo received a cluster of features around plugin support, activity digests, and binary embedding (#4, #6, #7, #9, #10)."
},
{
"weekEnding": "2026-05-10",
"pullRequests": [
{
"url": "https://github.com/nicknisi/diffdad/pull/31",
"repo": "nicknisi/diffdad",
"number": 31,
"title": "feat: Add narrative validation and error reporting",
"state": "merged",
"additions": 2936,
"deletions": 577,
"createdAt": "2026-05-06T20:55:41Z",
"mergedAt": "2026-05-06T23:00:23Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/22",
"repo": "nicknisi/diffdad",
"number": 22,
"title": "feat: research-grounded narrative overhaul — concerns, reading plan, streaming, eval",
"state": "merged",
"additions": 2739,
"deletions": 365,
"createdAt": "2026-05-04T12:30:23Z",
"mergedAt": "2026-05-05T15:44:39Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/9",
"repo": "nicknisi/claude-plugins",
"number": 9,
"title": "Add Pi compatibility package support",
"state": "merged",
"additions": 2768,
"deletions": 24,
"createdAt": "2026-05-06T16:30:32Z",
"mergedAt": "2026-05-06T16:55:48Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/29",
"repo": "nicknisi/diffdad",
"number": 29,
"title": "test: Add comprehensive test suite for CLI and core modules",
"state": "merged",
"additions": 2557,
"deletions": 19,
"createdAt": "2026-05-06T02:35:02Z",
"mergedAt": "2026-05-06T02:42:31Z"
},
{
"url": "https://github.com/workos/cli/pull/142",
"repo": "workos/cli",
"number": 142,
"title": "feat(api): add generic `workos api` gateway",
"state": "merged",
"additions": 2036,
"deletions": 2,
"createdAt": "2026-05-04T23:08:31Z",
"mergedAt": "2026-05-06T17:10:46Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/27",
"repo": "nicknisi/diffdad",
"number": 27,
"title": "feat(cli): add a recap tab for orienting on in-flight PRs",
"state": "merged",
"additions": 1631,
"deletions": 23,
"createdAt": "2026-05-05T19:37:31Z",
"mergedAt": "2026-05-05T20:27:52Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/26",
"repo": "nicknisi/diffdad",
"number": 26,
"title": "feat: Add multi-line comments, concern dismissal, and AI summary drafting",
"state": "merged",
"additions": 1120,
"deletions": 81,
"createdAt": "2026-05-05T17:39:59Z",
"mergedAt": "2026-05-05T20:11:52Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/23",
"repo": "nicknisi/diffdad",
"number": 23,
"title": "feat: live narrative progress, brevity, and defensive prompt caps",
"state": "merged",
"additions": 733,
"deletions": 52,
"createdAt": "2026-05-04T12:59:33Z",
"mergedAt": "2026-05-04T14:39:00Z"
},
{
"url": "https://github.com/workos/cli/pull/141",
"repo": "workos/cli",
"number": 141,
"title": "feat(completion): add shell autocompletion",
"state": "open",
"additions": 719,
"deletions": 8,
"createdAt": "2026-05-04T22:33:27Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-session/pull/31",
"repo": "workos/authkit-session",
"number": 31,
"title": "feat: drop cookie sealing with bidirectional migration",
"state": "open",
"additions": 489,
"deletions": 21,
"createdAt": "2026-05-06T19:20:59Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/diffdad/pull/32",
"repo": "nicknisi/diffdad",
"number": 32,
"title": "fix: cache narratives by prompt-relevant PR metadata, not just SHA",
"state": "merged",
"additions": 339,
"deletions": 45,
"createdAt": "2026-05-06T21:12:59Z",
"mergedAt": "2026-05-06T21:16:25Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/30",
"repo": "nicknisi/diffdad",
"number": 30,
"title": "feat: provider-keyed narrative cache and streaming partials",
"state": "merged",
"additions": 322,
"deletions": 56,
"createdAt": "2026-05-06T20:55:30Z",
"mergedAt": "2026-05-06T21:59:42Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/25",
"repo": "nicknisi/diffdad",
"number": 25,
"title": "chore: upgrade typescript to ^6 and add CI typecheck",
"state": "merged",
"additions": 264,
"deletions": 26,
"createdAt": "2026-05-05T02:31:49Z",
"mergedAt": "2026-05-05T04:00:04Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/424",
"repo": "workos/authkit-nextjs",
"number": 424,
"title": "refactor: drop cookie sealing with bidirectional migration",
"state": "open",
"additions": 203,
"deletions": 22,
"createdAt": "2026-05-07T21:55:22Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/diffdad/pull/35",
"repo": "nicknisi/diffdad",
"number": 35,
"title": "feat: dual-publish formula to homebrew-formulae",
"state": "merged",
"additions": 23,
"deletions": 12,
"createdAt": "2026-05-09T03:08:52Z",
"mergedAt": "2026-05-09T03:10:01Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/28",
"repo": "nicknisi/diffdad",
"number": 28,
"title": "fix(web): keep loading screen until narrative is fully generated",
"state": "merged",
"additions": 0,
"deletions": 17,
"createdAt": "2026-05-05T20:46:29Z",
"mergedAt": "2026-05-05T20:51:08Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/78",
"repo": "workos/authkit-tanstack-start",
"number": 78,
"title": "fix: add explicit types to implicit any params in server spec",
"state": "merged",
"additions": 6,
"deletions": 6,
"createdAt": "2026-05-04T11:47:51Z",
"mergedAt": "2026-05-04T13:25:47Z"
},
{
"url": "https://github.com/nicknisi/homebrew-diffdad/pull/1",
"repo": "nicknisi/homebrew-diffdad",
"number": 1,
"title": "chore: deprecate tap in favor of nicknisi/formulae",
"state": "closed",
"additions": 2,
"deletions": 0,
"createdAt": "2026-05-09T03:07:01Z",
"mergedAt": null
}
],
"summary": "A heavy week across two main tracks: the `nicknisi/diffdad` tool saw a wave of feature work including narrative validation (`#31`), a research-grounded narrative overhaul (`#22`), a recap tab for in-flight PR orientation (`#27`), multi-line comments and concern dismissal (`#26`), a provider-keyed narrative cache with streaming partials (`#30`), and a dual-publish Homebrew formula (`#35`), plus a comprehensive test suite (`#29`) and TypeScript 6 upgrade (`#25`). On the WorkOS side, `workos/cli#142` added a generic `workos api` gateway command, `workos/cli#141` opened shell autocompletion support, and `workos/authkit-session#31` along with `workos/authkit-nextjs#424` began dropping cookie sealing with bidirectional migration. `nicknisi/claude-plugins#9` added Pi compatibility package support and `workos/authkit-tanstack-start#78` fixed implicit `any` types in server specs."
},
{
"weekEnding": "2026-05-03",
"pullRequests": [
{
"url": "https://github.com/nicknisi/diffdad/pull/21",
"repo": "nicknisi/diffdad",
"number": 21,
"title": "feat: `dad watch` — narrate your branch as you go",
"state": "closed",
"additions": 4049,
"deletions": 82,
"createdAt": "2026-05-03T16:04:13Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/diffdad/pull/9",
"repo": "nicknisi/diffdad",
"number": 9,
"title": "feat: add @diffdad/site marketing site",
"state": "merged",
"additions": 2150,
"deletions": 39,
"createdAt": "2026-05-03T02:14:43Z",
"mergedAt": "2026-05-03T02:34:32Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/75",
"repo": "workos/authkit-tanstack-start",
"number": 75,
"title": "fix: eliminate server-side bundle leak via lazy handler bodies",
"state": "merged",
"additions": 609,
"deletions": 211,
"createdAt": "2026-04-30T14:06:36Z",
"mergedAt": "2026-05-01T21:16:26Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/4",
"repo": "nicknisi/diffdad",
"number": 4,
"title": "feat: accent themes, DadMark logo, and font upgrade",
"state": "merged",
"additions": 706,
"deletions": 52,
"createdAt": "2026-05-01T19:43:10Z",
"mergedAt": "2026-05-01T20:14:06Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/1",
"repo": "nicknisi/diffdad",
"number": 1,
"title": "fix: deduplicate hunks across chapters and fix comment overflow",
"state": "merged",
"additions": 407,
"deletions": 111,
"createdAt": "2026-05-01T16:30:10Z",
"mergedAt": "2026-05-01T16:42:53Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/74",
"repo": "workos/authkit-tanstack-start",
"number": 74,
"title": "feat(callback): centralize logging and add errorRedirectUrl option",
"state": "merged",
"additions": 265,
"deletions": 28,
"createdAt": "2026-04-29T20:22:22Z",
"mergedAt": "2026-05-01T21:16:51Z"
},
{
"url": "https://github.com/workos/cli/pull/139",
"repo": "workos/cli",
"number": 139,
"title": "fix: prevent workos auth login from hanging indefinitely",
"state": "merged",
"additions": 73,
"deletions": 159,
"createdAt": "2026-04-30T17:16:19Z",
"mergedAt": "2026-04-30T20:19:46Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/19",
"repo": "nicknisi/diffdad",
"number": 19,
"title": "feat(cli): add `dad config show` and `dad config reset`",
"state": "merged",
"additions": 158,
"deletions": 4,
"createdAt": "2026-05-03T05:12:16Z",
"mergedAt": "2026-05-03T05:13:25Z"
},
{
"url": "https://github.com/workos/cli/pull/134",
"repo": "workos/cli",
"number": 134,
"title": "Fix webhook list empty URL column and truncate long event lists",
"state": "merged",
"additions": 111,
"deletions": 28,
"createdAt": "2026-04-28T13:58:54Z",
"mergedAt": "2026-04-28T22:11:40Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/17",
"repo": "nicknisi/diffdad",
"number": 17,
"title": "feat(cli): configurable default CLI and per-CLI model",
"state": "merged",
"additions": 99,
"deletions": 32,
"createdAt": "2026-05-03T05:05:13Z",
"mergedAt": "2026-05-03T05:13:42Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/3",
"repo": "nicknisi/diffdad",
"number": 3,
"title": "fix: submit draft comments with review via GitHub review API",
"state": "merged",
"additions": 107,
"deletions": 19,
"createdAt": "2026-05-01T18:08:25Z",
"mergedAt": "2026-05-01T18:30:10Z"
},
{
"url": "https://github.com/workos/cli/pull/137",
"repo": "workos/cli",
"number": 137,
"title": "fix: --api-key flag takes precedence over WORKOS_API_KEY env var",
"state": "merged",
"additions": 95,
"deletions": 18,
"createdAt": "2026-04-30T15:47:11Z",
"mergedAt": "2026-04-30T16:22:39Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/10",
"repo": "nicknisi/diffdad",
"number": 10,
"title": "ci: automate releases with release-please",
"state": "merged",
"additions": 56,
"deletions": 45,
"createdAt": "2026-05-03T03:20:50Z",
"mergedAt": "2026-05-03T03:28:35Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/13",
"repo": "nicknisi/diffdad",
"number": 13,
"title": "fix: anchor inline comments to the changed line, not the context above",
"state": "merged",
"additions": 33,
"deletions": 24,
"createdAt": "2026-05-03T04:24:17Z",
"mergedAt": "2026-05-03T04:24:45Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/11",
"repo": "nicknisi/diffdad",
"number": 11,
"title": "fix: enable horizontal scroll for long diff lines",
"state": "merged",
"additions": 31,
"deletions": 22,
"createdAt": "2026-05-03T04:13:54Z",
"mergedAt": "2026-05-03T04:23:17Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/12",
"repo": "nicknisi/diffdad",
"number": 12,
"title": "feat(site): add social share images and OG/Twitter meta",
"state": "merged",
"additions": 35,
"deletions": 10,
"createdAt": "2026-05-03T04:14:51Z",
"mergedAt": "2026-05-03T04:31:58Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/18",
"repo": "nicknisi/diffdad",
"number": 18,
"title": "fix: allow commenting on removed lines (closes #7)",
"state": "merged",
"additions": 28,
"deletions": 9,
"createdAt": "2026-05-03T05:10:36Z",
"mergedAt": "2026-05-03T05:21:19Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/2",
"repo": "nicknisi/diffdad",
"number": 2,
"title": "fix: live-update PR metadata over SSE",
"state": "merged",
"additions": 24,
"deletions": 0,
"createdAt": "2026-05-01T17:28:46Z",
"mergedAt": "2026-05-01T17:32:33Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/16",
"repo": "nicknisi/diffdad",
"number": 16,
"title": "fix(site): replace social images with correct full-fidelity renders",
"state": "merged",
"additions": 15,
"deletions": 0,
"createdAt": "2026-05-03T05:05:12Z",
"mergedAt": "2026-05-03T05:23:13Z"
},
{
"url": "https://github.com/nicknisi/diffdad/pull/14",
"repo": "nicknisi/diffdad",
"number": 14,
"title": "fix: track repo at root with exclude-paths",
"state": "merged",
"additions": 12,
"deletions": 3,
"createdAt": "2026-05-03T04:44:02Z",
"mergedAt": "2026-05-03T04:45:45Z"
},
{
"url": "https://github.com/workos/authkit-react-router/pull/70",
"repo": "workos/authkit-react-router",
"number": 70,
"title": "v0.11.0",
"state": "merged",
"additions": 6,
"deletions": 4,
"createdAt": "2026-04-27T22:02:15Z",
"mergedAt": "2026-04-28T19:49:50Z"
}
],
"summary": "Work spanned two public repos alongside heavier sessions in internal projects. `workos/cli#134` fixed a display bug in the webhook list command — patching an empty URL column and adding truncation for long event lists. `workos/authkit-react-router#70` cut v0.11.0 with a small change, while the bulk of token activity fell on two private projects and dotfiles work."
},
{
"weekEnding": "2026-04-26",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-session/pull/25",
"repo": "workos/authkit-session",
"number": 25,
"title": "feat!: storage-owned PKCE verifier cookie with OAuth state binding",
"state": "merged",
"additions": 2752,
"deletions": 495,
"createdAt": "2026-04-17T22:16:29Z",
"mergedAt": "2026-04-20T21:57:02Z"
},
{
"url": "https://github.com/workos/cli/pull/130",
"repo": "workos/cli",
"number": 130,
"title": "feat: complete WorkOS skill install + refresh loop with doctor --fix",
"state": "merged",
"additions": 1283,
"deletions": 57,
"createdAt": "2026-04-26T14:09:24Z",
"mergedAt": "2026-04-26T22:42:52Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/66",
"repo": "workos/authkit-tanstack-start",
"number": 66,
"title": "feat!: PKCE state binding + storage-owned verifier cookies (authkit-session 0.4.0)",
"state": "merged",
"additions": 833,
"deletions": 484,
"createdAt": "2026-04-18T15:49:44Z",
"mergedAt": "2026-04-22T21:52:25Z"
},
{
"url": "https://github.com/workos/authkit-sveltekit/pull/16",
"repo": "workos/authkit-sveltekit",
"number": 16,
"title": "feat!: PKCE state binding + storage-owned verifier cookies (authkit-session 0.4.0)",
"state": "merged",
"additions": 786,
"deletions": 273,
"createdAt": "2026-04-17T22:29:13Z",
"mergedAt": "2026-04-22T21:21:34Z"
},
{
"url": "https://github.com/workos/skills/pull/25",
"repo": "workos/skills",
"number": 25,
"title": "fix(workos): tighten auth guidance and risky eval reruns",
"state": "merged",
"additions": 781,
"deletions": 86,
"createdAt": "2026-04-24T16:17:02Z",
"mergedAt": "2026-04-26T14:06:36Z"
},
{
"url": "https://github.com/workos/skills/pull/19",
"repo": "workos/skills",
"number": 19,
"title": "feat: add FGA, Pipes, Feature Flags, and Radar references + evals",
"state": "merged",
"additions": 703,
"deletions": 4,
"createdAt": "2026-04-14T17:21:26Z",
"mergedAt": "2026-04-27T03:20:23Z"
},
{
"url": "https://github.com/workos/cli/pull/125",
"repo": "workos/cli",
"number": 125,
"title": "fix: unbreak non-JS integration install flow (Django, .NET, Kotlin + others)",
"state": "merged",
"additions": 526,
"deletions": 143,
"createdAt": "2026-04-23T01:06:32Z",
"mergedAt": "2026-04-23T02:15:10Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/27",
"repo": "workos/authkit-session",
"number": 27,
"title": "feat!: per-flow PKCE verifier cookies + pure URL helpers (0.5.0)",
"state": "merged",
"additions": 468,
"deletions": 146,
"createdAt": "2026-04-23T01:29:31Z",
"mergedAt": "2026-04-23T16:13:51Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/68",
"repo": "workos/authkit-tanstack-start",
"number": 68,
"title": "Adopt per-flow PKCE cookies (authkit-session 0.5.1)",
"state": "merged",
"additions": 241,
"deletions": 97,
"createdAt": "2026-04-23T21:19:54Z",
"mergedAt": "2026-04-24T21:49:01Z"
},
{
"url": "https://github.com/workos/cli/pull/128",
"repo": "workos/cli",
"number": 128,
"title": "fix: improve installer auth recovery",
"state": "merged",
"additions": 156,
"deletions": 57,
"createdAt": "2026-04-24T01:50:57Z",
"mergedAt": "2026-04-24T03:12:47Z"
},
{
"url": "https://github.com/workos/skills/pull/23",
"repo": "workos/skills",
"number": 23,
"title": "feat(workos): close off CLI- and Dashboard-path fabrication",
"state": "merged",
"additions": 195,
"deletions": 12,
"createdAt": "2026-04-24T03:58:46Z",
"mergedAt": "2026-04-24T03:59:55Z"
},
{
"url": "https://github.com/workos/skills/pull/21",
"repo": "workos/skills",
"number": 21,
"title": "feat(workos): add terminology reference for docs URL lookups",
"state": "merged",
"additions": 168,
"deletions": 5,
"createdAt": "2026-04-20T20:34:58Z",
"mergedAt": "2026-04-20T21:08:05Z"
},
{
"url": "https://github.com/workos/authkit-sveltekit/pull/17",
"repo": "workos/authkit-sveltekit",
"number": 17,
"title": "feat(auth): adopt per-flow PKCE cookies (authkit-session 0.5.1)",
"state": "merged",
"additions": 115,
"deletions": 54,
"createdAt": "2026-04-23T18:34:30Z",
"mergedAt": "2026-04-24T23:13:54Z"
},
{
"url": "https://github.com/workos/skills/pull/26",
"repo": "workos/skills",
"number": 26,
"title": "feat(workos): add CLI upgrade-path topic and tarball smoke test",
"state": "merged",
"additions": 154,
"deletions": 4,
"createdAt": "2026-04-26T20:03:21Z",
"mergedAt": "2026-04-26T20:44:04Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/29",
"repo": "workos/authkit-session",
"number": 29,
"title": "test: integration coverage for hostile returnPathname sanitization (CWE-601)",
"state": "open",
"additions": 33,
"deletions": 0,
"createdAt": "2026-04-24T16:53:42Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/402",
"repo": "workos/authkit-nextjs",
"number": 402,
"title": "docs: add sign-in endpoint setup and impersonation requirements",
"state": "merged",
"additions": 29,
"deletions": 0,
"createdAt": "2026-04-09T10:20:34Z",
"mergedAt": "2026-04-20T20:05:24Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/406",
"repo": "workos/authkit-nextjs",
"number": 406,
"title": "fix: set PKCE cookie in ensureSignedIn server action flow",
"state": "merged",
"additions": 9,
"deletions": 14,
"createdAt": "2026-04-20T19:51:19Z",
"mergedAt": "2026-04-20T20:26:41Z"
},
{
"url": "https://github.com/workos/authkit-sveltekit/pull/18",
"repo": "workos/authkit-sveltekit",
"number": 18,
"title": "chore: release 0.3.0",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2026-04-24T23:21:19Z",
"mergedAt": "2026-04-24T23:22:11Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/71",
"repo": "workos/authkit-tanstack-start",
"number": 71,
"title": "feat(pkce)!: retroactively classify #68 for release-please (targets 0.7.0)",
"state": "merged",
"additions": 2,
"deletions": 0,
"createdAt": "2026-04-24T22:10:53Z",
"mergedAt": "2026-04-24T22:12:45Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/28",
"repo": "workos/authkit-session",
"number": 28,
"title": "v0.5.1",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2026-04-24T16:41:22Z",
"mergedAt": "2026-04-24T19:35:27Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/70",
"repo": "workos/authkit-tanstack-start",
"number": 70,
"title": "feat(pkce)!: retroactively classify #68 for release-please (targets 0.7.0)",
"state": "merged",
"additions": 0,
"deletions": 0,
"createdAt": "2026-04-24T22:04:31Z",
"mergedAt": "2026-04-24T22:05:22Z"
}
],
"summary": "A heavy week centered on hardening the PKCE OAuth flow across the WorkOS authkit ecosystem: `workos/authkit-session` saw two breaking releases (`#25`, `#27`) introducing storage-owned verifier cookies, per-flow cookie scoping, and pure URL helpers, which then propagated into `workos/authkit-tanstack-start` (`#66`, `#68`), `workos/authkit-sveltekit` (`#16`, `#17`), and `workos/authkit-nextjs` (`#406`). On the CLI side, `workos/cli` picked up a complete WorkOS skill install and refresh loop with doctor `--fix` (`#130`), a fix for non-JS integration installs covering Django, .NET, and Kotlin (`#125`), and improved installer auth recovery (`#128`). The `workos/skills` repo also received a cluster of additions and tightening: FGA, Pipes, Feature Flags, and Radar references (`#19`), stricter auth guidance and eval rerun controls (`#25`), CLI and Dashboard fabrication guardrails (`#23`), and a new CLI upgrade-path topic (`#26`)."
},
{
"weekEnding": "2026-04-19",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-session/pull/22",
"repo": "workos/authkit-session",
"number": 22,
"title": "chore: migrate from prettier to oxfmt and add oxlint",
"state": "merged",
"additions": 486,
"deletions": 53,
"createdAt": "2026-03-29T22:38:55Z",
"mergedAt": "2026-04-16T18:56:33Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/24",
"repo": "workos/authkit-session",
"number": 24,
"title": "fix: sanitize returnPathname decoded from OAuth state (CWE-601)",
"state": "closed",
"additions": 150,
"deletions": 6,
"createdAt": "2026-04-16T20:07:32Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-sveltekit/pull/15",
"repo": "workos/authkit-sveltekit",
"number": 15,
"title": "fix: prevent open redirect in OAuth callback (CWE-601)",
"state": "closed",
"additions": 89,
"deletions": 2,
"createdAt": "2026-04-16T19:52:06Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/skills/pull/16",
"repo": "workos/skills",
"number": 16,
"title": "chore: add Cursor plugin support alongside Claude Code plugin",
"state": "merged",
"additions": 56,
"deletions": 3,
"createdAt": "2026-04-13T21:06:40Z",
"mergedAt": "2026-04-13T21:12:41Z"
},
{
"url": "https://github.com/workos/skills/pull/17",
"repo": "workos/skills",
"number": 17,
"title": "fix: tighten skill descriptions for more reliable triggering",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2026-04-13T21:13:47Z",
"mergedAt": "2026-04-13T21:14:17Z"
}
],
"summary": "Security hardening and cross-framework work dominated the week, with open-redirect fixes landing in `workos/authkit-session#24` and `workos/authkit-sveltekit#15` (both CWE-601) and substantial session-related work also touching `authkit-tanstack-start` and `authkit-react-router`. Telemetry and crash reporting were wired into `workos/cli#122`, while `workos/authkit-session#22` migrated formatting and linting to oxfmt and oxlint. The `workos/skills` repo saw a cluster of plugin ecosystem additions—Cursor in `#16`, Codex in `#20`—alongside a small fix in `#17` to improve skill description reliability."
},
{
"weekEnding": "2026-04-12",
"pullRequests": [
{
"url": "https://github.com/nicknisi/claude-plugins/pull/8",
"repo": "nicknisi/claude-plugins",
"number": 8,
"title": "feat(content): tool-agnostic conference-talk-builder with 22 narrative frameworks",
"state": "merged",
"additions": 3644,
"deletions": 468,
"createdAt": "2026-04-06T18:49:46Z",
"mergedAt": "2026-04-06T18:50:10Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/401",
"repo": "workos/authkit-nextjs",
"number": 401,
"title": "fix: allow dashboard impersonation to bypass PKCE/CSRF verification",
"state": "closed",
"additions": 158,
"deletions": 18,
"createdAt": "2026-04-08T14:34:05Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/64",
"repo": "workos/authkit-tanstack-start",
"number": 64,
"title": "ci: add release-please for automated releases",
"state": "merged",
"additions": 52,
"deletions": 14,
"createdAt": "2026-04-09T15:27:35Z",
"mergedAt": "2026-04-09T17:14:44Z"
}
],
"summary": "The bulk of work touched two areas: a tool-agnostic conference talk builder landed in `nicknisi/claude-plugins#8`, introducing 22 narrative frameworks alongside a large content expansion, while `workos/authkit-nextjs#401` addressed a fix allowing dashboard impersonation to bypass PKCE/CSRF verification. Alongside those public PRs, heavy session activity ran across internal projects and dotfiles, with lighter exploration in `authkit-tanstack-start` and related WorkOS tooling."
},
{
"weekEnding": "2026-04-05",
"pullRequests": [
{
"url": "https://github.com/workos/workos-custom-ui-authkit-example/pull/1",
"repo": "workos/workos-custom-ui-authkit-example",
"number": 1,
"title": "Modernize toolchain and convert server to Hono + TypeScript",
"state": "merged",
"additions": 5285,
"deletions": 6863,
"createdAt": "2026-04-02T20:54:31Z",
"mergedAt": "2026-04-02T21:07:33Z"
},
{
"url": "https://github.com/workos/cli/pull/107",
"repo": "workos/cli",
"number": 107,
"title": "refactor: emulator simplification — shared infra, domain helpers, server efficiency",
"state": "merged",
"additions": 761,
"deletions": 1126,
"createdAt": "2026-03-27T15:09:47Z",
"mergedAt": "2026-03-30T15:11:45Z"
},
{
"url": "https://github.com/nicknisi/dotfiles/pull/248",
"repo": "nicknisi/dotfiles",
"number": 248,
"title": "feat(tmux): unified agent orchestration with dashboard overhaul",
"state": "merged",
"additions": 522,
"deletions": 308,
"createdAt": "2026-03-30T14:20:59Z",
"mergedAt": "2026-03-30T14:22:20Z"
},
{
"url": "https://github.com/workos/skills/pull/13",
"repo": "workos/skills",
"number": 13,
"title": "fix: harden Next.js AuthKit skill against Server Component cookie violations",
"state": "merged",
"additions": 510,
"deletions": 274,
"createdAt": "2026-03-30T19:06:04Z",
"mergedAt": "2026-03-31T20:11:27Z"
},
{
"url": "https://github.com/workos/cli/pull/111",
"repo": "workos/cli",
"number": 111,
"title": "fix: prevent registerSubcommand from injecting false positional args",
"state": "merged",
"additions": 289,
"deletions": 49,
"createdAt": "2026-03-31T16:32:43Z",
"mergedAt": "2026-03-31T20:04:27Z"
},
{
"url": "https://github.com/workos/cli/pull/118",
"repo": "workos/cli",
"number": 118,
"title": "fix: detect service unavailability and fail fast with clear error",
"state": "merged",
"additions": 211,
"deletions": 9,
"createdAt": "2026-04-02T22:00:01Z",
"mergedAt": "2026-04-03T15:38:49Z"
},
{
"url": "https://github.com/workos/cli/pull/110",
"repo": "workos/cli",
"number": 110,
"title": "fix: add NextjsGrader check for getSignInUrl in Server Components",
"state": "merged",
"additions": 205,
"deletions": 6,
"createdAt": "2026-03-30T19:06:52Z",
"mergedAt": "2026-03-31T21:23:36Z"
},
{
"url": "https://github.com/workos/cli/pull/115",
"repo": "workos/cli",
"number": 115,
"title": "fix: skip device auth when unclaimed environment is active",
"state": "merged",
"additions": 57,
"deletions": 1,
"createdAt": "2026-04-01T16:45:55Z",
"mergedAt": "2026-04-01T16:54:30Z"
},
{
"url": "https://github.com/workos/cli/pull/114",
"repo": "workos/cli",
"number": 114,
"title": "chore: hide emulator commands and restore stable versioning",
"state": "merged",
"additions": 11,
"deletions": 33,
"createdAt": "2026-03-31T21:51:51Z",
"mergedAt": "2026-03-31T21:54:39Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1540",
"repo": "workos/workos-node",
"number": 1540,
"title": "fix: replace node:events with eventemitter3 in runtime client",
"state": "merged",
"additions": 24,
"deletions": 13,
"createdAt": "2026-04-04T14:13:34Z",
"mergedAt": "2026-04-04T19:10:23Z"
},
{
"url": "https://github.com/workos/cli/pull/113",
"repo": "workos/cli",
"number": 113,
"title": "fix: stop reading WORKOS_CLIENT_ID for CLI auth",
"state": "merged",
"additions": 1,
"deletions": 11,
"createdAt": "2026-03-31T21:14:59Z",
"mergedAt": "2026-03-31T21:21:29Z"
},
{
"url": "https://github.com/workos/skills/pull/15",
"repo": "workos/skills",
"number": 15,
"title": "docs: clarify that references are not standalone skills",
"state": "merged",
"additions": 9,
"deletions": 0,
"createdAt": "2026-04-03T17:14:24Z",
"mergedAt": "2026-04-03T17:18:17Z"
}
],
"summary": "Work spanned `workos/cli`, `workos/skills`, `workos/workos-node`, and `nicknisi/dotfiles` with a focus on emulator infrastructure and AuthKit correctness. `workos/cli#107` refactored emulator shared infrastructure and domain helpers with a net reduction of over 300 lines, while `workos/cli#111` and `workos/cli#115` fixed positional arg injection and device auth bypass edge cases; `workos/skills#13` and `workos/cli#110` hardened the Next.js AuthKit skill against Server Component cookie violations by adding a `getSignInUrl` grader check. `workos/workos-node#1540` swapped `node:events` for `eventemitter3` to fix runtime compatibility, and `nicknisi/dotfiles#248` overhauled tmux config around unified agent orchestration; session activity also touched several private projects alongside `authkit-react`, `authkit-nextjs`, and `authkit-tanstack-start`."
},
{
"weekEnding": "2026-03-29",
"pullRequests": [
{
"url": "https://github.com/workos/cli/pull/100",
"repo": "workos/cli",
"number": 100,
"title": "feat: full WorkOS API emulator (emulate, dev, RBAC, webhooks, events, 84% API coverage)",
"state": "merged",
"additions": 13431,
"deletions": 9,
"createdAt": "2026-03-24T23:16:02Z",
"mergedAt": "2026-03-26T00:43:42Z"
},
{
"url": "https://github.com/workos/case/pull/7",
"repo": "workos/case",
"number": 7,
"title": "feat(pipeline): implement Harness 2.0 — iterative evaluation, adaptive profiles, and ablation metrics",
"state": "merged",
"additions": 3501,
"deletions": 69,
"createdAt": "2026-03-28T16:54:51Z",
"mergedAt": "2026-03-29T00:31:34Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/397",
"repo": "workos/authkit-nextjs",
"number": 397,
"title": "chore: switch from prettier/eslint to oxfmt/oxlint",
"state": "merged",
"additions": 656,
"deletions": 2079,
"createdAt": "2026-03-24T14:59:23Z",
"mergedAt": "2026-03-25T15:29:45Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/399",
"repo": "workos/authkit-nextjs",
"number": 399,
"title": "feat: add E2E integration tests with WorkOS emulator",
"state": "closed",
"additions": 1738,
"deletions": 45,
"createdAt": "2026-03-26T04:11:40Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-session/pull/21",
"repo": "workos/authkit-session",
"number": 21,
"title": "chore: migrate from Prettier to oxfmt",
"state": "closed",
"additions": 342,
"deletions": 380,
"createdAt": "2026-03-29T16:17:57Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/case/pull/6",
"repo": "workos/case",
"number": 6,
"title": "feat(tracing): add per-run tool-level trace logging",
"state": "merged",
"additions": 322,
"deletions": 3,
"createdAt": "2026-03-28T15:01:38Z",
"mergedAt": "2026-03-28T15:02:18Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/396",
"repo": "workos/authkit-nextjs",
"number": 396,
"title": "chore: upgrade to TypeScript 6",
"state": "merged",
"additions": 103,
"deletions": 175,
"createdAt": "2026-03-24T14:07:45Z",
"mergedAt": "2026-03-24T16:17:35Z"
},
{
"url": "https://github.com/workos/authkit-react/pull/89",
"repo": "workos/authkit-react",
"number": 89,
"title": "chore: add release-please automation and replace coana with socket",
"state": "merged",
"additions": 144,
"deletions": 117,
"createdAt": "2026-03-24T17:19:01Z",
"mergedAt": "2026-03-24T19:01:26Z"
},
{
"url": "https://github.com/workos/authkit-js/pull/113",
"repo": "workos/authkit-js",
"number": 113,
"title": "chore: update CI workflows with release-please, PR linting, and Socket analysis",
"state": "merged",
"additions": 140,
"deletions": 113,
"createdAt": "2026-03-24T17:15:02Z",
"mergedAt": "2026-03-24T19:01:38Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/398",
"repo": "workos/authkit-nextjs",
"number": 398,
"title": "fix: harden PKCE/CSRF for v3.0.0 release",
"state": "merged",
"additions": 162,
"deletions": 35,
"createdAt": "2026-03-25T17:53:46Z",
"mergedAt": "2026-03-25T18:59:49Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/386",
"repo": "workos/authkit-nextjs",
"number": 386,
"title": "fix(auth): return signInUrl from server actions to avoid CORS errors",
"state": "merged",
"additions": 184,
"deletions": 9,
"createdAt": "2026-03-10T14:28:08Z",
"mergedAt": "2026-03-23T17:49:20Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/7",
"repo": "nicknisi/claude-plugins",
"number": 7,
"title": "feat(ideation): anti-sycophancy rules, failure modes, and contract lineage",
"state": "merged",
"additions": 107,
"deletions": 32,
"createdAt": "2026-03-28T14:54:55Z",
"mergedAt": "2026-03-28T14:55:28Z"
},
{
"url": "https://github.com/workos/cli/pull/101",
"repo": "workos/cli",
"number": 101,
"title": "feat: enable beta prerelease versioning",
"state": "merged",
"additions": 22,
"deletions": 2,
"createdAt": "2026-03-26T00:12:51Z",
"mergedAt": "2026-03-26T00:31:43Z"
},
{
"url": "https://github.com/workos/authkit-js/pull/114",
"repo": "workos/authkit-js",
"number": 114,
"title": "feat: support multi-app cookies and scoped storage keys",
"state": "merged",
"additions": 4,
"deletions": 1,
"createdAt": "2026-03-24T21:42:15Z",
"mergedAt": "2026-03-24T21:46:22Z"
},
{
"url": "https://github.com/workos/cli/pull/104",
"repo": "workos/cli",
"number": 104,
"title": "fix: use prerelease versioning strategy for beta releases",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2026-03-26T00:49:38Z",
"mergedAt": "2026-03-26T00:50:51Z"
}
],
"summary": "The heaviest lift was `workos/cli#100`, which shipped a full WorkOS API emulator with RBAC, webhook, and event support at 84% API coverage, alongside `workos/cli#101` and `workos/cli#104` wiring up beta prerelease versioning. On the authkit side, `workos/authkit-nextjs#396` upgraded to TypeScript 6, `workos/authkit-nextjs#398` hardened PKCE/CSRF for the v3.0.0 release, `workos/authkit-nextjs#386` fixed a CORS issue in server actions, and `workos/authkit-nextjs#397` swapped Prettier/ESLint for oxfmt/oxlint — with parallel linting/CI hygiene applied to `workos/authkit-react#89` and `workos/authkit-js#113` as well. `workos/case#6` added per-run tool-level trace logging and `workos/case#7` landed Harness 2.0, an iterative evaluation pipeline with adaptive profiles and ablation metrics."
},
{
"weekEnding": "2026-03-22",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-nextjs/pull/388",
"repo": "workos/authkit-nextjs",
"number": 388,
"title": "feat!: add OAuth state verification on callback to prevent CSRF attacks",
"state": "merged",
"additions": 481,
"deletions": 333,
"createdAt": "2026-03-12T04:34:58Z",
"mergedAt": "2026-03-20T22:12:33Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/56",
"repo": "workos/authkit-tanstack-start",
"number": 56,
"title": "chore: replace prettier with oxfmt and oxlint",
"state": "merged",
"additions": 457,
"deletions": 139,
"createdAt": "2026-03-11T15:16:23Z",
"mergedAt": "2026-03-20T00:04:32Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/20",
"repo": "workos/authkit-session",
"number": 20,
"title": "feat(session): add configurable session encoding with migration support",
"state": "closed",
"additions": 405,
"deletions": 19,
"createdAt": "2026-03-17T04:24:49Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/96",
"repo": "workos/cli",
"number": 96,
"title": "fix: improve installer error handling, env var uploads, and port detection",
"state": "open",
"additions": 408,
"deletions": 14,
"createdAt": "2026-03-16T22:28:52Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/94",
"repo": "workos/cli",
"number": 94,
"title": "fix: auto-install skills to coding agents after install",
"state": "merged",
"additions": 210,
"deletions": 2,
"createdAt": "2026-03-16T14:38:13Z",
"mergedAt": "2026-03-16T14:44:39Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/383",
"repo": "workos/authkit-nextjs",
"number": 383,
"title": "fix(actions): catch TokenRefreshError in refreshAccessTokenAction to prevent 500s",
"state": "merged",
"additions": 97,
"deletions": 39,
"createdAt": "2026-03-08T16:48:16Z",
"mergedAt": "2026-03-20T00:35:18Z"
},
{
"url": "https://github.com/workos/cli/pull/97",
"repo": "workos/cli",
"number": 97,
"title": "fix: add `workos seed --init` to scaffold example seed file",
"state": "merged",
"additions": 126,
"deletions": 4,
"createdAt": "2026-03-17T16:15:34Z",
"mergedAt": "2026-03-17T17:06:06Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/391",
"repo": "workos/authkit-nextjs",
"number": 391,
"title": "chore: split tsconfig into app/test project references",
"state": "merged",
"additions": 81,
"deletions": 45,
"createdAt": "2026-03-13T00:58:03Z",
"mergedAt": "2026-03-20T22:13:00Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/384",
"repo": "workos/authkit-nextjs",
"number": 384,
"title": "feat(middleware): add authkitProxy and handleAuthkitProxy aliases for proxy.ts",
"state": "merged",
"additions": 57,
"deletions": 10,
"createdAt": "2026-03-09T00:04:28Z",
"mergedAt": "2026-03-20T16:27:03Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1527",
"repo": "workos/workos-node",
"number": 1527,
"title": "fix(vault): forward order and before params in listObjects",
"state": "merged",
"additions": 63,
"deletions": 3,
"createdAt": "2026-03-19T14:30:02Z",
"mergedAt": "2026-03-19T16:10:00Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/55",
"repo": "workos/authkit-tanstack-start",
"number": 55,
"title": "fix(session): use auth context refresh token instead of stale request cookie",
"state": "merged",
"additions": 46,
"deletions": 16,
"createdAt": "2026-03-08T17:06:22Z",
"mergedAt": "2026-03-20T22:11:03Z"
},
{
"url": "https://github.com/workos/cli/pull/93",
"repo": "workos/cli",
"number": 93,
"title": "refactor: move claim to `workos env claim` subcommand",
"state": "merged",
"additions": 33,
"deletions": 23,
"createdAt": "2026-03-16T14:15:02Z",
"mergedAt": "2026-03-16T14:16:43Z"
},
{
"url": "https://github.com/workos/cli/pull/99",
"repo": "workos/cli",
"number": 99,
"title": "ci: add Socket Tier 1 Reachability Analysis workflow",
"state": "merged",
"additions": 40,
"deletions": 0,
"createdAt": "2026-03-19T15:07:23Z",
"mergedAt": "2026-03-19T15:18:46Z"
},
{
"url": "https://github.com/workos/skills/pull/10",
"repo": "workos/skills",
"number": 10,
"title": "fix: broaden skill description for more reliable triggering",
"state": "merged",
"additions": 27,
"deletions": 1,
"createdAt": "2026-03-16T22:28:58Z",
"mergedAt": "2026-03-17T22:29:59Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1524",
"repo": "workos/workos-node",
"number": 1524,
"title": "fix(events): add missing order parameter to listEvents",
"state": "merged",
"additions": 16,
"deletions": 0,
"createdAt": "2026-03-18T14:48:01Z",
"mergedAt": "2026-03-18T19:00:59Z"
}
],
"summary": "A busy week centered on auth hardening and CLI tooling across the WorkOS ecosystem. On the auth side, `workos/authkit-nextjs#388` added OAuth state verification to prevent CSRF attacks on the callback route, `workos/authkit-nextjs#383` caught `TokenRefreshError` in `refreshAccessTokenAction` to stop unhandled 500s, and `workos/authkit-session#20` introduced configurable session encoding with migration support; `workos/authkit-nextjs#384` also added `authkitProxy` aliases in the middleware layer. The `workos/cli` work covered auto-installing skills to coding agents on install (`#94`), a `--init` flag for scaffolding seed files (`#97`), a refactor moving claim logic under `workos env claim` (`#93`), and a Socket Tier 1 Reachability Analysis CI workflow (`#99`), while `workos/workos-node` picked up two parameter-forwarding fixes in the vault and events APIs (`#1527`, `#1524`)."
},
{
"weekEnding": "2026-03-15",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-nextjs/pull/374",
"repo": "workos/authkit-nextjs",
"number": 374,
"title": "feat: add PKCE support for OAuth 2.1 compliance",
"state": "merged",
"additions": 5091,
"deletions": 4004,
"createdAt": "2026-02-24T18:31:03Z",
"mergedAt": "2026-03-11T15:34:23Z"
},
{
"url": "https://github.com/workos/cli/pull/91",
"repo": "workos/cli",
"number": 91,
"title": "feat: add zero-auth install flow with claim command",
"state": "merged",
"additions": 3517,
"deletions": 77,
"createdAt": "2026-03-10T23:32:55Z",
"mergedAt": "2026-03-13T16:30:31Z"
},
{
"url": "https://github.com/workos/cli/pull/88",
"repo": "workos/cli",
"number": 88,
"title": "feat: consume skills from @workos/skills package",
"state": "merged",
"additions": 148,
"deletions": 3300,
"createdAt": "2026-03-07T21:24:32Z",
"mergedAt": "2026-03-09T16:46:17Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/54",
"repo": "workos/authkit-tanstack-start",
"number": 54,
"title": "feat: add Impersonation component",
"state": "merged",
"additions": 438,
"deletions": 1,
"createdAt": "2026-02-20T21:12:13Z",
"mergedAt": "2026-03-11T15:02:58Z"
},
{
"url": "https://github.com/workos/cli/pull/89",
"repo": "workos/cli",
"number": 89,
"title": "fix(auth): auto-provision staging environment after login",
"state": "merged",
"additions": 238,
"deletions": 1,
"createdAt": "2026-03-09T21:04:02Z",
"mergedAt": "2026-03-10T19:14:47Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/58",
"repo": "workos/authkit-tanstack-start",
"number": 58,
"title": "fix(client): remove unconditional useNavigate call from AuthKitProvider",
"state": "closed",
"additions": 66,
"deletions": 60,
"createdAt": "2026-03-12T00:20:12Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/392",
"repo": "workos/authkit-nextjs",
"number": 392,
"title": "fix: make PKCE opt-in to avoid breaking custom middleware proxies",
"state": "merged",
"additions": 44,
"deletions": 39,
"createdAt": "2026-03-13T01:42:34Z",
"mergedAt": "2026-03-13T01:54:29Z"
}
],
"summary": "Work spanned CLI tooling, AuthKit integrations, and auth protocol changes across several repos. The `workos/cli` saw the most activity, with `#91` adding a zero-auth install flow with a claim command and `#88` migrating skills consumption to the `@workos/skills` package. `workos/authkit-tanstack-start#54` added an Impersonation component, while `workos/authkit-nextjs#392` made PKCE opt-in to avoid breaking custom middleware proxies."
},
{
"weekEnding": "2026-03-08",
"pullRequests": [
{
"url": "https://github.com/workos/skills/pull/4",
"repo": "workos/skills",
"number": 4,
"title": "feat: add workos-widgets skill with on-demand OpenAPI spec querying",
"state": "merged",
"additions": 12441,
"deletions": 282,
"createdAt": "2026-03-06T16:02:33Z",
"mergedAt": "2026-03-06T20:07:46Z"
},
{
"url": "https://github.com/workos/cli/pull/76",
"repo": "workos/cli",
"number": 76,
"title": "feat: CLI management commands for all WorkOS resources",
"state": "merged",
"additions": 11768,
"deletions": 509,
"createdAt": "2026-03-03T00:26:24Z",
"mergedAt": "2026-03-04T00:05:48Z"
},
{
"url": "https://github.com/workos/skills/pull/5",
"repo": "workos/skills",
"number": 5,
"title": "Replace generation pipeline with lean topic files (doc URLs + gotchas)",
"state": "merged",
"additions": 556,
"deletions": 10183,
"createdAt": "2026-03-06T22:49:26Z",
"mergedAt": "2026-03-07T16:09:18Z"
},
{
"url": "https://github.com/workos/cli/pull/78",
"repo": "workos/cli",
"number": 78,
"title": "chore: expand eval coverage for backend SDKs and SvelteKit",
"state": "merged",
"additions": 3609,
"deletions": 60,
"createdAt": "2026-03-04T18:03:27Z",
"mergedAt": "2026-03-05T21:54:22Z"
},
{
"url": "https://github.com/workos/skills/pull/6",
"repo": "workos/skills",
"number": 6,
"title": "feat: consolidate all skills into single-source references",
"state": "merged",
"additions": 2805,
"deletions": 506,
"createdAt": "2026-03-07T20:43:43Z",
"mergedAt": "2026-03-07T21:17:43Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/378",
"repo": "workos/authkit-nextjs",
"number": 378,
"title": "fix: improve compatibility with non-Next.js environments",
"state": "merged",
"additions": 2366,
"deletions": 601,
"createdAt": "2026-03-03T02:25:24Z",
"mergedAt": "2026-03-03T17:50:18Z"
},
{
"url": "https://github.com/workos/cli/pull/75",
"repo": "workos/cli",
"number": 75,
"title": "feat: non-TTY mode for agent-friendly CLI",
"state": "merged",
"additions": 2500,
"deletions": 232,
"createdAt": "2026-02-28T20:12:01Z",
"mergedAt": "2026-03-02T19:37:42Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/6",
"repo": "nicknisi/claude-plugins",
"number": 6,
"title": "feat(ideation): execution hardening — scout, reviewer, and build-verify-review loop",
"state": "merged",
"additions": 604,
"deletions": 699,
"createdAt": "2026-03-03T01:03:10Z",
"mergedAt": "2026-03-06T18:56:39Z"
},
{
"url": "https://github.com/workos/cli/pull/86",
"repo": "workos/cli",
"number": 86,
"title": "feat!: add `workos skills` subcommand group (install, uninstall, list)",
"state": "merged",
"additions": 735,
"deletions": 59,
"createdAt": "2026-03-07T16:37:37Z",
"mergedAt": "2026-03-07T18:01:18Z"
},
{
"url": "https://github.com/workos/cli/pull/81",
"repo": "workos/cli",
"number": 81,
"title": "fix: auth credential storage and transient error handling",
"state": "merged",
"additions": 192,
"deletions": 41,
"createdAt": "2026-03-05T19:57:56Z",
"mergedAt": "2026-03-05T20:52:28Z"
},
{
"url": "https://github.com/workos/cli/pull/84",
"repo": "workos/cli",
"number": 84,
"title": "feat!: move login/logout to auth subcommand, add auth status",
"state": "merged",
"additions": 147,
"deletions": 47,
"createdAt": "2026-03-05T21:20:57Z",
"mergedAt": "2026-03-05T22:10:53Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/381",
"repo": "workos/authkit-nextjs",
"number": 381,
"title": "fix: prevent refreshAccessTokenAction from throwing 500s",
"state": "closed",
"additions": 132,
"deletions": 33,
"createdAt": "2026-03-08T14:55:54Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/382",
"repo": "workos/authkit-nextjs",
"number": 382,
"title": "fix: handle TokenRefreshError in server actions to prevent 500s",
"state": "closed",
"additions": 79,
"deletions": 3,
"createdAt": "2026-03-08T15:27:50Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/83",
"repo": "workos/cli",
"number": 83,
"title": "fix: improve TanStack Start skill to reduce first-attempt build failures",
"state": "merged",
"additions": 47,
"deletions": 13,
"createdAt": "2026-03-05T20:39:01Z",
"mergedAt": "2026-03-05T21:00:23Z"
},
{
"url": "https://github.com/workos/cli/pull/77",
"repo": "workos/cli",
"number": 77,
"title": "fix: TanStack Start friction log fixes for middleware and doctor checks",
"state": "merged",
"additions": 47,
"deletions": 8,
"createdAt": "2026-03-04T15:49:29Z",
"mergedAt": "2026-03-05T20:33:33Z"
},
{
"url": "https://github.com/workos/cli/pull/79",
"repo": "workos/cli",
"number": 79,
"title": "fix: correct skills directory path resolution in getSkillsDir",
"state": "merged",
"additions": 23,
"deletions": 10,
"createdAt": "2026-03-05T17:32:34Z",
"mergedAt": "2026-03-05T17:43:32Z"
}
],
"summary": "A heavy week across the WorkOS CLI and skills ecosystem, with `workos/cli#76` adding management commands for all WorkOS resources, `workos/cli#75` introducing non-TTY agent-friendly output, and `workos/cli#86` adding a `workos skills` subcommand group for install, uninstall, and list. The `workos/skills` repo saw significant restructuring via `workos/skills#4` (on-demand OpenAPI spec querying for a workos-widgets skill), `workos/skills#5` (replacing the generation pipeline with lean topic files), and `workos/skills#6` (consolidating all skills into single-source references). `workos/authkit-nextjs#378` improved compatibility with non-Next.js environments, and `nicknisi/claude-plugins#6` hardened the ideation plugin's execution loop with scout, reviewer, and build-verify-review stages."
},
{
"weekEnding": "2026-03-01",
"pullRequests": [
{
"url": "https://github.com/workos/skills/pull/3",
"repo": "workos/skills",
"number": 3,
"title": "feat: eval framework for measuring skill effectiveness",
"state": "merged",
"additions": 10210,
"deletions": 4803,
"createdAt": "2026-02-26T16:22:15Z",
"mergedAt": "2026-02-26T16:22:53Z"
},
{
"url": "https://github.com/workos/cli/pull/73",
"repo": "workos/cli",
"number": 73,
"title": "chore: update dependencies to latest versions",
"state": "merged",
"additions": 566,
"deletions": 118,
"createdAt": "2026-02-27T16:35:21Z",
"mergedAt": "2026-02-27T17:14:56Z"
},
{
"url": "https://github.com/workos/cli/pull/72",
"repo": "workos/cli",
"number": 72,
"title": "chore: replace prettier with oxlint and oxfmt",
"state": "merged",
"additions": 504,
"deletions": 85,
"createdAt": "2026-02-25T15:11:39Z",
"mergedAt": "2026-02-25T15:31:52Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1467",
"repo": "workos/workos-node",
"number": 1467,
"title": "ci: add release-please and conventional commit enforcement",
"state": "merged",
"additions": 68,
"deletions": 194,
"createdAt": "2026-02-05T22:03:34Z",
"mergedAt": "2026-02-24T22:16:20Z"
},
{
"url": "https://github.com/workos/cli/pull/69",
"repo": "workos/cli",
"number": 69,
"title": "fix: ensure .env.local is added to .gitignore during install",
"state": "merged",
"additions": 111,
"deletions": 3,
"createdAt": "2026-02-20T22:20:38Z",
"mergedAt": "2026-02-24T22:47:47Z"
},
{
"url": "https://github.com/workos/cli/pull/68",
"repo": "workos/cli",
"number": 68,
"title": "fix(doctor): warn when AuthKitProvider missing apiHostname prop",
"state": "merged",
"additions": 93,
"deletions": 20,
"createdAt": "2026-02-20T16:42:03Z",
"mergedAt": "2026-02-24T22:25:14Z"
}
],
"summary": "Work centered on `workos/skills#3`, which introduced an eval framework for measuring skill effectiveness, and a cluster of `workos/cli` fixes covering `.gitignore` hygiene during install (`#69`) and a missing `apiHostname` prop warning in the doctor command (`#68`), alongside a dependency update (`#73`). `workos/workos-node#1467` added release-please and conventional commit enforcement to the Node SDK's CI pipeline. Session activity also touched `authkit-nextjs`, `authkit-tanstack-start`, and an internal project, alongside `claude-plugins` and `workos/cli` work that didn't produce public PRs."
},
{
"weekEnding": "2026-02-22",
"pullRequests": [
{
"url": "https://github.com/workos/skills/pull/2",
"repo": "workos/skills",
"number": 2,
"title": "Skill quality framework: progressive disclosure, feedback system, V2 improvements",
"state": "merged",
"additions": 9782,
"deletions": 12868,
"createdAt": "2026-02-20T01:16:39Z",
"mergedAt": "2026-02-20T01:45:26Z"
},
{
"url": "https://github.com/workos/expo-authkit-example/pull/5",
"repo": "workos/expo-authkit-example",
"number": 5,
"title": "Replace react-native-quick-crypto with expo-crypto for Expo Go support",
"state": "merged",
"additions": 989,
"deletions": 3240,
"createdAt": "2026-02-17T15:39:53Z",
"mergedAt": "2026-02-17T15:45:24Z"
},
{
"url": "https://github.com/workos/cli/pull/62",
"repo": "workos/cli",
"number": 62,
"title": "feat: major workos doctor overhaul — visual refresh, multi-language, AI analysis",
"state": "merged",
"additions": 3238,
"deletions": 127,
"createdAt": "2026-02-18T00:27:31Z",
"mergedAt": "2026-02-18T19:59:46Z"
},
{
"url": "https://github.com/workos/cli/pull/59",
"repo": "workos/cli",
"number": 59,
"title": "feat: add environment, organization, and user management commands",
"state": "merged",
"additions": 2236,
"deletions": 73,
"createdAt": "2026-02-17T21:40:50Z",
"mergedAt": "2026-02-17T23:24:57Z"
},
{
"url": "https://github.com/workos/cli/pull/64",
"repo": "workos/cli",
"number": 64,
"title": "fix: ground AI analysis in SDK documentation",
"state": "merged",
"additions": 187,
"deletions": 43,
"createdAt": "2026-02-18T21:08:41Z",
"mergedAt": "2026-02-18T21:13:27Z"
},
{
"url": "https://github.com/workos/skills/pull/1",
"repo": "workos/skills",
"number": 1,
"title": "Fix dsync rule to acknowledge Events API polling",
"state": "closed",
"additions": 31,
"deletions": 16,
"createdAt": "2026-02-19T00:45:45Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/61",
"repo": "workos/cli",
"number": 61,
"title": "fix: replace dotenv devDependency with inline env parser in doctor",
"state": "merged",
"additions": 27,
"deletions": 4,
"createdAt": "2026-02-18T00:01:23Z",
"mergedAt": "2026-02-18T00:06:32Z"
},
{
"url": "https://github.com/workos/cli/pull/63",
"repo": "workos/cli",
"number": 63,
"title": "fix: installer skill loop and Node deprecation warning",
"state": "merged",
"additions": 5,
"deletions": 7,
"createdAt": "2026-02-18T20:03:35Z",
"mergedAt": "2026-02-18T20:04:40Z"
}
],
"summary": "Work spanned two `workos` repositories heavily: `workos/cli` saw a run of environment, organization, and user management commands in `#59`, a `workos doctor` overhaul with visual refresh, multi-language support, and AI analysis in `#62`, and a dependency fix replacing `dotenv` with an inline env parser in `#61`. `workos/skills#2` landed a large-scale quality framework rework covering progressive disclosure, a feedback system, and V2 improvements, replacing more content than it added. Lighter sessions touched `authkit-tanstack-start` and adjacent AuthKit example projects without producing public PRs."
},
{
"weekEnding": "2026-02-15",
"pullRequests": [
{
"url": "https://github.com/workos/cli/pull/49",
"repo": "workos/cli",
"number": 49,
"title": "feat: multi-SDK expansion with auto-discovery registry",
"state": "merged",
"additions": 7080,
"deletions": 916,
"createdAt": "2026-02-10T13:49:33Z",
"mergedAt": "2026-02-11T04:16:53Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/367",
"repo": "workos/authkit-nextjs",
"number": 367,
"title": "chore: migrate from Jest to Vitest",
"state": "merged",
"additions": 1651,
"deletions": 3180,
"createdAt": "2026-02-07T17:59:39Z",
"mergedAt": "2026-02-09T16:08:16Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/370",
"repo": "workos/authkit-nextjs",
"number": 370,
"title": "Add example app as pnpm workspace package",
"state": "merged",
"additions": 4272,
"deletions": 251,
"createdAt": "2026-02-09T22:47:49Z",
"mergedAt": "2026-02-10T04:31:43Z"
},
{
"url": "https://github.com/workos/cli/pull/57",
"repo": "workos/cli",
"number": 57,
"title": "feat: agent self-correction via validation feedback loop",
"state": "merged",
"additions": 1563,
"deletions": 188,
"createdAt": "2026-02-14T14:50:43Z",
"mergedAt": "2026-02-14T21:50:35Z"
},
{
"url": "https://github.com/workos/cli/pull/50",
"repo": "workos/cli",
"number": 50,
"title": "feat: add `workos doctor` command for diagnosing integration issues",
"state": "merged",
"additions": 1181,
"deletions": 37,
"createdAt": "2026-02-10T15:50:12Z",
"mergedAt": "2026-02-11T04:22:51Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/368",
"repo": "workos/authkit-nextjs",
"number": 368,
"title": "chore: upgrade @workos-inc/node to v8",
"state": "merged",
"additions": 93,
"deletions": 510,
"createdAt": "2026-02-09T01:41:43Z",
"mergedAt": "2026-02-09T16:42:26Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/4",
"repo": "nicknisi/claude-plugins",
"number": 4,
"title": "feat(ideation): add per-component feedback loops",
"state": "merged",
"additions": 321,
"deletions": 59,
"createdAt": "2026-02-14T14:23:20Z",
"mergedAt": "2026-02-14T14:29:14Z"
},
{
"url": "https://github.com/workos/cli/pull/52",
"repo": "workos/cli",
"number": 52,
"title": "fix: prefer existing middleware.ts over proxy.ts for Next.js 16+",
"state": "merged",
"additions": 247,
"deletions": 44,
"createdAt": "2026-02-13T02:46:49Z",
"mergedAt": "2026-02-13T03:36:43Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/5",
"repo": "nicknisi/claude-plugins",
"number": 5,
"title": "feat(content): add AI writing tells checklist to blog-post-writer",
"state": "merged",
"additions": 152,
"deletions": 3,
"createdAt": "2026-02-15T01:42:27Z",
"mergedAt": "2026-02-15T01:43:03Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1493",
"repo": "workos/workos-node",
"number": 1493,
"title": "v8.5.0",
"state": "merged",
"additions": 15,
"deletions": 4,
"createdAt": "2026-02-14T02:23:13Z",
"mergedAt": "2026-02-14T02:38:12Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/369",
"repo": "workos/authkit-nextjs",
"number": 369,
"title": "v2.14.0",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2026-02-09T16:46:08Z",
"mergedAt": "2026-02-11T18:39:22Z"
}
],
"summary": "Work centered heavily on `workos/cli`, where `#49` added multi-SDK expansion with an auto-discovery registry and `#57` introduced an agent self-correction mechanism via a validation feedback loop, alongside `#50`'s new `workos doctor` diagnostic command and `#52`'s Next.js 16+ middleware path fix. On the `workos/authkit-nextjs` side, `#367` migrated the test suite from Jest to Vitest, `#370` added an example app as a pnpm workspace package, and `#368` bumped the node SDK to v8, which shipped as `workos/workos-node#1493`. `nicknisi/claude-plugins` saw two additions: per-component feedback loops in `#4` and an AI writing tells checklist for the blog-post-writer prompt in `#5`."
},
{
"weekEnding": "2026-02-08",
"pullRequests": [
{
"url": "https://github.com/workos/cli/pull/38",
"repo": "workos/cli",
"number": 38,
"title": "fix(nextjs): improve middleware composition guidance",
"state": "closed",
"additions": 5329,
"deletions": 275,
"createdAt": "2026-02-03T22:52:40Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/40",
"repo": "workos/cli",
"number": 40,
"title": "chore(evals): add quality grading, latency tracking, and edge case fixtures",
"state": "merged",
"additions": 5235,
"deletions": 258,
"createdAt": "2026-02-03T22:56:48Z",
"mergedAt": "2026-02-03T22:58:30Z"
},
{
"url": "https://github.com/workos/cli/pull/36",
"repo": "workos/cli",
"number": 36,
"title": "test: add eval framework for installer agent testing",
"state": "merged",
"additions": 4280,
"deletions": 31,
"createdAt": "2026-02-01T04:59:59Z",
"mergedAt": "2026-02-02T13:36:09Z"
},
{
"url": "https://github.com/workos/authkit-sveltekit/pull/6",
"repo": "workos/authkit-sveltekit",
"number": 6,
"title": "feat: upgrade to authkit-session v0.3.4, add example app",
"state": "merged",
"additions": 2309,
"deletions": 1289,
"createdAt": "2026-02-04T19:52:13Z",
"mergedAt": "2026-02-04T20:22:11Z"
},
{
"url": "https://github.com/TanStack/router/pull/5394",
"repo": "TanStack/router",
"number": 5394,
"title": "examples: Update WorkOS example to use new AuthKit SDK",
"state": "merged",
"additions": 575,
"deletions": 1086,
"createdAt": "2025-10-07T13:55:37Z",
"mergedAt": "2026-02-05T21:27:38Z"
},
{
"url": "https://github.com/workos/cli/pull/41",
"repo": "workos/cli",
"number": 41,
"title": "feat: secure keyring credential storage",
"state": "merged",
"additions": 679,
"deletions": 115,
"createdAt": "2026-02-04T15:26:51Z",
"mergedAt": "2026-02-04T16:32:18Z"
},
{
"url": "https://github.com/workos/cli/pull/35",
"repo": "workos/cli",
"number": 35,
"title": "feat: add startup version check to warn users of outdated CLI",
"state": "merged",
"additions": 173,
"deletions": 0,
"createdAt": "2026-01-31T14:00:15Z",
"mergedAt": "2026-02-02T13:36:37Z"
},
{
"url": "https://github.com/workos/cli/pull/39",
"repo": "workos/cli",
"number": 39,
"title": "fix(nextjs): improve skill guidance for middleware composition",
"state": "merged",
"additions": 94,
"deletions": 17,
"createdAt": "2026-02-03T22:55:55Z",
"mergedAt": "2026-02-03T22:59:26Z"
},
{
"url": "https://github.com/workos/authkit-sveltekit/pull/8",
"repo": "workos/authkit-sveltekit",
"number": 8,
"title": "release: v0.1.0",
"state": "merged",
"additions": 10,
"deletions": 7,
"createdAt": "2026-02-04T20:46:47Z",
"mergedAt": "2026-02-04T21:21:29Z"
},
{
"url": "https://github.com/nicknisi/kith/pull/1",
"repo": "nicknisi/kith",
"number": 1,
"title": "Fix script src to use GitHub Pages static asset instead of unpkg",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2026-02-07T21:15:06Z",
"mergedAt": "2026-02-07T21:15:51Z"
}
],
"summary": "Work centered on `workos/cli`, where an eval framework landed in `cli#36`, followed by quality grading, latency tracking, and edge case fixtures in `cli#40`, and secure keyring credential storage in `cli#41`. `workos/authkit-sveltekit` saw a session library upgrade and example app addition in `authkit-sveltekit#6`, culminating in the `v0.1.0` release in `authkit-sveltekit#8`, while `TanStack/router#5394` updated the WorkOS example to the new AuthKit SDK. Middleware composition guidance for the NextJS installer agent was iterated across `cli#38` and `cli#39`, reflecting ongoing refinement of the AI agent's skill prompts alongside heavy session activity in `authkit-nextjs` and `skills`."
},
{
"weekEnding": "2026-02-01",
"pullRequests": [
{
"url": "https://github.com/nicknisi/test-next-app/pull/5",
"repo": "nicknisi/test-next-app",
"number": 5,
"title": "feat: integrate WorkOS AuthKit for authentication in Next.js app",
"state": "closed",
"additions": 7078,
"deletions": 36,
"createdAt": "2026-01-31T02:58:18Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/test-next-app/pull/4",
"repo": "nicknisi/test-next-app",
"number": 4,
"title": "feat: integrate WorkOS AuthKit authentication system",
"state": "closed",
"additions": 7077,
"deletions": 22,
"createdAt": "2026-01-31T02:48:58Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/20",
"repo": "workos/cli",
"number": 20,
"title": "feat: auto-fetch WorkOS credentials via device auth",
"state": "merged",
"additions": 1386,
"deletions": 64,
"createdAt": "2026-01-25T02:10:38Z",
"mergedAt": "2026-01-27T23:33:33Z"
},
{
"url": "https://github.com/workos/cli/pull/21",
"repo": "workos/cli",
"number": 21,
"title": "feat: auto-commit and PR creation after wizard completion",
"state": "merged",
"additions": 983,
"deletions": 122,
"createdAt": "2026-01-28T00:20:10Z",
"mergedAt": "2026-01-28T22:28:48Z"
},
{
"url": "https://github.com/workos/cli/pull/26",
"repo": "workos/cli",
"number": 26,
"title": "refactor!: rename Wizard to Installer",
"state": "merged",
"additions": 486,
"deletions": 470,
"createdAt": "2026-01-30T22:55:38Z",
"mergedAt": "2026-01-30T22:56:34Z"
},
{
"url": "https://github.com/workos/cli/pull/23",
"repo": "workos/cli",
"number": 23,
"title": "feat: add credential proxy with token refresh for extended sessions",
"state": "merged",
"additions": 859,
"deletions": 33,
"createdAt": "2026-01-29T21:46:25Z",
"mergedAt": "2026-01-30T17:18:16Z"
},
{
"url": "https://github.com/workos/cli/pull/25",
"repo": "workos/cli",
"number": 25,
"title": "Add CI/release workflows and modernize ESM imports",
"state": "merged",
"additions": 589,
"deletions": 120,
"createdAt": "2026-01-30T22:53:11Z",
"mergedAt": "2026-01-31T03:13:21Z"
},
{
"url": "https://github.com/nicknisi/test-next-app/pull/1",
"repo": "nicknisi/test-next-app",
"number": 1,
"title": "feat: integrate WorkOS AuthKit authentication for Next.js app",
"state": "closed",
"additions": 429,
"deletions": 36,
"createdAt": "2026-01-28T00:17:30Z",
"mergedAt": null
},
{
"url": "https://github.com/nicknisi/test-next-app/pull/2",
"repo": "nicknisi/test-next-app",
"number": 2,
"title": "feat: integrate WorkOS AuthKit authentication system",
"state": "merged",
"additions": 420,
"deletions": 36,
"createdAt": "2026-01-30T15:54:55Z",
"mergedAt": "2026-01-30T17:03:29Z"
},
{
"url": "https://github.com/nicknisi/test-next-app/pull/3",
"repo": "nicknisi/test-next-app",
"number": 3,
"title": "feat: integrate WorkOS AuthKit authentication system",
"state": "closed",
"additions": 413,
"deletions": 34,
"createdAt": "2026-01-30T22:49:28Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/cli/pull/24",
"repo": "workos/cli",
"number": 24,
"title": "feat: add startup auth guard with automatic token refresh",
"state": "merged",
"additions": 392,
"deletions": 23,
"createdAt": "2026-01-30T20:39:14Z",
"mergedAt": "2026-01-30T20:47:10Z"
},
{
"url": "https://github.com/workos/cli/pull/22",
"repo": "workos/cli",
"number": 22,
"title": "feat: add --direct flag to bypass llm-gateway",
"state": "merged",
"additions": 70,
"deletions": 52,
"createdAt": "2026-01-29T19:45:42Z",
"mergedAt": "2026-01-29T19:46:42Z"
},
{
"url": "https://github.com/workos/cli/pull/27",
"repo": "workos/cli",
"number": 27,
"title": "feat: add release-please for automated releases",
"state": "merged",
"additions": 38,
"deletions": 0,
"createdAt": "2026-01-31T03:21:27Z",
"mergedAt": "2026-01-31T03:22:08Z"
},
{
"url": "https://github.com/workos/cli/pull/29",
"repo": "workos/cli",
"number": 29,
"title": "docs: update documentation for recent changes",
"state": "merged",
"additions": 29,
"deletions": 7,
"createdAt": "2026-01-31T03:31:17Z",
"mergedAt": "2026-01-31T03:32:04Z"
},
{
"url": "https://github.com/workos/cli/pull/31",
"repo": "workos/cli",
"number": 31,
"title": "fix: trigger npm publish when release-please creates a release",
"state": "merged",
"additions": 6,
"deletions": 0,
"createdAt": "2026-01-31T03:44:33Z",
"mergedAt": "2026-01-31T03:45:12Z"
},
{
"url": "https://github.com/workos/cli/pull/33",
"repo": "workos/cli",
"number": 33,
"title": "fix: add repository URL for npm provenance publishing",
"state": "merged",
"additions": 5,
"deletions": 0,
"createdAt": "2026-01-31T03:54:32Z",
"mergedAt": "2026-01-31T03:55:07Z"
},
{
"url": "https://github.com/workos/cli/pull/30",
"repo": "workos/cli",
"number": 30,
"title": "fix: use v0.x.x tag format instead of workos-v0.x.x",
"state": "merged",
"additions": 1,
"deletions": 0,
"createdAt": "2026-01-31T03:37:31Z",
"mergedAt": "2026-01-31T03:38:12Z"
}
],
"summary": "Work on `workos/cli` dominated the week, with a cluster of merged PRs building out a full authentication lifecycle: device-auth credential fetching (`#20`), a credential proxy with token refresh (`#23`), a startup auth guard (`#24`), and a `--direct` flag to bypass the LLM gateway (`#22`). The installer flow was also restructured (`#26`, `#21`) and shipping infrastructure was added via release-please automation (`#27`, `#30`, `#31`, `#33`). Parallel work explored WorkOS AuthKit integration in `nicknisi/test-next-app` across several iterations (`#1`–`#5`), with `#2` the only merged result, alongside heavier session work against internal projects and `workos-node`."
},
{
"weekEnding": "2026-01-25",
"pullRequests": [
{
"url": "https://github.com/workos/cli/pull/9",
"repo": "workos/cli",
"number": 9,
"title": "chore: update dependencies and remove ESLint",
"state": "merged",
"additions": 444,
"deletions": 4476,
"createdAt": "2026-01-20T22:43:36Z",
"mergedAt": "2026-01-20T22:43:45Z"
},
{
"url": "https://github.com/workos/cli/pull/7",
"repo": "workos/cli",
"number": 7,
"title": "fix: run prettier from root to respect .prettierignore",
"state": "merged",
"additions": 2543,
"deletions": 469,
"createdAt": "2026-01-20T02:13:49Z",
"mergedAt": "2026-01-20T02:15:42Z"
},
{
"url": "https://github.com/workos/cli/pull/13",
"repo": "workos/cli",
"number": 13,
"title": "refactor: flatten monorepo and remove llm-gateway",
"state": "merged",
"additions": 535,
"deletions": 1793,
"createdAt": "2026-01-22T01:12:54Z",
"mergedAt": "2026-01-22T01:24:00Z"
},
{
"url": "https://github.com/workos/cli/pull/8",
"repo": "workos/cli",
"number": 8,
"title": "feat: add OpenTelemetry telemetry for wizard sessions",
"state": "merged",
"additions": 2046,
"deletions": 39,
"createdAt": "2026-01-20T21:58:36Z",
"mergedAt": "2026-01-20T22:02:12Z"
},
{
"url": "https://github.com/workos/cli/pull/12",
"repo": "workos/cli",
"number": 12,
"title": "feat: add post-installation validation for wizard",
"state": "merged",
"additions": 1826,
"deletions": 2,
"createdAt": "2026-01-21T19:59:43Z",
"mergedAt": "2026-01-21T20:08:09Z"
},
{
"url": "https://github.com/workos/cli/pull/17",
"repo": "workos/cli",
"number": 17,
"title": "fix: correct SDK APIs and make README fetch blocking",
"state": "merged",
"additions": 635,
"deletions": 374,
"createdAt": "2026-01-23T22:29:06Z",
"mergedAt": "2026-01-23T23:43:00Z"
},
{
"url": "https://github.com/workos/cli/pull/15",
"repo": "workos/cli",
"number": 15,
"title": "feat: CLI UI redesign - cleaner output and simplified flags",
"state": "merged",
"additions": 595,
"deletions": 234,
"createdAt": "2026-01-23T18:08:23Z",
"mergedAt": "2026-01-23T19:53:20Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/362",
"repo": "workos/authkit-nextjs",
"number": 362,
"title": "feat: add embedded documentation generation for AI agents",
"state": "closed",
"additions": 581,
"deletions": 0,
"createdAt": "2026-01-21T12:27:22Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/48",
"repo": "workos/authkit-tanstack-start",
"number": 48,
"title": "chore(deps): update TanStack dependencies to 1.154.8",
"state": "merged",
"additions": 149,
"deletions": 349,
"createdAt": "2026-01-22T16:50:12Z",
"mergedAt": "2026-01-22T18:09:02Z"
},
{
"url": "https://github.com/workos/cli/pull/16",
"repo": "workos/cli",
"number": 16,
"title": "feat: improve debug logging with session-based log files",
"state": "merged",
"additions": 241,
"deletions": 84,
"createdAt": "2026-01-23T20:29:52Z",
"mergedAt": "2026-01-23T20:31:59Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/1",
"repo": "nicknisi/claude-plugins",
"number": 1,
"title": "feat(ideation): upgrade to Tasks system for cross-session coordination",
"state": "merged",
"additions": 261,
"deletions": 37,
"createdAt": "2026-01-23T15:29:45Z",
"mergedAt": "2026-01-23T15:32:00Z"
},
{
"url": "https://github.com/workos/cli/pull/10",
"repo": "workos/cli",
"number": 10,
"title": "feat: migrate CLI auth from User Management to Connect OAuth",
"state": "merged",
"additions": 149,
"deletions": 81,
"createdAt": "2026-01-20T23:39:37Z",
"mergedAt": "2026-01-21T00:17:03Z"
},
{
"url": "https://github.com/workos/cli/pull/14",
"repo": "workos/cli",
"number": 14,
"title": "refactor: simplify settings config and improve local dev workflow",
"state": "merged",
"additions": 93,
"deletions": 106,
"createdAt": "2026-01-22T23:38:39Z",
"mergedAt": "2026-01-22T23:39:06Z"
},
{
"url": "https://github.com/workos/cli/pull/18",
"repo": "workos/cli",
"number": 18,
"title": "feat: add install subcommand and CLI restructure",
"state": "merged",
"additions": 113,
"deletions": 73,
"createdAt": "2026-01-23T23:07:17Z",
"mergedAt": "2026-01-23T23:07:36Z"
},
{
"url": "https://github.com/nicknisi/claude-plugins/pull/2",
"repo": "nicknisi/claude-plugins",
"number": 2,
"title": "feat(ideation): add auto-detect and --parallel flag",
"state": "merged",
"additions": 127,
"deletions": 42,
"createdAt": "2026-01-23T15:59:49Z",
"mergedAt": "2026-01-23T16:01:12Z"
},
{
"url": "https://github.com/workos/cli/pull/19",
"repo": "workos/cli",
"number": 19,
"title": "chore: rename package to workos CLI",
"state": "merged",
"additions": 59,
"deletions": 73,
"createdAt": "2026-01-23T23:51:55Z",
"mergedAt": "2026-01-23T23:52:14Z"
},
{
"url": "https://github.com/workos/cli/pull/11",
"repo": "workos/cli",
"number": 11,
"title": "feat(llm-gateway): add OTel metrics for token usage tracking",
"state": "merged",
"additions": 39,
"deletions": 4,
"createdAt": "2026-01-21T00:52:59Z",
"mergedAt": "2026-01-21T00:53:29Z"
},
{
"url": "https://github.com/workos/electron-authkit-example/pull/2",
"repo": "workos/electron-authkit-example",
"number": 2,
"title": "Use safeStorage for session encryption, simplify env config",
"state": "merged",
"additions": 7,
"deletions": 14,
"createdAt": "2026-01-20T14:32:48Z",
"mergedAt": "2026-01-20T16:04:58Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/49",
"repo": "workos/authkit-tanstack-start",
"number": 49,
"title": "docs: fix package name references in documentation",
"state": "merged",
"additions": 9,
"deletions": 9,
"createdAt": "2026-01-23T23:37:23Z",
"mergedAt": "2026-01-23T23:41:25Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/355",
"repo": "workos/authkit-nextjs",
"number": 355,
"title": "docs: add warning about catch-all middleware matcher breaking styles",
"state": "merged",
"additions": 9,
"deletions": 2,
"createdAt": "2026-01-06T23:34:37Z",
"mergedAt": "2026-01-20T20:06:32Z"
}
],
"summary": "Work centered on `workos/cli`, with a cluster of PRs restructuring the project: `cli#13` flattened the monorepo and removed the llm-gateway, `cli#12` added post-installation validation for the wizard, `cli#18` introduced an `install` subcommand with broader CLI restructuring, and `cli#19` renamed the package. On the auth side, `authkit-nextjs#362` (closed) attempted to add embedded documentation generation for AI agents, while `authkit-nextjs#355` and `authkit-tanstack-start#49` landed small documentation fixes across the Next.js and TanStack Start integrations."
},
{
"weekEnding": "2026-01-18",
"pullRequests": [
{
"url": "https://github.com/workos/workos-node/pull/1370",
"repo": "workos/workos-node",
"number": 1370,
"title": "Release v8.0.0: Universal Runtime Support & API Modernization",
"state": "merged",
"additions": 13803,
"deletions": 5991,
"createdAt": "2025-10-13T17:50:30Z",
"mergedAt": "2026-01-12T16:47:20Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/360",
"repo": "workos/authkit-nextjs",
"number": 360,
"title": "chore: switch from npm to pnpm",
"state": "merged",
"additions": 5465,
"deletions": 8197,
"createdAt": "2026-01-10T16:31:00Z",
"mergedAt": "2026-01-14T23:16:34Z"
},
{
"url": "https://github.com/workos/cli/pull/3",
"repo": "workos/cli",
"number": 3,
"title": "feat(agent): implement agent-skill architecture (Phases 1-3)",
"state": "merged",
"additions": 1594,
"deletions": 159,
"createdAt": "2026-01-17T03:34:13Z",
"mergedAt": "2026-01-17T04:01:16Z"
},
{
"url": "https://github.com/workos/cli/pull/5",
"repo": "workos/cli",
"number": 5,
"title": "feat: CLI authentication with WorkOS",
"state": "merged",
"additions": 1647,
"deletions": 35,
"createdAt": "2026-01-17T20:44:24Z",
"mergedAt": "2026-01-17T20:45:45Z"
},
{
"url": "https://github.com/workos/cli/pull/4",
"repo": "workos/cli",
"number": 4,
"title": "refactor(cli): centralize settings and modernize ESM module system",
"state": "merged",
"additions": 377,
"deletions": 392,
"createdAt": "2026-01-17T16:02:18Z",
"mergedAt": "2026-01-17T16:03:29Z"
},
{
"url": "https://github.com/workos/cli/pull/6",
"repo": "workos/cli",
"number": 6,
"title": "feat(cli): add install-skill command",
"state": "merged",
"additions": 412,
"deletions": 0,
"createdAt": "2026-01-19T03:48:40Z",
"mergedAt": "2026-01-19T03:52:16Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/16",
"repo": "workos/authkit-session",
"number": 16,
"title": "Update dependencies to stable versions",
"state": "merged",
"additions": 91,
"deletions": 121,
"createdAt": "2026-01-12T18:45:22Z",
"mergedAt": "2026-01-12T19:17:02Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1449",
"repo": "workos/workos-node",
"number": 1449,
"title": "docs: fix inconsistencies in V8 migration guide",
"state": "merged",
"additions": 67,
"deletions": 32,
"createdAt": "2026-01-12T21:12:20Z",
"mergedAt": "2026-01-12T21:14:41Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/47",
"repo": "workos/authkit-tanstack-start",
"number": 47,
"title": "v0.5.0",
"state": "merged",
"additions": 12,
"deletions": 11,
"createdAt": "2026-01-16T19:18:05Z",
"mergedAt": "2026-01-16T19:19:48Z"
},
{
"url": "https://github.com/workos/authkit-react/pull/84",
"repo": "workos/authkit-react",
"number": 84,
"title": "fix: release 0.15.1 with correct build artifacts",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2026-01-13T15:21:52Z",
"mergedAt": "2026-01-13T17:03:50Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1446",
"repo": "workos/workos-node",
"number": 1446,
"title": "v8.0.0",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2026-01-12T16:51:04Z",
"mergedAt": "2026-01-12T17:34:40Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/18",
"repo": "workos/authkit-session",
"number": 18,
"title": "v0.3.4",
"state": "merged",
"additions": 5,
"deletions": 1,
"createdAt": "2026-01-12T19:23:27Z",
"mergedAt": "2026-01-12T19:25:02Z"
},
{
"url": "https://github.com/workos/workos-python/pull/518",
"repo": "workos/workos-python",
"number": 518,
"title": "v5.39.0",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2026-01-15T15:42:00Z",
"mergedAt": "2026-01-15T15:57:40Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/17",
"repo": "workos/authkit-session",
"number": 17,
"title": "v0.3.3",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2026-01-12T19:18:44Z",
"mergedAt": "2026-01-12T19:19:33Z"
}
],
"summary": "A heavily active week centered on the `workos/workos-node` v8.0.0 release (`#1370`, `#1446`), a large overhaul adding universal runtime support and modernizing the API surface, alongside a run of `workos/cli` PRs (`#3`, `#4`, `#5`, `#6`) that stood up a new agent-skill architecture, CLI authentication, and an `install-skill` command from scratch. Package maintenance and tooling changes rounded things out with `workos/authkit-nextjs#360` migrating to pnpm, a `workos/authkit-tanstack-start#47` patch release, a build artifact fix in `workos/authkit-react#84`, and a version bump in `workos/workos-python#518`."
},
{
"weekEnding": "2026-01-11",
"pullRequests": [
{
"url": "https://github.com/workos/workos-node/pull/1439",
"repo": "workos/workos-node",
"number": 1439,
"title": "chore: formatting cleanup and dependency pruning [v8]",
"state": "merged",
"additions": 998,
"deletions": 1821,
"createdAt": "2026-01-08T14:58:24Z",
"mergedAt": "2026-01-08T16:28:08Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1435",
"repo": "workos/workos-node",
"number": 1435,
"title": "[v8] feat: add PKCE support for public clients; remove /client entry point",
"state": "merged",
"additions": 1838,
"deletions": 820,
"createdAt": "2026-01-05T20:31:59Z",
"mergedAt": "2026-01-07T21:59:39Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/348",
"repo": "workos/authkit-nextjs",
"number": 348,
"title": "feat: add composable proxy/middleware helpers",
"state": "merged",
"additions": 519,
"deletions": 119,
"createdAt": "2025-12-22T16:10:58Z",
"mergedAt": "2026-01-06T22:37:30Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1440",
"repo": "workos/workos-node",
"number": 1440,
"title": "feat: add createWorkOS factory for type-safe public/confidential clients [v8]",
"state": "merged",
"additions": 296,
"deletions": 0,
"createdAt": "2026-01-08T17:17:32Z",
"mergedAt": "2026-01-08T20:03:46Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/29",
"repo": "workos/authkit-tanstack-start",
"number": 29,
"title": "feat: add redirectUri option to middleware",
"state": "merged",
"additions": 130,
"deletions": 5,
"createdAt": "2025-12-15T21:02:15Z",
"mergedAt": "2026-01-09T16:22:58Z"
},
{
"url": "https://github.com/workos/authkit-js/pull/104",
"repo": "workos/authkit-js",
"number": 104,
"title": "fix: handle signOut() when no session exists",
"state": "merged",
"additions": 76,
"deletions": 6,
"createdAt": "2026-01-02T16:37:39Z",
"mergedAt": "2026-01-08T15:14:31Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1441",
"repo": "workos/workos-node",
"number": 1441,
"title": "fix: split ESM/CJS builds to fix Electron bundling issue",
"state": "merged",
"additions": 35,
"deletions": 23,
"createdAt": "2026-01-09T15:10:30Z",
"mergedAt": "2026-01-09T16:50:41Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/358",
"repo": "workos/authkit-nextjs",
"number": 358,
"title": "v2.13.0",
"state": "merged",
"additions": 20,
"deletions": 15,
"createdAt": "2026-01-07T17:23:59Z",
"mergedAt": "2026-01-07T17:40:40Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1443",
"repo": "workos/workos-node",
"number": 1443,
"title": "v7.82.0",
"state": "merged",
"additions": 10,
"deletions": 6,
"createdAt": "2026-01-09T22:02:57Z",
"mergedAt": "2026-01-09T22:14:37Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/354",
"repo": "workos/authkit-nextjs",
"number": 354,
"title": "fix: avoid calling headers() in middleware context",
"state": "merged",
"additions": 6,
"deletions": 10,
"createdAt": "2026-01-06T23:12:11Z",
"mergedAt": "2026-01-06T23:52:31Z"
},
{
"url": "https://github.com/workos/authkit-js/pull/106",
"repo": "workos/authkit-js",
"number": 106,
"title": "v0.18.0",
"state": "merged",
"additions": 10,
"deletions": 3,
"createdAt": "2026-01-08T15:18:33Z",
"mergedAt": "2026-01-08T16:49:30Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1442",
"repo": "workos/workos-node",
"number": 1442,
"title": "Add context field to Event interface",
"state": "merged",
"additions": 10,
"deletions": 0,
"createdAt": "2026-01-09T21:46:51Z",
"mergedAt": "2026-01-09T22:12:04Z"
}
],
"summary": "A busy week centered on `workos/workos-node` v8 work: `#1435` added PKCE support for public clients and removed the `/client` entry point, `#1440` introduced a `createWorkOS` factory for type-safe public/confidential client differentiation, and `#1441` split ESM/CJS builds to fix an Electron bundling issue. Auth middleware and session handling saw attention across the ecosystem, with `workos/authkit-nextjs#348` adding composable proxy/middleware helpers, `#354` fixing a `headers()` call in middleware context, `workos/authkit-tanstack-start#29` adding a `redirectUri` option to middleware, and `workos/authkit-js#104` patching `signOut()` when no session exists."
},
{
"weekEnding": "2025-12-28",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-nextjs/pull/349",
"repo": "workos/authkit-nextjs",
"number": 349,
"title": "feat: add TokenRefreshError with userId and sessionId for debugging",
"state": "merged",
"additions": 163,
"deletions": 3,
"createdAt": "2025-12-23T21:11:32Z",
"mergedAt": "2025-12-23T23:23:14Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1423",
"repo": "workos/workos-node",
"number": 1423,
"title": "[v8] fix: bundle ESM-only deps for CJS compatibility",
"state": "merged",
"additions": 2,
"deletions": 0,
"createdAt": "2025-12-22T20:51:12Z",
"mergedAt": "2025-12-22T21:07:45Z"
}
],
"summary": "Added `TokenRefreshError` with `userId` and `sessionId` fields to `workos/authkit-nextjs#349` to improve debugging of token refresh failures, and patched `workos/workos-node#1423` to bundle ESM-only dependencies for CJS compatibility in the v8 release. Additional time went to internal project work alongside these library changes."
},
{
"weekEnding": "2025-12-21",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/28",
"repo": "workos/authkit-tanstack-start",
"number": 28,
"title": "Update package dependencies",
"state": "merged",
"additions": 852,
"deletions": 1115,
"createdAt": "2025-12-15T16:08:31Z",
"mergedAt": "2025-12-15T20:37:39Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1416",
"repo": "workos/workos-node",
"number": 1416,
"title": "[v8] Replace iron-session with iron-webcrypto v2",
"state": "merged",
"additions": 226,
"deletions": 42,
"createdAt": "2025-12-12T23:23:08Z",
"mergedAt": "2025-12-15T15:25:44Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/31",
"repo": "workos/authkit-tanstack-start",
"number": 31,
"title": "fix: prevent CORS errors when calling signOut from useAuth hook",
"state": "merged",
"additions": 91,
"deletions": 74,
"createdAt": "2025-12-16T18:26:06Z",
"mergedAt": "2025-12-16T19:28:52Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/36",
"repo": "workos/authkit-tanstack-start",
"number": 36,
"title": "feat: pass all options through getSignInUrl and getSignUpUrl",
"state": "merged",
"additions": 104,
"deletions": 22,
"createdAt": "2025-12-18T16:46:31Z",
"mergedAt": "2025-12-18T18:25:05Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/41",
"repo": "workos/authkit-tanstack-start",
"number": 41,
"title": "feat: use reusable workflows from workos/workflows",
"state": "closed",
"additions": 10,
"deletions": 74,
"createdAt": "2025-12-19T15:10:26Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-session/pull/12",
"repo": "workos/authkit-session",
"number": 12,
"title": "Upgrade iron-webcrypto to v2.0.0",
"state": "merged",
"additions": 27,
"deletions": 49,
"createdAt": "2025-12-15T15:42:41Z",
"mergedAt": "2025-12-15T16:49:57Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/27",
"repo": "workos/authkit-tanstack-start",
"number": 27,
"title": "fix: remove unused ensureSignedIn parameter from server actions",
"state": "merged",
"additions": 10,
"deletions": 12,
"createdAt": "2025-12-10T20:47:47Z",
"mergedAt": "2025-12-15T20:37:54Z"
},
{
"url": "https://github.com/workos/authkit-sveltekit/pull/2",
"repo": "workos/authkit-sveltekit",
"number": 2,
"title": "feat: enable npm Trusted Publishers",
"state": "merged",
"additions": 7,
"deletions": 8,
"createdAt": "2025-12-19T15:42:34Z",
"mergedAt": "2025-12-19T16:29:13Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/34",
"repo": "workos/authkit-tanstack-start",
"number": 34,
"title": "fix types in tests",
"state": "merged",
"additions": 7,
"deletions": 7,
"createdAt": "2025-12-17T16:32:13Z",
"mergedAt": "2025-12-17T23:14:22Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1422",
"repo": "workos/workos-node",
"number": 1422,
"title": "feat: enable npm Trusted Publishers",
"state": "merged",
"additions": 6,
"deletions": 7,
"createdAt": "2025-12-19T15:47:07Z",
"mergedAt": "2025-12-19T16:09:38Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/15",
"repo": "workos/authkit-session",
"number": 15,
"title": "feat: enable npm Trusted Publishers",
"state": "merged",
"additions": 6,
"deletions": 7,
"createdAt": "2025-12-19T15:46:32Z",
"mergedAt": "2025-12-19T16:32:33Z"
},
{
"url": "https://github.com/workos/authkit-react/pull/79",
"repo": "workos/authkit-react",
"number": 79,
"title": "feat: enable npm Trusted Publishers",
"state": "merged",
"additions": 6,
"deletions": 7,
"createdAt": "2025-12-19T15:46:08Z",
"mergedAt": "2025-12-19T16:36:04Z"
},
{
"url": "https://github.com/workos/authkit-js/pull/101",
"repo": "workos/authkit-js",
"number": 101,
"title": "feat: enable npm Trusted Publishers",
"state": "merged",
"additions": 6,
"deletions": 7,
"createdAt": "2025-12-19T15:45:36Z",
"mergedAt": "2025-12-19T16:37:02Z"
},
{
"url": "https://github.com/workos/authkit-remix/pull/85",
"repo": "workos/authkit-remix",
"number": 85,
"title": "feat: enable npm Trusted Publishers",
"state": "merged",
"additions": 6,
"deletions": 7,
"createdAt": "2025-12-19T15:44:47Z",
"mergedAt": "2025-12-19T16:41:05Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/346",
"repo": "workos/authkit-nextjs",
"number": 346,
"title": "feat: enable npm Trusted Publishers",
"state": "merged",
"additions": 6,
"deletions": 7,
"createdAt": "2025-12-19T15:43:07Z",
"mergedAt": "2025-12-19T15:59:33Z"
},
{
"url": "https://github.com/workos/authkit-react-router/pull/56",
"repo": "workos/authkit-react-router",
"number": 56,
"title": "feat: enable npm Trusted Publishers",
"state": "merged",
"additions": 5,
"deletions": 6,
"createdAt": "2025-12-19T15:48:04Z",
"mergedAt": "2025-12-19T16:31:38Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/37",
"repo": "workos/authkit-tanstack-start",
"number": 37,
"title": "feat: use npm Trusted Publishers for releases",
"state": "merged",
"additions": 5,
"deletions": 6,
"createdAt": "2025-12-18T17:43:18Z",
"mergedAt": "2025-12-18T18:24:45Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1421",
"repo": "workos/workos-node",
"number": 1421,
"title": "add context7.json to repo",
"state": "merged",
"additions": 6,
"deletions": 2,
"createdAt": "2025-12-17T15:38:44Z",
"mergedAt": "2025-12-17T15:41:12Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1419",
"repo": "workos/workos-node",
"number": 1419,
"title": "8.0.0-rc.6",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-12-16T01:13:39Z",
"mergedAt": "2025-12-16T01:16:12Z"
},
{
"url": "https://github.com/workos/authkit-remix/pull/84",
"repo": "workos/authkit-remix",
"number": 84,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 5,
"deletions": 0,
"createdAt": "2025-12-17T21:18:17Z",
"mergedAt": "2025-12-17T21:28:30Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/39",
"repo": "workos/authkit-tanstack-start",
"number": 39,
"title": "fix: use Node 24 for npm 11+ (required by Trusted Publishers)",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2025-12-18T18:52:43Z",
"mergedAt": "2025-12-18T19:05:29Z"
},
{
"url": "https://github.com/workos/workos-ruby/pull/413",
"repo": "workos/workos-ruby",
"number": 413,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T21:15:31Z",
"mergedAt": "2025-12-17T21:47:12Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/14",
"repo": "workos/authkit-session",
"number": 14,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T21:06:38Z",
"mergedAt": "2025-12-17T21:47:02Z"
},
{
"url": "https://github.com/radix-ui/primitives/pull/3781",
"repo": "radix-ui/primitives",
"number": 3781,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T20:37:48Z",
"mergedAt": "2025-12-17T20:45:51Z"
},
{
"url": "https://github.com/radix-ui/colors/pull/69",
"repo": "radix-ui/colors",
"number": 69,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T20:37:01Z",
"mergedAt": "2025-12-17T20:46:00Z"
},
{
"url": "https://github.com/radix-ui/themes/pull/769",
"repo": "radix-ui/themes",
"number": 769,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T20:36:10Z",
"mergedAt": "2025-12-17T20:46:12Z"
},
{
"url": "https://github.com/radix-ui/icons/pull/206",
"repo": "radix-ui/icons",
"number": 206,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T20:35:15Z",
"mergedAt": "2025-12-17T20:46:29Z"
},
{
"url": "https://github.com/radix-ui/website/pull/891",
"repo": "radix-ui/website",
"number": 891,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T20:33:31Z",
"mergedAt": "2025-12-17T20:46:20Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/35",
"repo": "workos/authkit-tanstack-start",
"number": 35,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:32:32Z",
"mergedAt": "2025-12-17T17:30:37Z"
},
{
"url": "https://github.com/workos/authkit-react-router/pull/55",
"repo": "workos/authkit-react-router",
"number": 55,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:30:09Z",
"mergedAt": "2025-12-17T17:30:57Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/345",
"repo": "workos/authkit-nextjs",
"number": 345,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:29:04Z",
"mergedAt": "2025-12-17T16:36:49Z"
},
{
"url": "https://github.com/workos/authkit/pull/64",
"repo": "workos/authkit",
"number": 64,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:28:19Z",
"mergedAt": "2025-12-17T17:31:02Z"
},
{
"url": "https://github.com/workos/workos-php-laravel/pull/70",
"repo": "workos/workos-php-laravel",
"number": 70,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:27:23Z",
"mergedAt": "2025-12-17T16:38:04Z"
},
{
"url": "https://github.com/workos/workos-python/pull/504",
"repo": "workos/workos-python",
"number": 504,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:25:40Z",
"mergedAt": "2025-12-17T16:37:43Z"
},
{
"url": "https://github.com/workos/workos-go/pull/483",
"repo": "workos/workos-go",
"number": 483,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:24:55Z",
"mergedAt": "2025-12-17T16:38:46Z"
},
{
"url": "https://github.com/workos/workos-php/pull/314",
"repo": "workos/workos-php",
"number": 314,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:24:07Z",
"mergedAt": "2025-12-17T16:37:22Z"
},
{
"url": "https://github.com/workos/workos-cli/pull/23",
"repo": "workos/workos-cli",
"number": 23,
"title": "Add context7.json to repo",
"state": "merged",
"additions": 4,
"deletions": 0,
"createdAt": "2025-12-17T16:22:34Z",
"mergedAt": "2025-12-17T17:31:13Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/38",
"repo": "workos/authkit-tanstack-start",
"number": 38,
"title": "v0.4.0",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-12-18T18:27:28Z",
"mergedAt": "2025-12-18T18:34:49Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/32",
"repo": "workos/authkit-tanstack-start",
"number": 32,
"title": "v0.3.1",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-12-16T18:35:58Z",
"mergedAt": "2025-12-16T19:30:19Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/30",
"repo": "workos/authkit-tanstack-start",
"number": 30,
"title": "Release v0.3.0",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-12-15T21:12:36Z",
"mergedAt": "2025-12-16T01:29:16Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/13",
"repo": "workos/authkit-session",
"number": 13,
"title": "v0.3.2",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-12-15T18:43:37Z",
"mergedAt": "2025-12-15T18:46:18Z"
}
],
"summary": "A cross-repo rollout of `context7.json` metadata files landed across the WorkOS and Radix UI ecosystems, touching SDKs and adapters spanning Node, Ruby, Go, PHP, Python, and CLI tooling, as well as `radix-ui/primitives`, `radix-ui/themes`, and related repos. Substantive work on `workos/authkit-tanstack-start` included CORS fixes in `#31`, option forwarding in `#36`, and a dependency refresh in `#28`, alongside `workos/workos-node#1416` replacing `iron-session` with `iron-webcrypto` v2 and a matching upgrade in `workos/authkit-session#12`. npm Trusted Publishers publish configuration was also rolled out uniformly across `workos/authkit-nextjs`, `workos/authkit-remix`, `workos/authkit-react`, `workos/authkit-js`, `workos/authkit-react-router`, `workos/authkit-session`, `workos/workos-node`, `workos/authkit-sveltekit`, and `workos/authkit-tanstack-start`."
},
{
"weekEnding": "2025-12-14",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/26",
"repo": "workos/authkit-tanstack-start",
"number": 26,
"title": "Fix client bundling and upgrade authkit-session to 0.3.0",
"state": "merged",
"additions": 3434,
"deletions": 2204,
"createdAt": "2025-12-03T15:04:36Z",
"mergedAt": "2025-12-10T19:22:56Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/344",
"repo": "workos/authkit-nextjs",
"number": 344,
"title": "v2.12.2",
"state": "merged",
"additions": 476,
"deletions": 453,
"createdAt": "2025-12-12T22:22:23Z",
"mergedAt": "2025-12-12T22:45:35Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/10",
"repo": "workos/authkit-session",
"number": 10,
"title": "Remove redundant encryption implementations",
"state": "merged",
"additions": 8,
"deletions": 596,
"createdAt": "2025-12-12T16:38:35Z",
"mergedAt": "2025-12-12T19:28:18Z"
},
{
"url": "https://github.com/workos/next-b2b-starter-kit/pull/15",
"repo": "workos/next-b2b-starter-kit",
"number": 15,
"title": "fix: bump Next.js dev dependency to patched version",
"state": "merged",
"additions": 230,
"deletions": 217,
"createdAt": "2025-12-11T23:25:18Z",
"mergedAt": "2025-12-11T23:40:04Z"
},
{
"url": "https://github.com/workos/next-authkit-example/pull/44",
"repo": "workos/next-authkit-example",
"number": 44,
"title": "Upgrade Next.js and React versions",
"state": "merged",
"additions": 52,
"deletions": 52,
"createdAt": "2025-12-11T22:42:56Z",
"mergedAt": "2025-12-11T23:37:52Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/341",
"repo": "workos/authkit-nextjs",
"number": 341,
"title": "fix: bump Next.js dev dependency to patched version",
"state": "merged",
"additions": 41,
"deletions": 41,
"createdAt": "2025-12-11T22:42:06Z",
"mergedAt": "2025-12-11T23:37:43Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/8",
"repo": "workos/authkit-session",
"number": 8,
"title": "Add userId and sessionId to TokenRefreshError",
"state": "merged",
"additions": 79,
"deletions": 2,
"createdAt": "2025-12-08T17:44:07Z",
"mergedAt": "2025-12-08T18:14:28Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/340",
"repo": "workos/authkit-nextjs",
"number": 340,
"title": "fix: handle full URLs in returnPathname to prevent malformed redirects",
"state": "merged",
"additions": 19,
"deletions": 11,
"createdAt": "2025-12-10T20:18:27Z",
"mergedAt": "2025-12-11T23:46:43Z"
},
{
"url": "https://github.com/nicknisi/nicknisi.com/pull/15",
"repo": "nicknisi/nicknisi.com",
"number": 15,
"title": "Fix code block visibility in light mode",
"state": "merged",
"additions": 22,
"deletions": 1,
"createdAt": "2025-12-08T22:25:40Z",
"mergedAt": "2025-12-08T22:30:37Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/342",
"repo": "workos/authkit-nextjs",
"number": 342,
"title": "fix: handle full URLs in returnPathname to prevent malformed redirects",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-12-11T23:49:16Z",
"mergedAt": "2025-12-11T23:50:39Z"
},
{
"url": "https://github.com/workos/authkit-react-router/pull/43",
"repo": "workos/authkit-react-router",
"number": 43,
"title": "feat: add organizationId to onSuccess callback",
"state": "merged",
"additions": 3,
"deletions": 1,
"createdAt": "2025-11-05T16:43:50Z",
"mergedAt": "2025-12-12T00:03:19Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/11",
"repo": "workos/authkit-session",
"number": 11,
"title": "v0.3.1",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-12-12T19:54:03Z",
"mergedAt": "2025-12-12T20:05:19Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/9",
"repo": "workos/authkit-session",
"number": 9,
"title": "v0.3.0",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-12-08T21:10:11Z",
"mergedAt": "2025-12-08T21:16:29Z"
}
],
"summary": "Work spanned multiple WorkOS AuthKit libraries, with the heaviest focus on `workos/authkit-tanstack-start#26`, which fixed client bundling and upgraded the shared session package to 0.3.0. Session-layer improvements landed in `workos/authkit-session#8` (adding `userId` and `sessionId` to `TokenRefreshError`) and `workos/authkit-session#10` (removing redundant encryption implementations), while `workos/authkit-nextjs#340` and `#342` hardened redirect handling for full URLs in `returnPathname`. Dependency patching for a Next.js security fix was applied across `workos/authkit-nextjs#341`, `workos/next-b2b-starter-kit#15`, and `workos/next-authkit-example#44`, with a minor light-mode fix also shipped to `nicknisi/nicknisi.com#15`."
},
{
"weekEnding": "2025-12-07",
"pullRequests": [
{
"url": "https://github.com/workos/workos-node/pull/1409",
"repo": "workos/workos-node",
"number": 1409,
"title": "[v8] Dependency Updates",
"state": "closed",
"additions": 10383,
"deletions": 4362,
"createdAt": "2025-12-02T16:55:11Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/next-authkit-example/pull/42",
"repo": "workos/next-authkit-example",
"number": 42,
"title": "Update example to latest authkit-nextjs, Next.js",
"state": "closed",
"additions": 3748,
"deletions": 2358,
"createdAt": "2025-12-03T18:41:44Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-session/pull/6",
"repo": "workos/authkit-session",
"number": 6,
"title": "Extract authentication business logic and remove deprecated code",
"state": "merged",
"additions": 2199,
"deletions": 2210,
"createdAt": "2025-11-19T19:13:21Z",
"mergedAt": "2025-12-03T00:02:29Z"
},
{
"url": "https://github.com/workos/next-authkit-example/pull/43",
"repo": "workos/next-authkit-example",
"number": 43,
"title": "Update example app to latest authkit-nextjs, Next.js",
"state": "merged",
"additions": 1279,
"deletions": 932,
"createdAt": "2025-12-03T18:53:59Z",
"mergedAt": "2025-12-03T18:57:07Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1413",
"repo": "workos/workos-node",
"number": 1413,
"title": "[v8] fix: migrate from tsup to tsdown for faster, lower-memory builds",
"state": "merged",
"additions": 1054,
"deletions": 715,
"createdAt": "2025-12-04T16:50:38Z",
"mergedAt": "2025-12-04T22:25:20Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1404",
"repo": "workos/workos-node",
"number": 1404,
"title": "Add randomUUID to CryptoProvider for edge runtime compatibility",
"state": "merged",
"additions": 84,
"deletions": 2,
"createdAt": "2025-12-01T23:14:04Z",
"mergedAt": "2025-12-02T00:35:20Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1408",
"repo": "workos/workos-node",
"number": 1408,
"title": "[v8] Improve performance of audit log tests",
"state": "merged",
"additions": 37,
"deletions": 24,
"createdAt": "2025-12-02T01:37:12Z",
"mergedAt": "2025-12-02T15:43:33Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1412",
"repo": "workos/workos-node",
"number": 1412,
"title": "v8.0.0-rc.4",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-12-04T15:20:11Z",
"mergedAt": "2025-12-04T22:30:43Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/336",
"repo": "workos/authkit-nextjs",
"number": 336,
"title": "v2.12.0",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-12-02T17:48:03Z",
"mergedAt": "2025-12-03T00:07:32Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1407",
"repo": "workos/workos-node",
"number": 1407,
"title": "v7.75.1",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-12-02T00:36:42Z",
"mergedAt": "2025-12-02T00:59:12Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/339",
"repo": "workos/authkit-nextjs",
"number": 339,
"title": "Switch runner to ubuntu-latest for socket action",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2025-12-03T20:07:36Z",
"mergedAt": "2025-12-03T20:08:45Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/7",
"repo": "workos/authkit-session",
"number": 7,
"title": "v0.2.0",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-12-03T00:06:12Z",
"mergedAt": "2025-12-03T00:09:45Z"
}
],
"summary": "Auth infrastructure and SDK tooling dominated the week across `workos/workos-node`, `workos/authkit-nextjs`, and `workos/authkit-session`. Key changes included extracting authentication business logic and removing deprecated code in `workos/authkit-session#6`, migrating `workos/workos-node` from tsup to tsdown for faster and lower-memory builds in `workos/workos-node#1413`, and adding `randomUUID` to `CryptoProvider` for edge runtime compatibility in `workos/workos-node#1404`. Several release cuts shipped across repos — `v8.0.0-rc.4`, `v7.75.1`, `v2.12.0`, and `v0.2.0` — alongside example app updates in `workos/next-authkit-example#42` and `#43`."
},
{
"weekEnding": "2025-11-30",
"pullRequests": [
{
"url": "https://github.com/workos/workos-node/pull/1398",
"repo": "workos/workos-node",
"number": 1398,
"title": "[v8] Use globalThis.crypto.randomUUID for runtime-agnostic UUIDs",
"state": "merged",
"additions": 3,
"deletions": 2,
"createdAt": "2025-11-24T16:24:13Z",
"mergedAt": "2025-11-24T16:54:04Z"
}
],
"summary": "A small but targeted change landed in `workos/workos-node#1398`, swapping in `globalThis.crypto.randomUUID` to make UUID generation runtime-agnostic. Parallel work touched the `workos-php` project, though nothing from that effort shipped publicly by week's end."
},
{
"weekEnding": "2025-11-23",
"pullRequests": [
{
"url": "https://github.com/workos/template-convex-nextjs-authkit/pull/17",
"repo": "workos/template-convex-nextjs-authkit",
"number": 17,
"title": "Fix AuthKit + Convex race condition on laptop wake",
"state": "merged",
"additions": 42,
"deletions": 17,
"createdAt": "2025-10-31T20:43:00Z",
"mergedAt": "2025-11-19T19:34:10Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/333",
"repo": "workos/authkit-nextjs",
"number": 333,
"title": "v2.11.1",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-11-20T19:12:19Z",
"mergedAt": "2025-11-20T19:15:02Z"
},
{
"url": "https://github.com/workos/workos-ruby/pull/410",
"repo": "workos/workos-ruby",
"number": 410,
"title": "v5.29.0",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2025-11-21T20:43:54Z",
"mergedAt": "2025-11-21T20:46:10Z"
},
{
"url": "https://github.com/workos/workos-ruby/pull/407",
"repo": "workos/workos-ruby",
"number": 407,
"title": "v5.28.0",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2025-11-19T21:49:07Z",
"mergedAt": "2025-11-20T13:09:05Z"
},
{
"url": "https://github.com/workos/workos-ruby/pull/406",
"repo": "workos/workos-ruby",
"number": 406,
"title": "Fix reset_password to handle wrapped API response",
"state": "merged",
"additions": 2,
"deletions": 2,
"createdAt": "2025-11-19T20:28:35Z",
"mergedAt": "2025-11-19T21:45:17Z"
}
],
"summary": "Work centered on `workos/authkit-nextjs`, culminating in a patch release (`#333`) and a fix in `workos/template-convex-nextjs-authkit#17` addressing a race condition between AuthKit and Convex that surfaced on laptop wake. On the Ruby SDK side, `workos/workos-ruby#406` corrected response parsing in `reset_password` for wrapped API responses, followed by two version bumps in `#407` and `#410`."
},
{
"weekEnding": "2025-11-16",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-js/pull/95",
"repo": "workos/authkit-js",
"number": 95,
"title": "v0.15.0",
"state": "merged",
"additions": 3,
"deletions": 3,
"createdAt": "2025-11-13T00:11:20Z",
"mergedAt": "2025-11-13T00:12:19Z"
}
],
"summary": "Shipped `workos/authkit-js#95` bumping the library to v0.15.0. The bulk of AI-assisted work touched `claude-plugins` and an internal project, with lighter sessions across `authkit-session`, `workos-node`, and dotfiles maintenance."
},
{
"weekEnding": "2025-11-09",
"pullRequests": [
{
"url": "https://github.com/workos/workos-node/pull/1382",
"repo": "workos/workos-node",
"number": 1382,
"title": "[v8] Replace leb and qs deps with vanilla implementations",
"state": "merged",
"additions": 1509,
"deletions": 645,
"createdAt": "2025-11-06T17:07:05Z",
"mergedAt": "2025-11-06T20:23:14Z"
},
{
"url": "https://github.com/nicknisi/dotfiles/pull/240",
"repo": "nicknisi/dotfiles",
"number": 240,
"title": "refactor: migrate dot command to use GNU Stow",
"state": "closed",
"additions": 166,
"deletions": 221,
"createdAt": "2025-11-09T02:03:18Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/workos-go/pull/473",
"repo": "workos/workos-go",
"number": 473,
"title": "v6.0.0",
"state": "merged",
"additions": 102,
"deletions": 102,
"createdAt": "2025-10-30T16:32:23Z",
"mergedAt": "2025-11-06T15:58:55Z"
},
{
"url": "https://github.com/workos/authkit-session/pull/5",
"repo": "workos/authkit-session",
"number": 5,
"title": "v0.1.3",
"state": "merged",
"additions": 9,
"deletions": 191,
"createdAt": "2025-11-06T20:59:14Z",
"mergedAt": "2025-11-06T21:06:31Z"
}
],
"summary": "Dependency reduction and versioning drove most of the shipped work: `workos/workos-node#1382` replaced the `leb` and `qs` dependencies with vanilla implementations, and `workos/authkit-session#5` landed a patch trimming more code than it added. `workos/workos-go#473` cut a v6.0.0 major release, while `nicknisi/dotfiles#240` refactored the `dot` command to use GNU Stow, though that PR was ultimately closed."
},
{
"weekEnding": "2025-11-02",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/12",
"repo": "workos/authkit-tanstack-start",
"number": 12,
"title": "Package updates and type fixes",
"state": "merged",
"additions": 1237,
"deletions": 1890,
"createdAt": "2025-10-24T22:07:22Z",
"mergedAt": "2025-10-27T16:37:05Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/331",
"repo": "workos/authkit-nextjs",
"number": 331,
"title": "Add Next.js 16 support",
"state": "merged",
"additions": 208,
"deletions": 232,
"createdAt": "2025-10-29T21:53:14Z",
"mergedAt": "2025-10-29T22:18:20Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/332",
"repo": "workos/authkit-nextjs",
"number": 332,
"title": "fix: prevent caching issues on authenticated pages",
"state": "closed",
"additions": 84,
"deletions": 10,
"createdAt": "2025-11-02T22:43:32Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/workos-node/pull/1371",
"repo": "workos/workos-node",
"number": 1371,
"title": "[v8] Add dynamic import wrapper for jose to support Node.js 20.15-20.18",
"state": "merged",
"additions": 52,
"deletions": 26,
"createdAt": "2025-10-20T19:38:28Z",
"mergedAt": "2025-10-28T17:20:59Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/327",
"repo": "workos/authkit-nextjs",
"number": 327,
"title": "docs: fix state parameter type documentation to match implementation",
"state": "merged",
"additions": 30,
"deletions": 24,
"createdAt": "2025-10-28T16:38:52Z",
"mergedAt": "2025-10-29T22:29:13Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/16",
"repo": "workos/authkit-tanstack-start",
"number": 16,
"title": "fix: correct handleCallbackRoute usage in README examples",
"state": "merged",
"additions": 37,
"deletions": 2,
"createdAt": "2025-10-29T13:37:00Z",
"mergedAt": "2025-10-29T16:22:50Z"
},
{
"url": "https://github.com/workos/workos-go/pull/471",
"repo": "workos/workos-go",
"number": 471,
"title": "Change organization metadata to map[string]*string",
"state": "merged",
"additions": 20,
"deletions": 11,
"createdAt": "2025-10-30T14:22:18Z",
"mergedAt": "2025-10-30T16:29:44Z"
},
{
"url": "https://github.com/workos/workos-go/pull/472",
"repo": "workos/workos-go",
"number": 472,
"title": "Fix UpdateOrganization JSON serialization",
"state": "merged",
"additions": 3,
"deletions": 3,
"createdAt": "2025-10-30T14:36:19Z",
"mergedAt": "2025-10-30T16:29:29Z"
},
{
"url": "https://github.com/workos/workos-go/pull/474",
"repo": "workos/workos-go",
"number": 474,
"title": "Fix CreateOrganizationOpts.Metadata to use map[string]string",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-10-30T16:55:56Z",
"mergedAt": "2025-10-30T17:00:44Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/15",
"repo": "workos/authkit-tanstack-start",
"number": 15,
"title": "change node version in release version",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-10-27T17:26:56Z",
"mergedAt": "2025-10-27T17:27:47Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/13",
"repo": "workos/authkit-tanstack-start",
"number": 13,
"title": "v0.2.0",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-10-24T22:13:34Z",
"mergedAt": "2025-10-27T17:22:17Z"
}
],
"summary": "Work spanned framework integrations, SDK fixes, and documentation corrections across `workos/authkit-nextjs`, `workos/authkit-tanstack-start`, and `workos/workos-go`. Next.js 16 support landed in `authkit-nextjs#331`, a dynamic import wrapper for `jose` was added in `workos-node#1371` to handle Node.js 20.15–20.18 compatibility, and a series of Go SDK patches (`workos-go#471`, `#472`, `#474`) corrected organization metadata types and JSON serialization. The `authkit-tanstack-start` library also saw package updates, type fixes, and a `v0.2.0` release across `#12`, `#13`, and `#15`."
},
{
"weekEnding": "2025-10-26",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-nextjs/pull/325",
"repo": "workos/authkit-nextjs",
"number": 325,
"title": "feat: Add Cookie Chunking to handle large JWTs",
"state": "closed",
"additions": 529,
"deletions": 11,
"createdAt": "2025-10-20T11:19:56Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/9",
"repo": "workos/authkit-tanstack-start",
"number": 9,
"title": "feat: add onSuccess and onError hooks to callback route",
"state": "merged",
"additions": 295,
"deletions": 16,
"createdAt": "2025-10-20T13:54:19Z",
"mergedAt": "2025-10-23T16:39:24Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/10",
"repo": "workos/authkit-tanstack-start",
"number": 10,
"title": "chore: remove dotenv from example vite.config",
"state": "merged",
"additions": 0,
"deletions": 14,
"createdAt": "2025-10-20T15:28:44Z",
"mergedAt": "2025-10-23T16:39:08Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/8",
"repo": "workos/authkit-tanstack-start",
"number": 8,
"title": "Fix signOut to delete the configured session cookie name",
"state": "merged",
"additions": 7,
"deletions": 4,
"createdAt": "2025-10-20T11:54:45Z",
"mergedAt": "2025-10-23T16:39:45Z"
},
{
"url": "https://github.com/workos/workos-python/pull/488",
"repo": "workos/workos-python",
"number": 488,
"title": "v5.31.2",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-10-15T20:18:47Z",
"mergedAt": "2025-10-20T14:23:09Z"
}
],
"summary": "Cookie chunking for large JWTs landed in `workos/authkit-nextjs#325`, and work on `workos/authkit-tanstack-start` covered callback route lifecycle hooks (`#9`), a `signOut` session cookie bug fix (`#8`), and a Vite config cleanup (`#10`). A patch release was cut in `workos/workos-python#488`."
},
{
"weekEnding": "2025-10-19",
"pullRequests": [
{
"url": "https://github.com/workos/workos-node/pull/1369",
"repo": "workos/workos-node",
"number": 1369,
"title": "Default PaginationOptions on AutoPaginatable",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-10-13T17:00:14Z",
"mergedAt": "2025-10-13T17:37:08Z"
}
],
"summary": "A small but precise fix landed in `workos/workos-node#1369`, defaulting `PaginationOptions` on `AutoPaginatable` with a one-line change."
},
{
"weekEnding": "2025-10-12",
"pullRequests": [
{
"url": "https://github.com/workos/workos-node/pull/1368",
"repo": "workos/workos-node",
"number": 1368,
"title": "[v8] Update Dependencies ",
"state": "merged",
"additions": 2513,
"deletions": 1313,
"createdAt": "2025-10-08T22:45:27Z",
"mergedAt": "2025-10-10T00:18:03Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/314",
"repo": "workos/authkit-nextjs",
"number": 314,
"title": "feat: Add support for passing custom state data through authentication flow",
"state": "merged",
"additions": 205,
"deletions": 18,
"createdAt": "2025-09-25T20:25:22Z",
"mergedAt": "2025-10-08T16:12:27Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1365",
"repo": "workos/workos-node",
"number": 1365,
"title": "Remove deprecated properties for v8",
"state": "merged",
"additions": 6,
"deletions": 208,
"createdAt": "2025-10-07T19:41:02Z",
"mergedAt": "2025-10-07T20:18:49Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/3",
"repo": "workos/authkit-tanstack-start",
"number": 3,
"title": "Prepare package for v0.1.0 release",
"state": "merged",
"additions": 38,
"deletions": 3,
"createdAt": "2025-10-06T15:40:48Z",
"mergedAt": "2025-10-06T15:44:14Z"
},
{
"url": "https://github.com/workos/workos-node/pull/1366",
"repo": "workos/workos-node",
"number": 1366,
"title": "[v8] drop node 18",
"state": "merged",
"additions": 16,
"deletions": 16,
"createdAt": "2025-10-07T20:17:49Z",
"mergedAt": "2025-10-08T13:47:33Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/2",
"repo": "workos/authkit-tanstack-start",
"number": 2,
"title": "build fixes",
"state": "merged",
"additions": 14,
"deletions": 2,
"createdAt": "2025-10-06T15:06:23Z",
"mergedAt": "2025-10-06T15:08:13Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/319",
"repo": "workos/authkit-nextjs",
"number": 319,
"title": "v2.10.0",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-10-08T16:14:50Z",
"mergedAt": "2025-10-08T16:15:58Z"
},
{
"url": "https://github.com/workos/workos-kotlin/pull/296",
"repo": "workos/workos-kotlin",
"number": 296,
"title": "Update Nexus publishing endpoints",
"state": "merged",
"additions": 3,
"deletions": 2,
"createdAt": "2025-10-09T19:34:53Z",
"mergedAt": "2025-10-09T19:59:44Z"
}
],
"summary": "Work spanned a v8 major release push for `workos/workos-node`, including dependency updates (`#1368`), removal of deprecated properties (`#1365`), and dropping Node 18 support (`#1366`). On the auth adapter side, `workos/authkit-nextjs#314` added support for passing custom state data through the authentication flow, and `workos/authkit-tanstack-start` saw its initial v0.1.0 release prepared across `#2` and `#3`. A smaller fix landed in `workos/workos-kotlin#296` updating Nexus publishing endpoints."
},
{
"weekEnding": "2025-10-05",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-session/pull/4",
"repo": "workos/authkit-session",
"number": 4,
"title": "Refactor project to support tanstack start",
"state": "merged",
"additions": 903,
"deletions": 1305,
"createdAt": "2025-10-04T15:33:40Z",
"mergedAt": "2025-10-04T15:54:23Z"
},
{
"url": "https://github.com/workos/authkit-tanstack-start/pull/1",
"repo": "workos/authkit-tanstack-start",
"number": 1,
"title": "add CI",
"state": "closed",
"additions": 233,
"deletions": 0,
"createdAt": "2025-10-03T19:49:52Z",
"mergedAt": null
}
],
"summary": "Refactored `workos/authkit-session#4` to support TanStack Start, with the changes involving notable removals alongside new additions as part of restructuring the session layer. Separately, added CI configuration in `workos/authkit-tanstack-start#1` to support the new integration."
},
{
"weekEnding": "2025-09-28",
"pullRequests": [
{
"url": "https://github.com/workos/workos-node/pull/1354",
"repo": "workos/workos-node",
"number": 1354,
"title": "[V8] create client API for methods that don't require an API key",
"state": "merged",
"additions": 726,
"deletions": 152,
"createdAt": "2025-09-03T19:46:54Z",
"mergedAt": "2025-09-23T15:52:40Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/313",
"repo": "workos/authkit-nextjs",
"number": 313,
"title": "Fix docs around eagerAuth usage",
"state": "merged",
"additions": 3,
"deletions": 3,
"createdAt": "2025-09-25T15:20:45Z",
"mergedAt": "2025-09-25T15:32:54Z"
}
],
"summary": "Work centered on the `workos/workos-node` SDK, where `#1354` introduced a client API for methods that don't require an API key as part of a V8 update. A small docs fix landed in `workos/authkit-nextjs#313` correcting eagerAuth usage guidance, and there was additional work in the public `authkit-tanstack-start` project."
},
{
"weekEnding": "2025-09-21",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-nextjs/pull/306",
"repo": "workos/authkit-nextjs",
"number": 306,
"title": "Fix SSR hydration mismatch in tokenStore",
"state": "merged",
"additions": 16,
"deletions": 6,
"createdAt": "2025-09-16T02:25:02Z",
"mergedAt": "2025-09-16T15:49:01Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/307",
"repo": "workos/authkit-nextjs",
"number": 307,
"title": "v2.7.1",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-09-16T15:50:57Z",
"mergedAt": "2025-09-16T16:23:46Z"
},
{
"url": "https://github.com/workos/template-convex-nextjs-authkit/pull/12",
"repo": "workos/template-convex-nextjs-authkit",
"number": 12,
"title": "Simplify authentication state management with eagerAuth",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-09-16T02:52:22Z",
"mergedAt": "2025-09-16T19:30:24Z"
},
{
"url": "https://github.com/workos/react-native-expo-example-app/pull/46",
"repo": "workos/react-native-expo-example-app",
"number": 46,
"title": "add warning to readme",
"state": "merged",
"additions": 5,
"deletions": 0,
"createdAt": "2025-09-16T14:59:48Z",
"mergedAt": "2025-09-16T16:30:31Z"
}
],
"summary": "Work centered on `workos/authkit-nextjs`, where #306 patched an SSR hydration mismatch in `tokenStore` and #307 cut the v2.7.1 release. Peripheral changes landed in `workos/template-convex-nextjs-authkit#12`, simplifying authentication state management with `eagerAuth`, and `workos/react-native-expo-example-app#46` added a readme warning."
},
{
"weekEnding": "2025-09-14",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-session/pull/2",
"repo": "workos/authkit-session",
"number": 2,
"title": "Setup and add tests",
"state": "merged",
"additions": 2665,
"deletions": 114,
"createdAt": "2025-09-11T02:34:26Z",
"mergedAt": "2025-09-11T02:43:01Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/301",
"repo": "workos/authkit-nextjs",
"number": 301,
"title": "Add eager auth for synchronous token access",
"state": "merged",
"additions": 1264,
"deletions": 104,
"createdAt": "2025-09-09T20:54:16Z",
"mergedAt": "2025-09-11T21:17:18Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/304",
"repo": "workos/authkit-nextjs",
"number": 304,
"title": "Move tests inline",
"state": "merged",
"additions": 96,
"deletions": 96,
"createdAt": "2025-09-11T21:58:16Z",
"mergedAt": "2025-09-11T22:07:31Z"
},
{
"url": "https://github.com/workos/template-convex-nextjs-authkit/pull/8",
"repo": "workos/template-convex-nextjs-authkit",
"number": 8,
"title": "fix: JWT refresh handling",
"state": "merged",
"additions": 26,
"deletions": 20,
"createdAt": "2025-09-05T12:04:51Z",
"mergedAt": "2025-09-08T17:16:33Z"
},
{
"url": "https://github.com/workos/template-convex-nextjs-authkit/pull/11",
"repo": "workos/template-convex-nextjs-authkit",
"number": 11,
"title": "Enable eagerAuth for immediate access token availability",
"state": "merged",
"additions": 4,
"deletions": 6,
"createdAt": "2025-09-11T23:19:07Z",
"mergedAt": "2025-09-11T23:55:41Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/303",
"repo": "workos/authkit-nextjs",
"number": 303,
"title": "reduce test coverage thresholds to 80%",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-09-11T21:34:39Z",
"mergedAt": "2025-09-11T22:07:02Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/302",
"repo": "workos/authkit-nextjs",
"number": 302,
"title": "v2.7.0",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-09-11T21:18:54Z",
"mergedAt": "2025-09-11T22:39:25Z"
},
{
"url": "https://github.com/workos/template-convex-nextjs-authkit/pull/9",
"repo": "workos/template-convex-nextjs-authkit",
"number": 9,
"title": "Fix CORS errors on auth buttons",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-09-10T16:05:22Z",
"mergedAt": "2025-09-10T17:27:40Z"
}
],
"summary": "Work centered on `workos/authkit-nextjs` and a new `workos/authkit-session` library, shipping eager auth for synchronous token access (`authkit-nextjs#301`), test reorganization (`authkit-nextjs#304`), and the `v2.7.0` release (`authkit-nextjs#302`). `workos/authkit-session#2` established the package with initial setup and tests. The `workos/template-convex-nextjs-authkit` repo received fixes for JWT refresh handling, CORS errors on auth buttons, and was updated to enable `eagerAuth` for immediate access token availability."
},
{
"weekEnding": "2025-09-07",
"pullRequests": [
{
"url": "https://github.com/workos/workos-go/pull/458",
"repo": "workos/workos-go",
"number": 458,
"title": "feat: Migrate to v5.0.0",
"state": "merged",
"additions": 98,
"deletions": 98,
"createdAt": "2025-09-05T17:55:50Z",
"mergedAt": "2025-09-05T18:06:33Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/297",
"repo": "workos/authkit-nextjs",
"number": 297,
"title": "Fix: Show loading state during initial token fetch to prevent flash",
"state": "merged",
"additions": 83,
"deletions": 16,
"createdAt": "2025-08-29T16:12:48Z",
"mergedAt": "2025-09-02T22:16:02Z"
},
{
"url": "https://github.com/workos/workos-go/pull/457",
"repo": "workos/workos-go",
"number": 457,
"title": "Re-introduce metadata removal support",
"state": "merged",
"additions": 82,
"deletions": 9,
"createdAt": "2025-09-05T17:25:22Z",
"mergedAt": "2025-09-05T17:53:44Z"
},
{
"url": "https://github.com/workos/workos-go/pull/455",
"repo": "workos/workos-go",
"number": 455,
"title": "Fix: Revert breaking change in v4.46.0 to maintain backward compatibility",
"state": "merged",
"additions": 9,
"deletions": 82,
"createdAt": "2025-09-05T17:01:57Z",
"mergedAt": "2025-09-05T17:21:37Z"
},
{
"url": "https://github.com/workos/authkit-react-router/pull/39",
"repo": "workos/authkit-react-router",
"number": 39,
"title": "Fix infinite redirects with load balancer TLS termination",
"state": "merged",
"additions": 79,
"deletions": 0,
"createdAt": "2025-08-22T13:37:46Z",
"mergedAt": "2025-09-02T23:25:52Z"
},
{
"url": "https://github.com/workos/workos-go/pull/452",
"repo": "workos/workos-go",
"number": 452,
"title": "Fix broken Go syntax and missing imports in README",
"state": "merged",
"additions": 32,
"deletions": 10,
"createdAt": "2025-09-01T04:15:28Z",
"mergedAt": "2025-09-02T16:24:18Z"
},
{
"url": "https://github.com/workos/authkit-react/pull/69",
"repo": "workos/authkit-react",
"number": 69,
"title": "Add impersonator support",
"state": "merged",
"additions": 21,
"deletions": 5,
"createdAt": "2025-09-03T14:13:17Z",
"mergedAt": "2025-09-03T17:18:12Z"
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/298",
"repo": "workos/authkit-nextjs",
"number": 298,
"title": "v2.6.0",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-09-02T22:22:21Z",
"mergedAt": "2025-09-02T23:01:56Z"
},
{
"url": "https://github.com/workos/authkit-react/pull/70",
"repo": "workos/authkit-react",
"number": 70,
"title": "v0.12.0",
"state": "merged",
"additions": 3,
"deletions": 3,
"createdAt": "2025-09-03T17:21:01Z",
"mergedAt": "2025-09-03T17:23:52Z"
},
{
"url": "https://github.com/workos/workos-go/pull/456",
"repo": "workos/workos-go",
"number": 456,
"title": "Update version to v4.46.1",
"state": "merged",
"additions": 1,
"deletions": 1,
"createdAt": "2025-09-05T17:22:38Z",
"mergedAt": "2025-09-05T17:43:25Z"
}
],
"summary": "Work spanned two main areas: auth SDK fixes across `authkit-nextjs`, `authkit-react`, and `authkit-react-router`, and a busy patch/release cycle in `workos-go`. On the auth side, `authkit-nextjs#297` addressed a loading state flash during initial token fetch, `authkit-react-router#39` fixed infinite redirect loops caused by load balancer TLS termination, and `authkit-react#69` added impersonator support. In `workos-go`, a breaking change introduced in v4.46.0 was reverted via `#455`, metadata removal support was re-introduced cleanly in `#457`, and `#458` completed a v5.0.0 migration alongside README fixes in `#452`."
},
{
"weekEnding": "2025-08-31",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-chrome-extension-example/pull/4",
"repo": "workos/authkit-chrome-extension-example",
"number": 4,
"title": "Remove authkit-ssr dependency and API key requirement",
"state": "closed",
"additions": 2929,
"deletions": 4023,
"createdAt": "2025-08-25T20:04:00Z",
"mergedAt": null
},
{
"url": "https://github.com/workos/authkit-nextjs/pull/296",
"repo": "workos/authkit-nextjs",
"number": 296,
"title": "fix: allow signOut to work outside middleware coverage",
"state": "merged",
"additions": 72,
"deletions": 3,
"createdAt": "2025-08-28T20:37:52Z",
"mergedAt": "2025-08-29T02:05:29Z"
}
],
"summary": "Shipped `workos/authkit-nextjs#296` fixing `signOut` behavior for routes outside middleware coverage, and closed `workos/authkit-chrome-extension-example#4` which removed the `authkit-ssr` dependency and API key requirement from the Chrome extension example, simplifying the auth setup considerably. Work spanned both a targeted bug fix and a dependency/architecture cleanup across two WorkOS auth libraries."
},
{
"weekEnding": "2025-08-24",
"pullRequests": [
{
"url": "https://github.com/workos/authkit-remix/pull/78",
"repo": "workos/authkit-remix",
"number": 78,
"title": "Fix infinite redirects with load balancer TLS termination",
"state": "merged",
"additions": 79,
"deletions": 0,
"createdAt": "2025-08-22T00:58:40Z",
"mergedAt": "2025-08-22T13:44:30Z"
},
{
"url": "https://github.com/workos/authkit-remix/pull/79",
"repo": "workos/authkit-remix",
"number": 79,
"title": "v0.16.2",
"state": "merged",
"additions": 4,
"deletions": 4,
"createdAt": "2025-08-22T13:45:37Z",
"mergedAt": "2025-08-22T15:19:12Z"
}
],
"summary": "Work centered on `workos/authkit-remix`, shipping a bug fix for infinite redirect loops caused by load balancer TLS termination (#78) and the corresponding patch release #79 (`v0.16.2`)."
}
],
"insights": {
"weekly": [
{
"weekEnding": "2025-08-24",
"tokens": 0,
"costUSD": 0,
"sessions": 66,
"messages": 76,
"byTool": {
"opencode": {
"tokens": 0,
"costUSD": 0
}
},
"prsMerged": 2,
"additions": 83,
"deletions": 4
},
{
"weekEnding": "2025-08-31",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 1,
"additions": 72,
"deletions": 3
},
{
"weekEnding": "2025-09-07",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 10,
"additions": 412,
"deletions": 228
},
{
"weekEnding": "2025-09-14",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 8,
"additions": 4067,
"deletions": 352
},
{
"weekEnding": "2025-09-21",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 4,
"additions": 29,
"deletions": 14
},
{
"weekEnding": "2025-09-28",
"tokens": 19164068,
"costUSD": 94.63,
"sessions": 2,
"messages": 460,
"byTool": {
"codex": {
"tokens": 19164068,
"costUSD": 94.63
}
},
"prsMerged": 2,
"additions": 729,
"deletions": 155
},
{
"weekEnding": "2025-10-05",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 1,
"additions": 903,
"deletions": 1305
},
{
"weekEnding": "2025-10-12",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 8,
"additions": 2799,
"deletions": 1566
},
{
"weekEnding": "2025-10-19",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 1,
"additions": 1,
"deletions": 1
},
{
"weekEnding": "2025-10-26",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 4,
"additions": 303,
"deletions": 35
},
{
"weekEnding": "2025-11-02",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 10,
"additions": 1590,
"deletions": 2191
},
{
"weekEnding": "2025-11-09",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 3,
"additions": 1620,
"deletions": 938
},
{
"weekEnding": "2025-11-16",
"tokens": 2281593,
"costUSD": 0,
"sessions": 11,
"messages": 115,
"byTool": {
"codex": {
"tokens": 2281593,
"costUSD": 0
}
},
"prsMerged": 1,
"additions": 3,
"deletions": 3
},
{
"weekEnding": "2025-11-23",
"tokens": 1133883,
"costUSD": 0,
"sessions": 1,
"messages": 43,
"byTool": {
"codex": {
"tokens": 1133883,
"costUSD": 0
}
},
"prsMerged": 5,
"additions": 52,
"deletions": 27
},
{
"weekEnding": "2025-11-30",
"tokens": 11300,
"costUSD": 0,
"sessions": 1,
"messages": 1,
"byTool": {
"codex": {
"tokens": 11300,
"costUSD": 0
}
},
"prsMerged": 1,
"additions": 3,
"deletions": 2
},
{
"weekEnding": "2025-12-07",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 10,
"additions": 4668,
"deletions": 3898
},
{
"weekEnding": "2025-12-14",
"tokens": 6997831,
"costUSD": 0,
"sessions": 1,
"messages": 146,
"byTool": {
"codex": {
"tokens": 6997831,
"costUSD": 0
}
},
"prsMerged": 13,
"additions": 4370,
"deletions": 3584
},
{
"weekEnding": "2025-12-21",
"tokens": 3529090,
"costUSD": 0,
"sessions": 4,
"messages": 142,
"byTool": {
"codex": {
"tokens": 3529090,
"costUSD": 0
}
},
"prsMerged": 40,
"additions": 1455,
"deletions": 1395
},
{
"weekEnding": "2025-12-28",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 2,
"additions": 165,
"deletions": 3
},
{
"weekEnding": "2026-01-04",
"tokens": 0,
"costUSD": 0,
"sessions": 0,
"messages": 0,
"byTool": {},
"prsMerged": 0,
"additions": 0,
"deletions": 0
},
{
"weekEnding": "2026-01-11",
"tokens": 606470,
"costUSD": 3.34,
"sessions": 16,
"messages": 93,
"byTool": {
"claude-code": {
"tokens": 564990,
"costUSD": 3.03
},
"opencode": {
"tokens": 41480,
"costUSD": 0.31
}
},
"prsMerged": 12,
"additions": 3948,
"deletions": 2828
},
{
"weekEnding": "2026-01-18",
"tokens": 2313295,
"costUSD": 9.32,
"sessions": 29,
"messages": 364,
"byTool": {
"claude-code": {
"tokens": 2313295,
"costUSD": 9.32
}
},
"prsMerged": 14,
"additions": 23484,
"deletions": 14950
},
{
"weekEnding": "2026-01-25",
"tokens": 2552505,
"costUSD": 14.05,
"sessions": 23,
"messages": 511,
"byTool": {
"claude-code": {
"tokens": 2552505,
"costUSD": 14.05
}
},
"prsMerged": 19,
"additions": 9880,
"deletions": 8261
},
{
"weekEnding": "2026-02-01",
"tokens": 4023543,
"costUSD": 29.47,
"sessions": 45,
"messages": 596,
"byTool": {
"claude-code": {
"tokens": 4023543,
"costUSD": 29.47
}
},
"prsMerged": 13,
"additions": 5264,
"deletions": 927
},
{
"weekEnding": "2026-02-08",
"tokens": 5212100,
"costUSD": 35.18,
"sessions": 32,
"messages": 746,
"byTool": {
"claude-code": {
"tokens": 5309704,
"costUSD": 35.79
}
},
"prsMerged": 9,
"additions": 13357,
"deletions": 2805
},
{
"weekEnding": "2026-02-15",
"tokens": 9127421,
"costUSD": 119.28,
"sessions": 35,
"messages": 3803,
"byTool": {
"claude-code": {
"tokens": 12715517,
"costUSD": 183.67
}
},
"prsMerged": 11,
"additions": 16577,
"deletions": 5194
},
{
"weekEnding": "2026-02-22",
"tokens": 25470196,
"costUSD": 348.73,
"sessions": 34,
"messages": 3350,
"byTool": {
"claude-code": {
"tokens": 25742596,
"costUSD": 352.09
}
},
"prsMerged": 7,
"additions": 16464,
"deletions": 16362
},
{
"weekEnding": "2026-03-01",
"tokens": 24969857,
"costUSD": 419.65,
"sessions": 59,
"messages": 4219,
"byTool": {
"claude-code": {
"tokens": 19582072,
"costUSD": 411.17
},
"codex": {
"tokens": 5897057,
"costUSD": 15.58
}
},
"prsMerged": 6,
"additions": 11552,
"deletions": 5223
},
{
"weekEnding": "2026-03-08",
"tokens": 35873520,
"costUSD": 775.8,
"sessions": 67,
"messages": 12496,
"byTool": {
"claude-code": {
"tokens": 41494474,
"costUSD": 904.32
},
"codex": {
"tokens": 1681128,
"costUSD": 5.26
}
},
"prsMerged": 14,
"additions": 37840,
"deletions": 13250
},
{
"weekEnding": "2026-03-15",
"tokens": 21660954,
"costUSD": 423.33,
"sessions": 75,
"messages": 6993,
"byTool": {
"claude-code": {
"tokens": 23812137,
"costUSD": 468.31
},
"codex": {
"tokens": 671893,
"costUSD": 4.05
}
},
"prsMerged": 6,
"additions": 9476,
"deletions": 7422
},
{
"weekEnding": "2026-03-22",
"tokens": 20498369,
"costUSD": 376.81,
"sessions": 152,
"messages": 5446,
"byTool": {
"claude-code": {
"tokens": 13926978,
"costUSD": 288
},
"codex": {
"tokens": 1379865,
"costUSD": 4.8
},
"pi": {
"tokens": 5313176,
"costUSD": 85.73
}
},
"prsMerged": 13,
"additions": 1734,
"deletions": 615
},
{
"weekEnding": "2026-03-29",
"tokens": 31278141,
"costUSD": 595.58,
"sessions": 129,
"messages": 7604,
"byTool": {
"claude-code": {
"tokens": 25829920,
"costUSD": 504.69
},
"pi": {
"tokens": 5179318,
"costUSD": 90.31
},
"codex": {
"tokens": 939213,
"costUSD": 5.14
}
},
"prsMerged": 13,
"additions": 18777,
"deletions": 2645
},
{
"weekEnding": "2026-04-05",
"tokens": 11749015,
"costUSD": 178.2,
"sessions": 54,
"messages": 3636,
"byTool": {
"claude-code": {
"tokens": 11687680,
"costUSD": 199.87
},
"pi": {
"tokens": 1850465,
"costUSD": 9.66
},
"codex": {
"tokens": 88111,
"costUSD": 0.39
}
},
"prsMerged": 12,
"additions": 7885,
"deletions": 8693
},
{
"weekEnding": "2026-04-12",
"tokens": 10719582,
"costUSD": 201.93,
"sessions": 42,
"messages": 2624,
"byTool": {
"claude-code": {
"tokens": 10078318,
"costUSD": 195.88
},
"pi": {
"tokens": 463909,
"costUSD": 4.95
},
"codex": {
"tokens": 177355,
"costUSD": 1.11
}
},
"prsMerged": 2,
"additions": 3696,
"deletions": 482
},
{
"weekEnding": "2026-04-19",
"tokens": 29202814,
"costUSD": 566.99,
"sessions": 102,
"messages": 5813,
"byTool": {
"claude-code": {
"tokens": 25222623,
"costUSD": 543.73
},
"codex": {
"tokens": 4010234,
"costUSD": 23.69
},
"pi": {
"tokens": 7918,
"costUSD": 0.04
}
},
"prsMerged": 3,
"additions": 544,
"deletions": 58
},
{
"weekEnding": "2026-04-26",
"tokens": 36933179,
"costUSD": 700.28,
"sessions": 135,
"messages": 18793,
"byTool": {
"claude-code": {
"tokens": 59507304,
"costUSD": 1668.66
},
"codex": {
"tokens": 9919510,
"costUSD": 87.68
},
"pi": {
"tokens": 301153,
"costUSD": 3.69
}
},
"prsMerged": 20,
"additions": 9203,
"deletions": 1933
},
{
"weekEnding": "2026-05-03",
"tokens": 21327395,
"costUSD": 497.6,
"sessions": 66,
"messages": 6362,
"byTool": {
"claude-code": {
"tokens": 28103247,
"costUSD": 738.51
},
"codex": {
"tokens": 4406453,
"costUSD": 52.32
},
"pi": {
"tokens": 10192,
"costUSD": 0.18
}
},
"prsMerged": 20,
"additions": 5020,
"deletions": 818
},
{
"weekEnding": "2026-05-10",
"tokens": 12200187,
"costUSD": 267.25,
"sessions": 56,
"messages": 4147,
"byTool": {
"claude-code": {
"tokens": 8595912,
"costUSD": 221.16
},
"pi": {
"tokens": 4347616,
"costUSD": 73.41
},
"codex": {
"tokens": 4132276,
"costUSD": 76.5
}
},
"prsMerged": 14,
"additions": 17474,
"deletions": 1305
},
{
"weekEnding": "2026-05-17",
"tokens": 21967026,
"costUSD": 522.22,
"sessions": 74,
"messages": 8188,
"byTool": {
"claude-code": {
"tokens": 21794197,
"costUSD": 585.03
},
"pi": {
"tokens": 124401,
"costUSD": 1.2
},
"codex": {
"tokens": 5511450,
"costUSD": 88.37
}
},
"prsMerged": 22,
"additions": 18124,
"deletions": 25513
},
{
"weekEnding": "2026-05-24",
"tokens": 17041998,
"costUSD": 430.07,
"sessions": 53,
"messages": 5120,
"byTool": {
"claude-code": {
"tokens": 14392409,
"costUSD": 403.97
},
"pi": {
"tokens": 910109,
"costUSD": 9.04
},
"codex": {
"tokens": 2583522,
"costUSD": 29.43
}
},
"prsMerged": 12,
"additions": 13933,
"deletions": 1469
},
{
"weekEnding": "2026-05-31",
"tokens": 13002660,
"costUSD": 298.33,
"sessions": 49,
"messages": 3695,
"byTool": {
"claude-code": {
"tokens": 12096660,
"costUSD": 309.44
},
"codex": {
"tokens": 2305839,
"costUSD": 35.44
},
"pi": {
"tokens": 137016,
"costUSD": 1.24
}
},
"prsMerged": 3,
"additions": 461,
"deletions": 44
},
{
"weekEnding": "2026-06-07",
"tokens": 33107142,
"costUSD": 670.8,
"sessions": 53,
"messages": 5803,
"byTool": {
"claude-code": {
"tokens": 32904742,
"costUSD": 685.54
},
"codex": {
"tokens": 1946515,
"costUSD": 26.51
}
},
"prsMerged": 6,
"additions": 8416,
"deletions": 2586
},
{
"weekEnding": "2026-06-14",
"tokens": 23040141,
"costUSD": 581.59,
"sessions": 43,
"messages": 3229,
"byTool": {
"claude-code": {
"tokens": 24758086,
"costUSD": 624.22
},
"codex": {
"tokens": 204960,
"costUSD": 1.72
}
},
"prsMerged": 16,
"additions": 5369,
"deletions": 10593
},
{
"weekEnding": "2026-06-21",
"tokens": 13279290,
"costUSD": 240.09,
"sessions": 31,
"messages": 1895,
"byTool": {
"claude-code": {
"tokens": 14668069,
"costUSD": 266.94
},
"pi": {
"tokens": 12437,
"costUSD": 0.06
},
"codex": {
"tokens": 429780,
"costUSD": 5.52
}
},
"prsMerged": 8,
"additions": 2856,
"deletions": 808
},
{
"weekEnding": "2026-06-28",
"tokens": 15864808,
"costUSD": 286.84,
"sessions": 16,
"messages": 6932,
"byTool": {
"claude-code": {
"tokens": 52822343,
"costUSD": 1027.4
},
"pi": {
"tokens": 1651820,
"costUSD": 18.44
},
"codex": {
"tokens": 186683,
"costUSD": 2.24
}
},
"prsMerged": 16,
"additions": 22217,
"deletions": 1556
},
{
"weekEnding": "2026-07-05",
"tokens": 5166420,
"costUSD": 144.75,
"sessions": 19,
"messages": 1085,
"byTool": {
"claude-code": {
"tokens": 10836790,
"costUSD": 239.82
}
},
"prsMerged": 10,
"additions": 9409,
"deletions": 583
},
{
"weekEnding": "2026-07-12",
"tokens": 26719399,
"costUSD": 543.09,
"sessions": 7,
"messages": 9912,
"byTool": {
"claude-code": {
"tokens": 78502439,
"costUSD": 1605.18
},
"codex": {
"tokens": 99968,
"costUSD": 0.88
}
},
"prsMerged": 14,
"additions": 11220,
"deletions": 13603
},
{
"weekEnding": "2026-07-19",
"tokens": 14053940,
"costUSD": 291.83,
"sessions": 7,
"messages": 13063,
"byTool": {
"claude-code": {
"tokens": 84018774,
"costUSD": 2148.85
},
"codex": {
"tokens": 3086795,
"costUSD": 47.29
}
},
"prsMerged": 11,
"additions": 8391,
"deletions": 1120
},
{
"weekEnding": "2026-07-26",
"tokens": 22918597,
"costUSD": 654.14,
"sessions": 19,
"messages": 9732,
"byTool": {
"claude-code": {
"tokens": 62053172,
"costUSD": 1747.04
},
"codex": {
"tokens": 2467372,
"costUSD": 40.42
}
},
"prsMerged": 5,
"additions": 4980,
"deletions": 924
}
],
"hourCounts": [
1599,
167,
405,
224,
100,
738,
1517,
1646,
5258,
12419,
16125,
14337,
11330,
11725,
10465,
12903,
11279,
9575,
7066,
8374,
7365,
5817,
3933,
2866
],
"weekdayCounts": [
7576,
27160,
29837,
30864,
25614,
17618,
18564
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment