vibestats 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/index.js +13 -2
  2. package/dist/web/404.html +1 -1
  3. package/dist/web/activity.html +1 -1
  4. package/dist/web/activity.txt +1 -1
  5. package/dist/web/changelog.html +1 -1
  6. package/dist/web/changelog.txt +54 -53
  7. package/dist/web/compare/claude-code-vs-codex-cli-tracking.html +1 -1
  8. package/dist/web/compare/claude-code-vs-codex-cli-tracking.txt +1 -1
  9. package/dist/web/compare/daily-vs-monthly-ai-usage-reports.html +1 -1
  10. package/dist/web/compare/daily-vs-monthly-ai-usage-reports.txt +1 -1
  11. package/dist/web/compare/local-vs-cloud-ai-analytics.html +1 -1
  12. package/dist/web/compare/local-vs-cloud-ai-analytics.txt +1 -1
  13. package/dist/web/compare/manual-tracking-vs-vibestats.html +1 -1
  14. package/dist/web/compare/manual-tracking-vs-vibestats.txt +1 -1
  15. package/dist/web/compare/querystring-shares-vs-stored-share-pages.html +1 -1
  16. package/dist/web/compare/querystring-shares-vs-stored-share-pages.txt +1 -1
  17. package/dist/web/compare/session-breakdown-vs-model-breakdown.html +1 -1
  18. package/dist/web/compare/session-breakdown-vs-model-breakdown.txt +1 -1
  19. package/dist/web/compare/single-source-vs-combined-tracking.html +1 -1
  20. package/dist/web/compare/single-source-vs-combined-tracking.txt +1 -1
  21. package/dist/web/compare/terminal-table-vs-json-output.html +1 -1
  22. package/dist/web/compare/terminal-table-vs-json-output.txt +1 -1
  23. package/dist/web/compare/token-volume-vs-cost-estimation.html +1 -1
  24. package/dist/web/compare/token-volume-vs-cost-estimation.txt +1 -1
  25. package/dist/web/compare/wrapped-vs-activity-heatmap.html +1 -1
  26. package/dist/web/compare/wrapped-vs-activity-heatmap.txt +1 -1
  27. package/dist/web/compare.html +1 -1
  28. package/dist/web/compare.txt +1 -1
  29. package/dist/web/dashboard/activity.html +1 -1
  30. package/dist/web/dashboard/activity.txt +1 -1
  31. package/dist/web/dashboard/usage.html +1 -1
  32. package/dist/web/dashboard/usage.txt +1 -1
  33. package/dist/web/dashboard/wrapped.html +1 -1
  34. package/dist/web/dashboard/wrapped.txt +1 -1
  35. package/dist/web/dashboard.html +1 -1
  36. package/dist/web/dashboard.txt +1 -1
  37. package/dist/web/docs/commands.html +1 -1
  38. package/dist/web/docs/commands.txt +1 -1
  39. package/dist/web/docs.html +1 -1
  40. package/dist/web/docs.txt +1 -1
  41. package/dist/web/features/ai-coding-activity-heatmap.html +1 -1
  42. package/dist/web/features/ai-coding-activity-heatmap.txt +1 -1
  43. package/dist/web/features/ai-coding-wrapped.html +1 -1
  44. package/dist/web/features/ai-coding-wrapped.txt +1 -1
  45. package/dist/web/features/claude-code-stats.html +1 -1
  46. package/dist/web/features/claude-code-stats.txt +1 -1
  47. package/dist/web/features/claude-diagnostics.html +1 -1
  48. package/dist/web/features/claude-diagnostics.txt +1 -1
  49. package/dist/web/features/codex-cli-stats.html +1 -1
  50. package/dist/web/features/codex-cli-stats.txt +1 -1
  51. package/dist/web/features/combined-ai-coding-stats.html +1 -1
  52. package/dist/web/features/combined-ai-coding-stats.txt +1 -1
  53. package/dist/web/features/json-and-automation-exports.html +1 -1
  54. package/dist/web/features/json-and-automation-exports.txt +1 -1
  55. package/dist/web/features/model-breakdown.html +1 -1
  56. package/dist/web/features/model-breakdown.txt +1 -1
  57. package/dist/web/features/privacy-first-analytics.html +1 -1
  58. package/dist/web/features/privacy-first-analytics.txt +1 -1
  59. package/dist/web/features/session-breakdown.html +1 -1
  60. package/dist/web/features/session-breakdown.txt +1 -1
  61. package/dist/web/features/share-pages.html +1 -1
  62. package/dist/web/features/share-pages.txt +1 -1
  63. package/dist/web/features/token-and-cost-tracking.html +1 -1
  64. package/dist/web/features/token-and-cost-tracking.txt +1 -1
  65. package/dist/web/features.html +1 -1
  66. package/dist/web/features.txt +1 -1
  67. package/dist/web/guides/how-to-build-ai-activity-heatmap.html +1 -1
  68. package/dist/web/guides/how-to-build-ai-activity-heatmap.txt +1 -1
  69. package/dist/web/guides/how-to-compare-model-usage.html +1 -1
  70. package/dist/web/guides/how-to-compare-model-usage.txt +1 -1
  71. package/dist/web/guides/how-to-create-ai-coding-wrapped.html +1 -1
  72. package/dist/web/guides/how-to-create-ai-coding-wrapped.txt +1 -1
  73. package/dist/web/guides/how-to-measure-ai-token-costs.html +1 -1
  74. package/dist/web/guides/how-to-measure-ai-token-costs.txt +1 -1
  75. package/dist/web/guides/how-to-read-claude-diagnostics.html +1 -1
  76. package/dist/web/guides/how-to-read-claude-diagnostics.txt +1 -1
  77. package/dist/web/guides/how-to-share-ai-coding-stats.html +1 -1
  78. package/dist/web/guides/how-to-share-ai-coding-stats.txt +1 -1
  79. package/dist/web/guides/how-to-track-claude-code-usage.html +1 -1
  80. package/dist/web/guides/how-to-track-claude-code-usage.txt +1 -1
  81. package/dist/web/guides/how-to-track-codex-cli-usage.html +1 -1
  82. package/dist/web/guides/how-to-track-codex-cli-usage.txt +1 -1
  83. package/dist/web/guides.html +1 -1
  84. package/dist/web/guides.txt +1 -1
  85. package/dist/web/index.html +1 -1
  86. package/dist/web/index.txt +1 -1
  87. package/dist/web/sitemap.xml +46 -46
  88. package/dist/web/use-cases/ai-agencies.html +1 -1
  89. package/dist/web/use-cases/ai-agencies.txt +1 -1
  90. package/dist/web/use-cases/consultants.html +1 -1
  91. package/dist/web/use-cases/consultants.txt +1 -1
  92. package/dist/web/use-cases/engineering-managers.html +1 -1
  93. package/dist/web/use-cases/engineering-managers.txt +1 -1
  94. package/dist/web/use-cases/freelancers.html +1 -1
  95. package/dist/web/use-cases/freelancers.txt +1 -1
  96. package/dist/web/use-cases/indie-hackers.html +1 -1
  97. package/dist/web/use-cases/indie-hackers.txt +1 -1
  98. package/dist/web/use-cases/monthly-reporting.html +1 -1
  99. package/dist/web/use-cases/monthly-reporting.txt +1 -1
  100. package/dist/web/use-cases/open-source-maintainers.html +1 -1
  101. package/dist/web/use-cases/open-source-maintainers.txt +1 -1
  102. package/dist/web/use-cases/personal-retrospectives.html +1 -1
  103. package/dist/web/use-cases/personal-retrospectives.txt +1 -1
  104. package/dist/web/use-cases/researchers.html +1 -1
  105. package/dist/web/use-cases/researchers.txt +1 -1
  106. package/dist/web/use-cases/weekly-reviews.html +1 -1
  107. package/dist/web/use-cases/weekly-reviews.txt +1 -1
  108. package/dist/web/use-cases.html +1 -1
  109. package/dist/web/use-cases.txt +1 -1
  110. package/dist/web/wrapped.html +1 -1
  111. package/dist/web/wrapped.txt +1 -1
  112. package/package.json +7 -8
  113. /package/dist/web/_next/static/{3pcP-Y7gHe02EnmTXxc9b → bkF3quPLxz4vmu3191LYm}/_buildManifest.js +0 -0
  114. /package/dist/web/_next/static/{3pcP-Y7gHe02EnmTXxc9b → bkF3quPLxz4vmu3191LYm}/_ssgManifest.js +0 -0
@@ -9,7 +9,7 @@ c:I[496,[],"MetadataBoundary"]
9
9
  d:"$Sreact.suspense"
10
10
  f:I[2207,[],""]
11
11
  :HL["/_next/static/css/335de1248158d380.css","style"]
12
- 0:{"P":null,"b":"3pcP-Y7gHe02EnmTXxc9b","p":"","c":["","guides","how-to-share-ai-coding-stats"],"i":false,"f":[[["",{"children":["guides",{"children":[["slug","how-to-share-ai-coding-stats","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/335de1248158d380.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","$L2",null,{"id":"wolf-analytics-config","strategy":"beforeInteractive","children":"window.WOLF_ANALYTICS_CONFIG = {\"apiUrl\":\"https://analapi.wolfai.dev\",\"projectApiKey\":\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\",\"mode\":\"intl\",\"sourceApp\":\"vibestats\"};"}],["$","$L2",null,{"id":"wolf-analytics-script","src":"https://analytics.wolfai.dev/wolf-analytics.min.js","strategy":"beforeInteractive"}]]}],["$","body",null,{"className":"antialiased min-h-screen bg-background text-foreground","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":["guides",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["slug","how-to-share-ai-coding-stats","d"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5",null,["$","$L6",null,{"children":["$L7",["$","$L8",null,{"promise":"$@9"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$La",null,{"children":"$Lb"}],null],["$","$Lc",null,{"children":["$","div",null,{"hidden":true,"children":["$","$d",null,{"fallback":null,"children":"$Le"}]}]}]]}],false]],"m":"$undefined","G":["$f",[]],"s":false,"S":true}
12
+ 0:{"P":null,"b":"bkF3quPLxz4vmu3191LYm","p":"","c":["","guides","how-to-share-ai-coding-stats"],"i":false,"f":[[["",{"children":["guides",{"children":[["slug","how-to-share-ai-coding-stats","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/335de1248158d380.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","$L2",null,{"id":"wolf-analytics-config","strategy":"beforeInteractive","children":"window.WOLF_ANALYTICS_CONFIG = {\"apiUrl\":\"https://analapi.wolfai.dev\",\"projectApiKey\":\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\",\"mode\":\"intl\",\"sourceApp\":\"vibestats\"};"}],["$","$L2",null,{"id":"wolf-analytics-script","src":"https://analytics.wolfai.dev/wolf-analytics.min.js","strategy":"beforeInteractive"}]]}],["$","body",null,{"className":"antialiased min-h-screen bg-background text-foreground","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":["guides",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["slug","how-to-share-ai-coding-stats","d"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5",null,["$","$L6",null,{"children":["$L7",["$","$L8",null,{"promise":"$@9"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$La",null,{"children":"$Lb"}],null],["$","$Lc",null,{"children":["$","div",null,{"hidden":true,"children":["$","$d",null,{"fallback":null,"children":"$Le"}]}]}]]}],false]],"m":"$undefined","G":["$f",[]],"s":false,"S":true}
13
13
  11:I[4816,["816","static/chunks/816-8960921093d57453.js","54","static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js"],""]
14
14
  10:T56d,[{"@context":"https://schema.org","@type":"WebPage","name":"How to share AI coding stats","description":"A practical guide to turning local vibestats output into shareable aggregate pages.","url":"https://vibestats.wolfai.dev/guides/how-to-share-ai-coding-stats","isPartOf":{"@type":"WebSite","name":"vibestats","url":"https://vibestats.wolfai.dev/"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"vibestats","item":"https://vibestats.wolfai.dev/"},{"@type":"ListItem","position":2,"name":"Guides","item":"https://vibestats.wolfai.dev/guides"},{"@type":"ListItem","position":3,"name":"How to share AI coding stats","item":"https://vibestats.wolfai.dev/guides/how-to-share-ai-coding-stats"}]},{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the fastest way to approach how to share ai coding stats?","acceptedAnswer":{"@type":"Answer","text":"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication."}},{"@type":"Question","name":"Do I need to upload raw conversations for these guides?","acceptedAnswer":{"@type":"Answer","text":"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them."}}]}]5:["$","main",null,{"className":"min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12","children":[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"$10"}}],["$","div",null,{"className":"mx-auto max-w-7xl","children":[["$","header",null,{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden","children":[["$","div",null,{"className":"flex flex-wrap items-center gap-3 text-sm text-slate-500","children":[["$","$L11",null,{"href":"/","className":"transition hover:text-orange-700","children":"vibestats"}],["$","span",null,{"children":"/"}],["$","$L11",null,{"href":"/guides","className":"transition hover:text-orange-700","children":"Guides"}],["$","span",null,{"children":"/"}],["$","span",null,{"className":"text-slate-700","children":"How to share AI coding stats"}]]}],["$","p",null,{"className":"mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500","children":"Guide"}],["$","h1",null,{"className":"mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl","children":"How to share AI coding stats"}],["$","p",null,{"className":"mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg","children":"A practical guide to turning local vibestats output into shareable aggregate pages."}],["$","div",null,{"className":"mt-6 grid gap-3 md:grid-cols-3","children":[["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Intent"}],["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":"Guide"}]]}],["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Focus"}],["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":"How to share AI coding stats is a practical workflow page for turning local AI coding usage into something readable and repeatable."}]]}],"$L12"]}]]}],"$L13","$L14",null,"$L15","$L16","$L17"]}]]}]
15
15
  12:["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Next step"}],["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":["$","$L11",null,{"href":"/docs/commands","className":"text-slate-900 transition hover:text-orange-700","children":"Open the command reference"}]}]]}]
@@ -1 +1 @@
1
- <!DOCTYPE html><!--3pcP_Y7gHe02EnmTXxc9b--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/335de1248158d380.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-175b2f5685d7557b.js"/><script src="/_next/static/chunks/c476d598-9099ed8b975ae1d6.js" async=""></script><script src="/_next/static/chunks/498-74a3a367cb8442f0.js" async=""></script><script src="/_next/static/chunks/main-app-6619364ab1f13fb7.js" async=""></script><script src="/_next/static/chunks/app/layout-6ebd9b17af55ec02.js" async=""></script><script src="/_next/static/chunks/816-8960921093d57453.js" async=""></script><script src="/_next/static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js" async=""></script><link rel="preload" href="https://analytics.wolfai.dev/wolf-analytics.min.js" as="script"/><title>How to track Claude Code usage | vibestats</title><meta name="description" content="A practical guide to tracking Claude Code usage locally with vibestats."/><meta name="application-name" content="vibestats"/><meta name="keywords" content="vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,how to track Claude Code usage,Claude Code usage guide,Claude Code stats tutorial"/><link rel="canonical" href="https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage"/><meta property="og:title" content="How to track Claude Code usage | vibestats"/><meta property="og:description" content="A practical guide to tracking Claude Code usage locally with vibestats."/><meta property="og:url" content="https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage"/><meta property="og:site_name" content="vibestats"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="How to track Claude Code usage | vibestats"/><meta name="twitter:description" content="A practical guide to tracking Claude Code usage locally with vibestats."/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"window.WOLF_ANALYTICS_CONFIG = {\"apiUrl\":\"https://analapi.wolfai.dev\",\"projectApiKey\":\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\",\"mode\":\"intl\",\"sourceApp\":\"vibestats\"};","id":"wolf-analytics-config"}])</script><script>(self.__next_s=self.__next_s||[]).push(["https://analytics.wolfai.dev/wolf-analytics.min.js",{"id":"wolf-analytics-script"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="antialiased min-h-screen bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><main class="min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12"><script type="application/ld+json">[{"@context":"https://schema.org","@type":"WebPage","name":"How to track Claude Code usage","description":"A practical guide to tracking Claude Code usage locally with vibestats.","url":"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage","isPartOf":{"@type":"WebSite","name":"vibestats","url":"https://vibestats.wolfai.dev/"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"vibestats","item":"https://vibestats.wolfai.dev/"},{"@type":"ListItem","position":2,"name":"Guides","item":"https://vibestats.wolfai.dev/guides"},{"@type":"ListItem","position":3,"name":"How to track Claude Code usage","item":"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage"}]},{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the fastest way to approach how to track claude code usage?","acceptedAnswer":{"@type":"Answer","text":"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication."}},{"@type":"Question","name":"Do I need to upload raw conversations for these guides?","acceptedAnswer":{"@type":"Answer","text":"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them."}}]}]</script><div class="mx-auto max-w-7xl"><header class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden"><div class="flex flex-wrap items-center gap-3 text-sm text-slate-500"><a class="transition hover:text-orange-700" href="/">vibestats</a><span>/</span><a class="transition hover:text-orange-700" href="/guides">Guides</a><span>/</span><span class="text-slate-700">How to track Claude Code usage</span></div><p class="mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500">Guide</p><h1 class="mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl">How to track Claude Code usage</h1><p class="mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg">A practical guide to tracking Claude Code usage locally with vibestats.</p><div class="mt-6 grid gap-3 md:grid-cols-3"><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Intent</div><div class="mt-2 text-sm leading-6 text-slate-700">Guide</div></div><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Focus</div><div class="mt-2 text-sm leading-6 text-slate-700">How to track Claude Code usage is a practical workflow page for turning local AI coding usage into something readable and repeatable.</div></div><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Next step</div><div class="mt-2 text-sm leading-6 text-slate-700"><a class="text-slate-900 transition hover:text-orange-700" href="/docs/commands">Open the command reference</a></div></div></div></header><section class="mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Highlights</p><ul class="mt-4 space-y-3 text-sm leading-7 text-slate-600"><li>Start with daily usage, then refine</li><li>Model and session views answer different follow-up questions</li><li>Diagnostics help when the totals look confusing</li></ul></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Relevant commands</p><div class="mt-4 grid gap-3"><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats</code><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats --monthly</code><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats --sessions</code></div></article></section><section class="mt-6"><div class="grid gap-4 md:grid-cols-3"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->1</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Run the default usage view</h2><p class="mt-4 text-sm leading-7 text-slate-600">Start with `npx vibestats` to see the default daily report for Claude-compatible usage.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->2</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Change the report shape</h2><p class="mt-4 text-sm leading-7 text-slate-600">Switch to monthly, total, model, or session views depending on whether you care about cadence, totals, model mix, or outlier sessions.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->3</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Add deeper context</h2><p class="mt-4 text-sm leading-7 text-slate-600">Use activity, wrapped, or diagnostics routes when the table alone does not answer the question.</p></article></div></section><section class="mt-6 grid gap-4 md:grid-cols-2"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><h2 class="font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">Why this guide exists</h2><p class="mt-4 text-sm leading-7 text-slate-600">Most AI coding reporting problems are not about one missing command. They are about choosing the right surface: daily usage, wrapped summaries, activity heatmaps, cost views, or shareable aggregate pages.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><h2 class="font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">What to expect</h2><p class="mt-4 text-sm leading-7 text-slate-600">This guide stays focused on vibestats workflows and the pages already documented in the public command reference, so you can move from local data to a readable result quickly.</p></article></section><section class="mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">FAQ</p><div class="mt-4 grid gap-4 md:grid-cols-2"><article class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5"><h2 class="text-lg font-semibold text-slate-950">What is the fastest way to approach how to track claude code usage?</h2><p class="mt-3 text-sm leading-7 text-slate-600">Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.</p></article><article class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5"><h2 class="text-lg font-semibold text-slate-950">Do I need to upload raw conversations for these guides?</h2><p class="mt-3 text-sm leading-7 text-slate-600">No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.</p></article></div></section><section class="mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><div class="flex items-center justify-between gap-4"><div><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Related pages</p><h2 class="mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">Continue by intent</h2></div><a class="text-sm font-medium text-slate-700 transition hover:text-orange-700" href="/guides">View all <!-- -->guides</a></div><div class="mt-5 grid gap-4 md:grid-cols-3"><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/features/claude-code-stats"><span class="block font-semibold text-slate-950">features claude-code-stats</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/features/claude-diagnostics"><span class="block font-semibold text-slate-950">features claude-diagnostics</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/compare/daily-vs-monthly-ai-usage-reports"><span class="block font-semibold text-slate-950">compare daily-vs-monthly-ai-usage-reports</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a></div></section></div></main><!--$--><!--/$--><script src="/_next/static/chunks/webpack-175b2f5685d7557b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7437,[\"177\",\"static/chunks/app/layout-6ebd9b17af55ec02.js\"],\"\"]\n3:I[5965,[],\"\"]\n4:I[3609,[],\"\"]\n6:I[496,[],\"OutletBoundary\"]\n8:I[3737,[],\"AsyncMetadataOutlet\"]\na:I[496,[],\"ViewportBoundary\"]\nc:I[496,[],\"MetadataBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[2207,[],\"\"]\n:HL[\"/_next/static/css/335de1248158d380.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"3pcP-Y7gHe02EnmTXxc9b\",\"p\":\"\",\"c\":[\"\",\"guides\",\"how-to-track-claude-code-usage\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"guides\",{\"children\":[[\"slug\",\"how-to-track-claude-code-usage\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/335de1248158d380.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L2\",null,{\"id\":\"wolf-analytics-config\",\"strategy\":\"beforeInteractive\",\"children\":\"window.WOLF_ANALYTICS_CONFIG = {\\\"apiUrl\\\":\\\"https://analapi.wolfai.dev\\\",\\\"projectApiKey\\\":\\\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\\\",\\\"mode\\\":\\\"intl\\\",\\\"sourceApp\\\":\\\"vibestats\\\"};\"}],[\"$\",\"$L2\",null,{\"id\":\"wolf-analytics-script\",\"src\":\"https://analytics.wolfai.dev/wolf-analytics.min.js\",\"strategy\":\"beforeInteractive\"}]]}],[\"$\",\"body\",null,{\"className\":\"antialiased min-h-screen bg-background text-foreground\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[\"guides\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"slug\",\"how-to-track-claude-code-usage\",\"d\"],[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null],[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$d\",null,{\"fallback\":null,\"children\":\"$Le\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"11:I[4816,[\"816\",\"static/chunks/816-8960921093d57453.js\",\"54\",\"static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js\"],\"\"]\n10:T56b,"])</script><script>self.__next_f.push([1,"[{\"@context\":\"https://schema.org\",\"@type\":\"WebPage\",\"name\":\"How to track Claude Code usage\",\"description\":\"A practical guide to tracking Claude Code usage locally with vibestats.\",\"url\":\"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage\",\"isPartOf\":{\"@type\":\"WebSite\",\"name\":\"vibestats\",\"url\":\"https://vibestats.wolfai.dev/\"}},{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"vibestats\",\"item\":\"https://vibestats.wolfai.dev/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guides\",\"item\":\"https://vibestats.wolfai.dev/guides\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to track Claude Code usage\",\"item\":\"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage\"}]},{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is the fastest way to approach how to track claude code usage?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.\"}},{\"@type\":\"Question\",\"name\":\"Do I need to upload raw conversations for these guides?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.\"}}]}]"])</script><script>self.__next_f.push([1,"5:[\"$\",\"main\",null,{\"className\":\"min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$10\"}}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-7xl\",\"children\":[[\"$\",\"header\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-3 text-sm text-slate-500\",\"children\":[[\"$\",\"$L11\",null,{\"href\":\"/\",\"className\":\"transition hover:text-orange-700\",\"children\":\"vibestats\"}],[\"$\",\"span\",null,{\"children\":\"/\"}],[\"$\",\"$L11\",null,{\"href\":\"/guides\",\"className\":\"transition hover:text-orange-700\",\"children\":\"Guides\"}],[\"$\",\"span\",null,{\"children\":\"/\"}],[\"$\",\"span\",null,{\"className\":\"text-slate-700\",\"children\":\"How to track Claude Code usage\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500\",\"children\":\"Guide\"}],[\"$\",\"h1\",null,{\"className\":\"mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl\",\"children\":\"How to track Claude Code usage\"}],[\"$\",\"p\",null,{\"className\":\"mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg\",\"children\":\"A practical guide to tracking Claude Code usage locally with vibestats.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 grid gap-3 md:grid-cols-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Intent\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":\"Guide\"}]]}],[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Focus\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":\"How to track Claude Code usage is a practical workflow page for turning local AI coding usage into something readable and repeatable.\"}]]}],\"$L12\"]}]]}],\"$L13\",\"$L14\",null,\"$L15\",\"$L16\",\"$L17\"]}]]}]\n"])</script><script>self.__next_f.push([1,"12:[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Next step\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":[\"$\",\"$L11\",null,{\"href\":\"/docs/commands\",\"className\":\"text-slate-900 transition hover:text-orange-700\",\"children\":\"Open the command reference\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"13:[\"$\",\"section\",null,{\"className\":\"mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]\",\"children\":[[\"$\",\"article\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Highlights\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-3 text-sm leading-7 text-slate-600\",\"children\":[[\"$\",\"li\",\"Start with daily usage, then refine\",{\"children\":\"Start with daily usage, then refine\"}],[\"$\",\"li\",\"Model and session views answer different follow-up questions\",{\"children\":\"Model and session views answer different follow-up questions\"}],[\"$\",\"li\",\"Diagnostics help when the totals look confusing\",{\"children\":\"Diagnostics help when the totals look confusing\"}]]}]]}],[\"$\",\"article\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Relevant commands\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid gap-3\",\"children\":[[\"$\",\"code\",\"npx vibestats\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats\"}],[\"$\",\"code\",\"npx vibestats --monthly\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats --monthly\"}],[\"$\",\"code\",\"npx vibestats --sessions\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats --sessions\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"14:[\"$\",\"section\",null,{\"className\":\"mt-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"article\",\"Run the default usage view\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",1]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Run the default usage view\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Start with `npx vibestats` to see the default daily report for Claude-compatible usage.\"}]]}],[\"$\",\"article\",\"Change the report shape\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",2]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Change the report shape\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Switch to monthly, total, model, or session views depending on whether you care about cadence, totals, model mix, or outlier sessions.\"}]]}],[\"$\",\"article\",\"Add deeper context\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",3]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Add deeper context\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Use activity, wrapped, or diagnostics routes when the table alone does not answer the question.\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"section\",null,{\"className\":\"mt-6 grid gap-4 md:grid-cols-2\",\"children\":[[\"$\",\"article\",\"Why this guide exists\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"Why this guide exists\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Most AI coding reporting problems are not about one missing command. They are about choosing the right surface: daily usage, wrapped summaries, activity heatmaps, cost views, or shareable aggregate pages.\"}]]}],[\"$\",\"article\",\"What to expect\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"What to expect\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"This guide stays focused on vibestats workflows and the pages already documented in the public command reference, so you can move from local data to a readable result quickly.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"16:[\"$\",\"section\",null,{\"className\":\"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"FAQ\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid gap-4 md:grid-cols-2\",\"children\":[[\"$\",\"article\",\"What is the fastest way to approach how to track claude code usage?\",{\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-semibold text-slate-950\",\"children\":\"What is the fastest way to approach how to track claude code usage?\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-7 text-slate-600\",\"children\":\"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.\"}]]}],[\"$\",\"article\",\"Do I need to upload raw conversations for these guides?\",{\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-semibold text-slate-950\",\"children\":\"Do I need to upload raw conversations for these guides?\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-7 text-slate-600\",\"children\":\"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"section\",null,{\"className\":\"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-4\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Related pages\"}],[\"$\",\"h2\",null,{\"className\":\"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"Continue by intent\"}]]}],[\"$\",\"$L11\",null,{\"href\":\"/guides\",\"className\":\"text-sm font-medium text-slate-700 transition hover:text-orange-700\",\"children\":[\"View all \",\"guides\"]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"$L11\",\"/features/claude-code-stats\",{\"href\":\"/features/claude-code-stats\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"features claude-code-stats\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}],[\"$\",\"$L11\",\"/features/claude-diagnostics\",{\"href\":\"/features/claude-diagnostics\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"features claude-diagnostics\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}],[\"$\",\"$L11\",\"/compare/daily-vs-monthly-ai-usage-reports\",{\"href\":\"/compare/daily-vs-monthly-ai-usage-reports\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"compare daily-vs-monthly-ai-usage-reports\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n7:null\n"])</script><script>self.__next_f.push([1,"9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"How to track Claude Code usage | vibestats\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A practical guide to tracking Claude Code usage locally with vibestats.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"vibestats\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,how to track Claude Code usage,Claude Code usage guide,Claude Code stats tutorial\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"How to track Claude Code usage | vibestats\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"A practical guide to tracking Claude Code usage locally with vibestats.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"vibestats\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"How to track Claude Code usage | vibestats\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"A practical guide to tracking Claude Code usage locally with vibestats.\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"e:\"$9:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--bkF3quPLxz4vmu3191LYm--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/335de1248158d380.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-175b2f5685d7557b.js"/><script src="/_next/static/chunks/c476d598-9099ed8b975ae1d6.js" async=""></script><script src="/_next/static/chunks/498-74a3a367cb8442f0.js" async=""></script><script src="/_next/static/chunks/main-app-6619364ab1f13fb7.js" async=""></script><script src="/_next/static/chunks/app/layout-6ebd9b17af55ec02.js" async=""></script><script src="/_next/static/chunks/816-8960921093d57453.js" async=""></script><script src="/_next/static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js" async=""></script><link rel="preload" href="https://analytics.wolfai.dev/wolf-analytics.min.js" as="script"/><title>How to track Claude Code usage | vibestats</title><meta name="description" content="A practical guide to tracking Claude Code usage locally with vibestats."/><meta name="application-name" content="vibestats"/><meta name="keywords" content="vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,how to track Claude Code usage,Claude Code usage guide,Claude Code stats tutorial"/><link rel="canonical" href="https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage"/><meta property="og:title" content="How to track Claude Code usage | vibestats"/><meta property="og:description" content="A practical guide to tracking Claude Code usage locally with vibestats."/><meta property="og:url" content="https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage"/><meta property="og:site_name" content="vibestats"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="How to track Claude Code usage | vibestats"/><meta name="twitter:description" content="A practical guide to tracking Claude Code usage locally with vibestats."/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"window.WOLF_ANALYTICS_CONFIG = {\"apiUrl\":\"https://analapi.wolfai.dev\",\"projectApiKey\":\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\",\"mode\":\"intl\",\"sourceApp\":\"vibestats\"};","id":"wolf-analytics-config"}])</script><script>(self.__next_s=self.__next_s||[]).push(["https://analytics.wolfai.dev/wolf-analytics.min.js",{"id":"wolf-analytics-script"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="antialiased min-h-screen bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><main class="min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12"><script type="application/ld+json">[{"@context":"https://schema.org","@type":"WebPage","name":"How to track Claude Code usage","description":"A practical guide to tracking Claude Code usage locally with vibestats.","url":"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage","isPartOf":{"@type":"WebSite","name":"vibestats","url":"https://vibestats.wolfai.dev/"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"vibestats","item":"https://vibestats.wolfai.dev/"},{"@type":"ListItem","position":2,"name":"Guides","item":"https://vibestats.wolfai.dev/guides"},{"@type":"ListItem","position":3,"name":"How to track Claude Code usage","item":"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage"}]},{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the fastest way to approach how to track claude code usage?","acceptedAnswer":{"@type":"Answer","text":"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication."}},{"@type":"Question","name":"Do I need to upload raw conversations for these guides?","acceptedAnswer":{"@type":"Answer","text":"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them."}}]}]</script><div class="mx-auto max-w-7xl"><header class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden"><div class="flex flex-wrap items-center gap-3 text-sm text-slate-500"><a class="transition hover:text-orange-700" href="/">vibestats</a><span>/</span><a class="transition hover:text-orange-700" href="/guides">Guides</a><span>/</span><span class="text-slate-700">How to track Claude Code usage</span></div><p class="mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500">Guide</p><h1 class="mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl">How to track Claude Code usage</h1><p class="mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg">A practical guide to tracking Claude Code usage locally with vibestats.</p><div class="mt-6 grid gap-3 md:grid-cols-3"><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Intent</div><div class="mt-2 text-sm leading-6 text-slate-700">Guide</div></div><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Focus</div><div class="mt-2 text-sm leading-6 text-slate-700">How to track Claude Code usage is a practical workflow page for turning local AI coding usage into something readable and repeatable.</div></div><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Next step</div><div class="mt-2 text-sm leading-6 text-slate-700"><a class="text-slate-900 transition hover:text-orange-700" href="/docs/commands">Open the command reference</a></div></div></div></header><section class="mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Highlights</p><ul class="mt-4 space-y-3 text-sm leading-7 text-slate-600"><li>Start with daily usage, then refine</li><li>Model and session views answer different follow-up questions</li><li>Diagnostics help when the totals look confusing</li></ul></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Relevant commands</p><div class="mt-4 grid gap-3"><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats</code><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats --monthly</code><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats --sessions</code></div></article></section><section class="mt-6"><div class="grid gap-4 md:grid-cols-3"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->1</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Run the default usage view</h2><p class="mt-4 text-sm leading-7 text-slate-600">Start with `npx vibestats` to see the default daily report for Claude-compatible usage.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->2</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Change the report shape</h2><p class="mt-4 text-sm leading-7 text-slate-600">Switch to monthly, total, model, or session views depending on whether you care about cadence, totals, model mix, or outlier sessions.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->3</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Add deeper context</h2><p class="mt-4 text-sm leading-7 text-slate-600">Use activity, wrapped, or diagnostics routes when the table alone does not answer the question.</p></article></div></section><section class="mt-6 grid gap-4 md:grid-cols-2"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><h2 class="font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">Why this guide exists</h2><p class="mt-4 text-sm leading-7 text-slate-600">Most AI coding reporting problems are not about one missing command. They are about choosing the right surface: daily usage, wrapped summaries, activity heatmaps, cost views, or shareable aggregate pages.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><h2 class="font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">What to expect</h2><p class="mt-4 text-sm leading-7 text-slate-600">This guide stays focused on vibestats workflows and the pages already documented in the public command reference, so you can move from local data to a readable result quickly.</p></article></section><section class="mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">FAQ</p><div class="mt-4 grid gap-4 md:grid-cols-2"><article class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5"><h2 class="text-lg font-semibold text-slate-950">What is the fastest way to approach how to track claude code usage?</h2><p class="mt-3 text-sm leading-7 text-slate-600">Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.</p></article><article class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5"><h2 class="text-lg font-semibold text-slate-950">Do I need to upload raw conversations for these guides?</h2><p class="mt-3 text-sm leading-7 text-slate-600">No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.</p></article></div></section><section class="mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><div class="flex items-center justify-between gap-4"><div><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Related pages</p><h2 class="mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">Continue by intent</h2></div><a class="text-sm font-medium text-slate-700 transition hover:text-orange-700" href="/guides">View all <!-- -->guides</a></div><div class="mt-5 grid gap-4 md:grid-cols-3"><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/features/claude-code-stats"><span class="block font-semibold text-slate-950">features claude-code-stats</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/features/claude-diagnostics"><span class="block font-semibold text-slate-950">features claude-diagnostics</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/compare/daily-vs-monthly-ai-usage-reports"><span class="block font-semibold text-slate-950">compare daily-vs-monthly-ai-usage-reports</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a></div></section></div></main><!--$--><!--/$--><script src="/_next/static/chunks/webpack-175b2f5685d7557b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7437,[\"177\",\"static/chunks/app/layout-6ebd9b17af55ec02.js\"],\"\"]\n3:I[5965,[],\"\"]\n4:I[3609,[],\"\"]\n6:I[496,[],\"OutletBoundary\"]\n8:I[3737,[],\"AsyncMetadataOutlet\"]\na:I[496,[],\"ViewportBoundary\"]\nc:I[496,[],\"MetadataBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[2207,[],\"\"]\n:HL[\"/_next/static/css/335de1248158d380.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"bkF3quPLxz4vmu3191LYm\",\"p\":\"\",\"c\":[\"\",\"guides\",\"how-to-track-claude-code-usage\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"guides\",{\"children\":[[\"slug\",\"how-to-track-claude-code-usage\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/335de1248158d380.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L2\",null,{\"id\":\"wolf-analytics-config\",\"strategy\":\"beforeInteractive\",\"children\":\"window.WOLF_ANALYTICS_CONFIG = {\\\"apiUrl\\\":\\\"https://analapi.wolfai.dev\\\",\\\"projectApiKey\\\":\\\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\\\",\\\"mode\\\":\\\"intl\\\",\\\"sourceApp\\\":\\\"vibestats\\\"};\"}],[\"$\",\"$L2\",null,{\"id\":\"wolf-analytics-script\",\"src\":\"https://analytics.wolfai.dev/wolf-analytics.min.js\",\"strategy\":\"beforeInteractive\"}]]}],[\"$\",\"body\",null,{\"className\":\"antialiased min-h-screen bg-background text-foreground\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[\"guides\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"slug\",\"how-to-track-claude-code-usage\",\"d\"],[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null],[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$d\",null,{\"fallback\":null,\"children\":\"$Le\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"11:I[4816,[\"816\",\"static/chunks/816-8960921093d57453.js\",\"54\",\"static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js\"],\"\"]\n10:T56b,"])</script><script>self.__next_f.push([1,"[{\"@context\":\"https://schema.org\",\"@type\":\"WebPage\",\"name\":\"How to track Claude Code usage\",\"description\":\"A practical guide to tracking Claude Code usage locally with vibestats.\",\"url\":\"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage\",\"isPartOf\":{\"@type\":\"WebSite\",\"name\":\"vibestats\",\"url\":\"https://vibestats.wolfai.dev/\"}},{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"vibestats\",\"item\":\"https://vibestats.wolfai.dev/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guides\",\"item\":\"https://vibestats.wolfai.dev/guides\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to track Claude Code usage\",\"item\":\"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage\"}]},{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is the fastest way to approach how to track claude code usage?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.\"}},{\"@type\":\"Question\",\"name\":\"Do I need to upload raw conversations for these guides?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.\"}}]}]"])</script><script>self.__next_f.push([1,"5:[\"$\",\"main\",null,{\"className\":\"min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$10\"}}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-7xl\",\"children\":[[\"$\",\"header\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-3 text-sm text-slate-500\",\"children\":[[\"$\",\"$L11\",null,{\"href\":\"/\",\"className\":\"transition hover:text-orange-700\",\"children\":\"vibestats\"}],[\"$\",\"span\",null,{\"children\":\"/\"}],[\"$\",\"$L11\",null,{\"href\":\"/guides\",\"className\":\"transition hover:text-orange-700\",\"children\":\"Guides\"}],[\"$\",\"span\",null,{\"children\":\"/\"}],[\"$\",\"span\",null,{\"className\":\"text-slate-700\",\"children\":\"How to track Claude Code usage\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500\",\"children\":\"Guide\"}],[\"$\",\"h1\",null,{\"className\":\"mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl\",\"children\":\"How to track Claude Code usage\"}],[\"$\",\"p\",null,{\"className\":\"mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg\",\"children\":\"A practical guide to tracking Claude Code usage locally with vibestats.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 grid gap-3 md:grid-cols-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Intent\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":\"Guide\"}]]}],[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Focus\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":\"How to track Claude Code usage is a practical workflow page for turning local AI coding usage into something readable and repeatable.\"}]]}],\"$L12\"]}]]}],\"$L13\",\"$L14\",null,\"$L15\",\"$L16\",\"$L17\"]}]]}]\n"])</script><script>self.__next_f.push([1,"12:[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Next step\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":[\"$\",\"$L11\",null,{\"href\":\"/docs/commands\",\"className\":\"text-slate-900 transition hover:text-orange-700\",\"children\":\"Open the command reference\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"13:[\"$\",\"section\",null,{\"className\":\"mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]\",\"children\":[[\"$\",\"article\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Highlights\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-3 text-sm leading-7 text-slate-600\",\"children\":[[\"$\",\"li\",\"Start with daily usage, then refine\",{\"children\":\"Start with daily usage, then refine\"}],[\"$\",\"li\",\"Model and session views answer different follow-up questions\",{\"children\":\"Model and session views answer different follow-up questions\"}],[\"$\",\"li\",\"Diagnostics help when the totals look confusing\",{\"children\":\"Diagnostics help when the totals look confusing\"}]]}]]}],[\"$\",\"article\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Relevant commands\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid gap-3\",\"children\":[[\"$\",\"code\",\"npx vibestats\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats\"}],[\"$\",\"code\",\"npx vibestats --monthly\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats --monthly\"}],[\"$\",\"code\",\"npx vibestats --sessions\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats --sessions\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"14:[\"$\",\"section\",null,{\"className\":\"mt-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"article\",\"Run the default usage view\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",1]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Run the default usage view\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Start with `npx vibestats` to see the default daily report for Claude-compatible usage.\"}]]}],[\"$\",\"article\",\"Change the report shape\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",2]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Change the report shape\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Switch to monthly, total, model, or session views depending on whether you care about cadence, totals, model mix, or outlier sessions.\"}]]}],[\"$\",\"article\",\"Add deeper context\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",3]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Add deeper context\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Use activity, wrapped, or diagnostics routes when the table alone does not answer the question.\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"section\",null,{\"className\":\"mt-6 grid gap-4 md:grid-cols-2\",\"children\":[[\"$\",\"article\",\"Why this guide exists\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"Why this guide exists\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Most AI coding reporting problems are not about one missing command. They are about choosing the right surface: daily usage, wrapped summaries, activity heatmaps, cost views, or shareable aggregate pages.\"}]]}],[\"$\",\"article\",\"What to expect\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"What to expect\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"This guide stays focused on vibestats workflows and the pages already documented in the public command reference, so you can move from local data to a readable result quickly.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"16:[\"$\",\"section\",null,{\"className\":\"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"FAQ\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid gap-4 md:grid-cols-2\",\"children\":[[\"$\",\"article\",\"What is the fastest way to approach how to track claude code usage?\",{\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-semibold text-slate-950\",\"children\":\"What is the fastest way to approach how to track claude code usage?\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-7 text-slate-600\",\"children\":\"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.\"}]]}],[\"$\",\"article\",\"Do I need to upload raw conversations for these guides?\",{\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-semibold text-slate-950\",\"children\":\"Do I need to upload raw conversations for these guides?\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-7 text-slate-600\",\"children\":\"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"section\",null,{\"className\":\"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-4\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Related pages\"}],[\"$\",\"h2\",null,{\"className\":\"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"Continue by intent\"}]]}],[\"$\",\"$L11\",null,{\"href\":\"/guides\",\"className\":\"text-sm font-medium text-slate-700 transition hover:text-orange-700\",\"children\":[\"View all \",\"guides\"]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"$L11\",\"/features/claude-code-stats\",{\"href\":\"/features/claude-code-stats\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"features claude-code-stats\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}],[\"$\",\"$L11\",\"/features/claude-diagnostics\",{\"href\":\"/features/claude-diagnostics\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"features claude-diagnostics\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}],[\"$\",\"$L11\",\"/compare/daily-vs-monthly-ai-usage-reports\",{\"href\":\"/compare/daily-vs-monthly-ai-usage-reports\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"compare daily-vs-monthly-ai-usage-reports\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n7:null\n"])</script><script>self.__next_f.push([1,"9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"How to track Claude Code usage | vibestats\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A practical guide to tracking Claude Code usage locally with vibestats.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"vibestats\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,how to track Claude Code usage,Claude Code usage guide,Claude Code stats tutorial\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"How to track Claude Code usage | vibestats\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"A practical guide to tracking Claude Code usage locally with vibestats.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"vibestats\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"How to track Claude Code usage | vibestats\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"A practical guide to tracking Claude Code usage locally with vibestats.\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"e:\"$9:metadata\"\n"])</script></body></html>
@@ -9,7 +9,7 @@ c:I[496,[],"MetadataBoundary"]
9
9
  d:"$Sreact.suspense"
10
10
  f:I[2207,[],""]
11
11
  :HL["/_next/static/css/335de1248158d380.css","style"]
12
- 0:{"P":null,"b":"3pcP-Y7gHe02EnmTXxc9b","p":"","c":["","guides","how-to-track-claude-code-usage"],"i":false,"f":[[["",{"children":["guides",{"children":[["slug","how-to-track-claude-code-usage","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/335de1248158d380.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","$L2",null,{"id":"wolf-analytics-config","strategy":"beforeInteractive","children":"window.WOLF_ANALYTICS_CONFIG = {\"apiUrl\":\"https://analapi.wolfai.dev\",\"projectApiKey\":\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\",\"mode\":\"intl\",\"sourceApp\":\"vibestats\"};"}],["$","$L2",null,{"id":"wolf-analytics-script","src":"https://analytics.wolfai.dev/wolf-analytics.min.js","strategy":"beforeInteractive"}]]}],["$","body",null,{"className":"antialiased min-h-screen bg-background text-foreground","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":["guides",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["slug","how-to-track-claude-code-usage","d"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5",null,["$","$L6",null,{"children":["$L7",["$","$L8",null,{"promise":"$@9"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$La",null,{"children":"$Lb"}],null],["$","$Lc",null,{"children":["$","div",null,{"hidden":true,"children":["$","$d",null,{"fallback":null,"children":"$Le"}]}]}]]}],false]],"m":"$undefined","G":["$f",[]],"s":false,"S":true}
12
+ 0:{"P":null,"b":"bkF3quPLxz4vmu3191LYm","p":"","c":["","guides","how-to-track-claude-code-usage"],"i":false,"f":[[["",{"children":["guides",{"children":[["slug","how-to-track-claude-code-usage","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/335de1248158d380.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","$L2",null,{"id":"wolf-analytics-config","strategy":"beforeInteractive","children":"window.WOLF_ANALYTICS_CONFIG = {\"apiUrl\":\"https://analapi.wolfai.dev\",\"projectApiKey\":\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\",\"mode\":\"intl\",\"sourceApp\":\"vibestats\"};"}],["$","$L2",null,{"id":"wolf-analytics-script","src":"https://analytics.wolfai.dev/wolf-analytics.min.js","strategy":"beforeInteractive"}]]}],["$","body",null,{"className":"antialiased min-h-screen bg-background text-foreground","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":["guides",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["slug","how-to-track-claude-code-usage","d"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5",null,["$","$L6",null,{"children":["$L7",["$","$L8",null,{"promise":"$@9"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$La",null,{"children":"$Lb"}],null],["$","$Lc",null,{"children":["$","div",null,{"hidden":true,"children":["$","$d",null,{"fallback":null,"children":"$Le"}]}]}]]}],false]],"m":"$undefined","G":["$f",[]],"s":false,"S":true}
13
13
  11:I[4816,["816","static/chunks/816-8960921093d57453.js","54","static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js"],""]
14
14
  10:T56b,[{"@context":"https://schema.org","@type":"WebPage","name":"How to track Claude Code usage","description":"A practical guide to tracking Claude Code usage locally with vibestats.","url":"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage","isPartOf":{"@type":"WebSite","name":"vibestats","url":"https://vibestats.wolfai.dev/"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"vibestats","item":"https://vibestats.wolfai.dev/"},{"@type":"ListItem","position":2,"name":"Guides","item":"https://vibestats.wolfai.dev/guides"},{"@type":"ListItem","position":3,"name":"How to track Claude Code usage","item":"https://vibestats.wolfai.dev/guides/how-to-track-claude-code-usage"}]},{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the fastest way to approach how to track claude code usage?","acceptedAnswer":{"@type":"Answer","text":"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication."}},{"@type":"Question","name":"Do I need to upload raw conversations for these guides?","acceptedAnswer":{"@type":"Answer","text":"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them."}}]}]5:["$","main",null,{"className":"min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12","children":[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"$10"}}],["$","div",null,{"className":"mx-auto max-w-7xl","children":[["$","header",null,{"className":"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden","children":[["$","div",null,{"className":"flex flex-wrap items-center gap-3 text-sm text-slate-500","children":[["$","$L11",null,{"href":"/","className":"transition hover:text-orange-700","children":"vibestats"}],["$","span",null,{"children":"/"}],["$","$L11",null,{"href":"/guides","className":"transition hover:text-orange-700","children":"Guides"}],["$","span",null,{"children":"/"}],["$","span",null,{"className":"text-slate-700","children":"How to track Claude Code usage"}]]}],["$","p",null,{"className":"mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500","children":"Guide"}],["$","h1",null,{"className":"mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl","children":"How to track Claude Code usage"}],["$","p",null,{"className":"mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg","children":"A practical guide to tracking Claude Code usage locally with vibestats."}],["$","div",null,{"className":"mt-6 grid gap-3 md:grid-cols-3","children":[["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Intent"}],["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":"Guide"}]]}],["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Focus"}],["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":"How to track Claude Code usage is a practical workflow page for turning local AI coding usage into something readable and repeatable."}]]}],"$L12"]}]]}],"$L13","$L14",null,"$L15","$L16","$L17"]}]]}]
15
15
  12:["$","div",null,{"className":"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4","children":[["$","div",null,{"className":"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500","children":"Next step"}],["$","div",null,{"className":"mt-2 text-sm leading-6 text-slate-700","children":["$","$L11",null,{"href":"/docs/commands","className":"text-slate-900 transition hover:text-orange-700","children":"Open the command reference"}]}]]}]
@@ -1 +1 @@
1
- <!DOCTYPE html><!--3pcP_Y7gHe02EnmTXxc9b--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/335de1248158d380.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-175b2f5685d7557b.js"/><script src="/_next/static/chunks/c476d598-9099ed8b975ae1d6.js" async=""></script><script src="/_next/static/chunks/498-74a3a367cb8442f0.js" async=""></script><script src="/_next/static/chunks/main-app-6619364ab1f13fb7.js" async=""></script><script src="/_next/static/chunks/app/layout-6ebd9b17af55ec02.js" async=""></script><script src="/_next/static/chunks/816-8960921093d57453.js" async=""></script><script src="/_next/static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js" async=""></script><link rel="preload" href="https://analytics.wolfai.dev/wolf-analytics.min.js" as="script"/><title>How to track Codex CLI usage | vibestats</title><meta name="description" content="A practical guide to tracking OpenAI Codex CLI usage locally with vibestats."/><meta name="application-name" content="vibestats"/><meta name="keywords" content="vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,how to track Codex CLI usage,Codex CLI usage guide,OpenAI Codex stats guide"/><link rel="canonical" href="https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage"/><meta property="og:title" content="How to track Codex CLI usage | vibestats"/><meta property="og:description" content="A practical guide to tracking OpenAI Codex CLI usage locally with vibestats."/><meta property="og:url" content="https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage"/><meta property="og:site_name" content="vibestats"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="How to track Codex CLI usage | vibestats"/><meta name="twitter:description" content="A practical guide to tracking OpenAI Codex CLI usage locally with vibestats."/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"window.WOLF_ANALYTICS_CONFIG = {\"apiUrl\":\"https://analapi.wolfai.dev\",\"projectApiKey\":\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\",\"mode\":\"intl\",\"sourceApp\":\"vibestats\"};","id":"wolf-analytics-config"}])</script><script>(self.__next_s=self.__next_s||[]).push(["https://analytics.wolfai.dev/wolf-analytics.min.js",{"id":"wolf-analytics-script"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="antialiased min-h-screen bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><main class="min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12"><script type="application/ld+json">[{"@context":"https://schema.org","@type":"WebPage","name":"How to track Codex CLI usage","description":"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.","url":"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage","isPartOf":{"@type":"WebSite","name":"vibestats","url":"https://vibestats.wolfai.dev/"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"vibestats","item":"https://vibestats.wolfai.dev/"},{"@type":"ListItem","position":2,"name":"Guides","item":"https://vibestats.wolfai.dev/guides"},{"@type":"ListItem","position":3,"name":"How to track Codex CLI usage","item":"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage"}]},{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the fastest way to approach how to track codex cli usage?","acceptedAnswer":{"@type":"Answer","text":"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication."}},{"@type":"Question","name":"Do I need to upload raw conversations for these guides?","acceptedAnswer":{"@type":"Answer","text":"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them."}}]}]</script><div class="mx-auto max-w-7xl"><header class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden"><div class="flex flex-wrap items-center gap-3 text-sm text-slate-500"><a class="transition hover:text-orange-700" href="/">vibestats</a><span>/</span><a class="transition hover:text-orange-700" href="/guides">Guides</a><span>/</span><span class="text-slate-700">How to track Codex CLI usage</span></div><p class="mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500">Guide</p><h1 class="mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl">How to track Codex CLI usage</h1><p class="mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg">A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.</p><div class="mt-6 grid gap-3 md:grid-cols-3"><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Intent</div><div class="mt-2 text-sm leading-6 text-slate-700">Guide</div></div><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Focus</div><div class="mt-2 text-sm leading-6 text-slate-700">How to track Codex CLI usage is a practical workflow page for turning local AI coding usage into something readable and repeatable.</div></div><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Next step</div><div class="mt-2 text-sm leading-6 text-slate-700"><a class="text-slate-900 transition hover:text-orange-700" href="/docs/commands">Open the command reference</a></div></div></div></header><section class="mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Highlights</p><ul class="mt-4 space-y-3 text-sm leading-7 text-slate-600"><li>Codex works best as its own first view</li><li>Total and session views answer different questions</li><li>Combined reporting is a second step, not the first</li></ul></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Relevant commands</p><div class="mt-4 grid gap-3"><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats codex</code><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats usage codex --total</code><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats codex --sessions</code></div></article></section><section class="mt-6"><div class="grid gap-4 md:grid-cols-3"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->1</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Switch to the Codex source</h2><p class="mt-4 text-sm leading-7 text-slate-600">Run `npx vibestats codex` so the report reflects Codex CLI usage only.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->2</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Choose the right grouping</h2><p class="mt-4 text-sm leading-7 text-slate-600">Use totals, models, or sessions depending on whether you care about spend, model mix, or session behavior.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->3</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Combine only when needed</h2><p class="mt-4 text-sm leading-7 text-slate-600">Move to combined reporting after you understand the Codex-only picture, not before.</p></article></div></section><section class="mt-6 grid gap-4 md:grid-cols-2"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><h2 class="font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">Why this guide exists</h2><p class="mt-4 text-sm leading-7 text-slate-600">Most AI coding reporting problems are not about one missing command. They are about choosing the right surface: daily usage, wrapped summaries, activity heatmaps, cost views, or shareable aggregate pages.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><h2 class="font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">What to expect</h2><p class="mt-4 text-sm leading-7 text-slate-600">This guide stays focused on vibestats workflows and the pages already documented in the public command reference, so you can move from local data to a readable result quickly.</p></article></section><section class="mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">FAQ</p><div class="mt-4 grid gap-4 md:grid-cols-2"><article class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5"><h2 class="text-lg font-semibold text-slate-950">What is the fastest way to approach how to track codex cli usage?</h2><p class="mt-3 text-sm leading-7 text-slate-600">Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.</p></article><article class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5"><h2 class="text-lg font-semibold text-slate-950">Do I need to upload raw conversations for these guides?</h2><p class="mt-3 text-sm leading-7 text-slate-600">No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.</p></article></div></section><section class="mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><div class="flex items-center justify-between gap-4"><div><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Related pages</p><h2 class="mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">Continue by intent</h2></div><a class="text-sm font-medium text-slate-700 transition hover:text-orange-700" href="/guides">View all <!-- -->guides</a></div><div class="mt-5 grid gap-4 md:grid-cols-3"><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/features/codex-cli-stats"><span class="block font-semibold text-slate-950">features codex-cli-stats</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/features/combined-ai-coding-stats"><span class="block font-semibold text-slate-950">features combined-ai-coding-stats</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/compare/claude-code-vs-codex-cli-tracking"><span class="block font-semibold text-slate-950">compare claude-code-vs-codex-cli-tracking</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a></div></section></div></main><!--$--><!--/$--><script src="/_next/static/chunks/webpack-175b2f5685d7557b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7437,[\"177\",\"static/chunks/app/layout-6ebd9b17af55ec02.js\"],\"\"]\n3:I[5965,[],\"\"]\n4:I[3609,[],\"\"]\n6:I[496,[],\"OutletBoundary\"]\n8:I[3737,[],\"AsyncMetadataOutlet\"]\na:I[496,[],\"ViewportBoundary\"]\nc:I[496,[],\"MetadataBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[2207,[],\"\"]\n:HL[\"/_next/static/css/335de1248158d380.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"3pcP-Y7gHe02EnmTXxc9b\",\"p\":\"\",\"c\":[\"\",\"guides\",\"how-to-track-codex-cli-usage\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"guides\",{\"children\":[[\"slug\",\"how-to-track-codex-cli-usage\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/335de1248158d380.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L2\",null,{\"id\":\"wolf-analytics-config\",\"strategy\":\"beforeInteractive\",\"children\":\"window.WOLF_ANALYTICS_CONFIG = {\\\"apiUrl\\\":\\\"https://analapi.wolfai.dev\\\",\\\"projectApiKey\\\":\\\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\\\",\\\"mode\\\":\\\"intl\\\",\\\"sourceApp\\\":\\\"vibestats\\\"};\"}],[\"$\",\"$L2\",null,{\"id\":\"wolf-analytics-script\",\"src\":\"https://analytics.wolfai.dev/wolf-analytics.min.js\",\"strategy\":\"beforeInteractive\"}]]}],[\"$\",\"body\",null,{\"className\":\"antialiased min-h-screen bg-background text-foreground\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[\"guides\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"slug\",\"how-to-track-codex-cli-usage\",\"d\"],[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null],[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$d\",null,{\"fallback\":null,\"children\":\"$Le\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"11:I[4816,[\"816\",\"static/chunks/816-8960921093d57453.js\",\"54\",\"static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js\"],\"\"]\n10:T566,"])</script><script>self.__next_f.push([1,"[{\"@context\":\"https://schema.org\",\"@type\":\"WebPage\",\"name\":\"How to track Codex CLI usage\",\"description\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\",\"url\":\"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage\",\"isPartOf\":{\"@type\":\"WebSite\",\"name\":\"vibestats\",\"url\":\"https://vibestats.wolfai.dev/\"}},{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"vibestats\",\"item\":\"https://vibestats.wolfai.dev/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guides\",\"item\":\"https://vibestats.wolfai.dev/guides\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to track Codex CLI usage\",\"item\":\"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage\"}]},{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is the fastest way to approach how to track codex cli usage?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.\"}},{\"@type\":\"Question\",\"name\":\"Do I need to upload raw conversations for these guides?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.\"}}]}]"])</script><script>self.__next_f.push([1,"5:[\"$\",\"main\",null,{\"className\":\"min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$10\"}}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-7xl\",\"children\":[[\"$\",\"header\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-3 text-sm text-slate-500\",\"children\":[[\"$\",\"$L11\",null,{\"href\":\"/\",\"className\":\"transition hover:text-orange-700\",\"children\":\"vibestats\"}],[\"$\",\"span\",null,{\"children\":\"/\"}],[\"$\",\"$L11\",null,{\"href\":\"/guides\",\"className\":\"transition hover:text-orange-700\",\"children\":\"Guides\"}],[\"$\",\"span\",null,{\"children\":\"/\"}],[\"$\",\"span\",null,{\"className\":\"text-slate-700\",\"children\":\"How to track Codex CLI usage\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500\",\"children\":\"Guide\"}],[\"$\",\"h1\",null,{\"className\":\"mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl\",\"children\":\"How to track Codex CLI usage\"}],[\"$\",\"p\",null,{\"className\":\"mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg\",\"children\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 grid gap-3 md:grid-cols-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Intent\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":\"Guide\"}]]}],[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Focus\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":\"How to track Codex CLI usage is a practical workflow page for turning local AI coding usage into something readable and repeatable.\"}]]}],\"$L12\"]}]]}],\"$L13\",\"$L14\",null,\"$L15\",\"$L16\",\"$L17\"]}]]}]\n"])</script><script>self.__next_f.push([1,"12:[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Next step\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":[\"$\",\"$L11\",null,{\"href\":\"/docs/commands\",\"className\":\"text-slate-900 transition hover:text-orange-700\",\"children\":\"Open the command reference\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"13:[\"$\",\"section\",null,{\"className\":\"mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]\",\"children\":[[\"$\",\"article\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Highlights\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-3 text-sm leading-7 text-slate-600\",\"children\":[[\"$\",\"li\",\"Codex works best as its own first view\",{\"children\":\"Codex works best as its own first view\"}],[\"$\",\"li\",\"Total and session views answer different questions\",{\"children\":\"Total and session views answer different questions\"}],[\"$\",\"li\",\"Combined reporting is a second step, not the first\",{\"children\":\"Combined reporting is a second step, not the first\"}]]}]]}],[\"$\",\"article\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Relevant commands\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid gap-3\",\"children\":[[\"$\",\"code\",\"npx vibestats codex\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats codex\"}],[\"$\",\"code\",\"npx vibestats usage codex --total\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats usage codex --total\"}],[\"$\",\"code\",\"npx vibestats codex --sessions\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats codex --sessions\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"14:[\"$\",\"section\",null,{\"className\":\"mt-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"article\",\"Switch to the Codex source\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",1]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Switch to the Codex source\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Run `npx vibestats codex` so the report reflects Codex CLI usage only.\"}]]}],[\"$\",\"article\",\"Choose the right grouping\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",2]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Choose the right grouping\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Use totals, models, or sessions depending on whether you care about spend, model mix, or session behavior.\"}]]}],[\"$\",\"article\",\"Combine only when needed\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",3]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Combine only when needed\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Move to combined reporting after you understand the Codex-only picture, not before.\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"section\",null,{\"className\":\"mt-6 grid gap-4 md:grid-cols-2\",\"children\":[[\"$\",\"article\",\"Why this guide exists\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"Why this guide exists\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Most AI coding reporting problems are not about one missing command. They are about choosing the right surface: daily usage, wrapped summaries, activity heatmaps, cost views, or shareable aggregate pages.\"}]]}],[\"$\",\"article\",\"What to expect\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"What to expect\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"This guide stays focused on vibestats workflows and the pages already documented in the public command reference, so you can move from local data to a readable result quickly.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"16:[\"$\",\"section\",null,{\"className\":\"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"FAQ\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid gap-4 md:grid-cols-2\",\"children\":[[\"$\",\"article\",\"What is the fastest way to approach how to track codex cli usage?\",{\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-semibold text-slate-950\",\"children\":\"What is the fastest way to approach how to track codex cli usage?\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-7 text-slate-600\",\"children\":\"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.\"}]]}],[\"$\",\"article\",\"Do I need to upload raw conversations for these guides?\",{\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-semibold text-slate-950\",\"children\":\"Do I need to upload raw conversations for these guides?\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-7 text-slate-600\",\"children\":\"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"section\",null,{\"className\":\"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-4\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Related pages\"}],[\"$\",\"h2\",null,{\"className\":\"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"Continue by intent\"}]]}],[\"$\",\"$L11\",null,{\"href\":\"/guides\",\"className\":\"text-sm font-medium text-slate-700 transition hover:text-orange-700\",\"children\":[\"View all \",\"guides\"]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"$L11\",\"/features/codex-cli-stats\",{\"href\":\"/features/codex-cli-stats\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"features codex-cli-stats\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}],[\"$\",\"$L11\",\"/features/combined-ai-coding-stats\",{\"href\":\"/features/combined-ai-coding-stats\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"features combined-ai-coding-stats\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}],[\"$\",\"$L11\",\"/compare/claude-code-vs-codex-cli-tracking\",{\"href\":\"/compare/claude-code-vs-codex-cli-tracking\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"compare claude-code-vs-codex-cli-tracking\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n7:null\n"])</script><script>self.__next_f.push([1,"9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"How to track Codex CLI usage | vibestats\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"vibestats\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,how to track Codex CLI usage,Codex CLI usage guide,OpenAI Codex stats guide\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"How to track Codex CLI usage | vibestats\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"vibestats\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"How to track Codex CLI usage | vibestats\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"e:\"$9:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--bkF3quPLxz4vmu3191LYm--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/335de1248158d380.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-175b2f5685d7557b.js"/><script src="/_next/static/chunks/c476d598-9099ed8b975ae1d6.js" async=""></script><script src="/_next/static/chunks/498-74a3a367cb8442f0.js" async=""></script><script src="/_next/static/chunks/main-app-6619364ab1f13fb7.js" async=""></script><script src="/_next/static/chunks/app/layout-6ebd9b17af55ec02.js" async=""></script><script src="/_next/static/chunks/816-8960921093d57453.js" async=""></script><script src="/_next/static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js" async=""></script><link rel="preload" href="https://analytics.wolfai.dev/wolf-analytics.min.js" as="script"/><title>How to track Codex CLI usage | vibestats</title><meta name="description" content="A practical guide to tracking OpenAI Codex CLI usage locally with vibestats."/><meta name="application-name" content="vibestats"/><meta name="keywords" content="vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,how to track Codex CLI usage,Codex CLI usage guide,OpenAI Codex stats guide"/><link rel="canonical" href="https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage"/><meta property="og:title" content="How to track Codex CLI usage | vibestats"/><meta property="og:description" content="A practical guide to tracking OpenAI Codex CLI usage locally with vibestats."/><meta property="og:url" content="https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage"/><meta property="og:site_name" content="vibestats"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="How to track Codex CLI usage | vibestats"/><meta name="twitter:description" content="A practical guide to tracking OpenAI Codex CLI usage locally with vibestats."/><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"window.WOLF_ANALYTICS_CONFIG = {\"apiUrl\":\"https://analapi.wolfai.dev\",\"projectApiKey\":\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\",\"mode\":\"intl\",\"sourceApp\":\"vibestats\"};","id":"wolf-analytics-config"}])</script><script>(self.__next_s=self.__next_s||[]).push(["https://analytics.wolfai.dev/wolf-analytics.min.js",{"id":"wolf-analytics-script"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="antialiased min-h-screen bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><main class="min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12"><script type="application/ld+json">[{"@context":"https://schema.org","@type":"WebPage","name":"How to track Codex CLI usage","description":"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.","url":"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage","isPartOf":{"@type":"WebSite","name":"vibestats","url":"https://vibestats.wolfai.dev/"}},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"vibestats","item":"https://vibestats.wolfai.dev/"},{"@type":"ListItem","position":2,"name":"Guides","item":"https://vibestats.wolfai.dev/guides"},{"@type":"ListItem","position":3,"name":"How to track Codex CLI usage","item":"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage"}]},{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the fastest way to approach how to track codex cli usage?","acceptedAnswer":{"@type":"Answer","text":"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication."}},{"@type":"Question","name":"Do I need to upload raw conversations for these guides?","acceptedAnswer":{"@type":"Answer","text":"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them."}}]}]</script><div class="mx-auto max-w-7xl"><header class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden"><div class="flex flex-wrap items-center gap-3 text-sm text-slate-500"><a class="transition hover:text-orange-700" href="/">vibestats</a><span>/</span><a class="transition hover:text-orange-700" href="/guides">Guides</a><span>/</span><span class="text-slate-700">How to track Codex CLI usage</span></div><p class="mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500">Guide</p><h1 class="mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl">How to track Codex CLI usage</h1><p class="mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg">A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.</p><div class="mt-6 grid gap-3 md:grid-cols-3"><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Intent</div><div class="mt-2 text-sm leading-6 text-slate-700">Guide</div></div><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Focus</div><div class="mt-2 text-sm leading-6 text-slate-700">How to track Codex CLI usage is a practical workflow page for turning local AI coding usage into something readable and repeatable.</div></div><div class="rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4"><div class="text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Next step</div><div class="mt-2 text-sm leading-6 text-slate-700"><a class="text-slate-900 transition hover:text-orange-700" href="/docs/commands">Open the command reference</a></div></div></div></header><section class="mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Highlights</p><ul class="mt-4 space-y-3 text-sm leading-7 text-slate-600"><li>Codex works best as its own first view</li><li>Total and session views answer different questions</li><li>Combined reporting is a second step, not the first</li></ul></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Relevant commands</p><div class="mt-4 grid gap-3"><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats codex</code><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats usage codex --total</code><code class="rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700">npx vibestats codex --sessions</code></div></article></section><section class="mt-6"><div class="grid gap-4 md:grid-cols-3"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->1</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Switch to the Codex source</h2><p class="mt-4 text-sm leading-7 text-slate-600">Run `npx vibestats codex` so the report reflects Codex CLI usage only.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->2</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Choose the right grouping</h2><p class="mt-4 text-sm leading-7 text-slate-600">Use totals, models, or sessions depending on whether you care about spend, model mix, or session behavior.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Step <!-- -->3</p><h2 class="mt-3 text-2xl font-semibold text-slate-950">Combine only when needed</h2><p class="mt-4 text-sm leading-7 text-slate-600">Move to combined reporting after you understand the Codex-only picture, not before.</p></article></div></section><section class="mt-6 grid gap-4 md:grid-cols-2"><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><h2 class="font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">Why this guide exists</h2><p class="mt-4 text-sm leading-7 text-slate-600">Most AI coding reporting problems are not about one missing command. They are about choosing the right surface: daily usage, wrapped summaries, activity heatmaps, cost views, or shareable aggregate pages.</p></article><article class="rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><h2 class="font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">What to expect</h2><p class="mt-4 text-sm leading-7 text-slate-600">This guide stays focused on vibestats workflows and the pages already documented in the public command reference, so you can move from local data to a readable result quickly.</p></article></section><section class="mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">FAQ</p><div class="mt-4 grid gap-4 md:grid-cols-2"><article class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5"><h2 class="text-lg font-semibold text-slate-950">What is the fastest way to approach how to track codex cli usage?</h2><p class="mt-3 text-sm leading-7 text-slate-600">Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.</p></article><article class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5"><h2 class="text-lg font-semibold text-slate-950">Do I need to upload raw conversations for these guides?</h2><p class="mt-3 text-sm leading-7 text-slate-600">No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.</p></article></div></section><section class="mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]"><div class="flex items-center justify-between gap-4"><div><p class="text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500">Related pages</p><h2 class="mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950">Continue by intent</h2></div><a class="text-sm font-medium text-slate-700 transition hover:text-orange-700" href="/guides">View all <!-- -->guides</a></div><div class="mt-5 grid gap-4 md:grid-cols-3"><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/features/codex-cli-stats"><span class="block font-semibold text-slate-950">features codex-cli-stats</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/features/combined-ai-coding-stats"><span class="block font-semibold text-slate-950">features combined-ai-coding-stats</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a><a class="rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white" href="/compare/claude-code-vs-codex-cli-tracking"><span class="block font-semibold text-slate-950">compare claude-code-vs-codex-cli-tracking</span><span class="mt-2 block">Open the related vibestats page and continue the workflow from there.</span></a></div></section></div></main><!--$--><!--/$--><script src="/_next/static/chunks/webpack-175b2f5685d7557b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7437,[\"177\",\"static/chunks/app/layout-6ebd9b17af55ec02.js\"],\"\"]\n3:I[5965,[],\"\"]\n4:I[3609,[],\"\"]\n6:I[496,[],\"OutletBoundary\"]\n8:I[3737,[],\"AsyncMetadataOutlet\"]\na:I[496,[],\"ViewportBoundary\"]\nc:I[496,[],\"MetadataBoundary\"]\nd:\"$Sreact.suspense\"\nf:I[2207,[],\"\"]\n:HL[\"/_next/static/css/335de1248158d380.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"bkF3quPLxz4vmu3191LYm\",\"p\":\"\",\"c\":[\"\",\"guides\",\"how-to-track-codex-cli-usage\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"guides\",{\"children\":[[\"slug\",\"how-to-track-codex-cli-usage\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/335de1248158d380.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"$L2\",null,{\"id\":\"wolf-analytics-config\",\"strategy\":\"beforeInteractive\",\"children\":\"window.WOLF_ANALYTICS_CONFIG = {\\\"apiUrl\\\":\\\"https://analapi.wolfai.dev\\\",\\\"projectApiKey\\\":\\\"wa_rMSm5mgj44W_9LzMsKCwwAipAtxPynp1tn4PbxN_Oa8\\\",\\\"mode\\\":\\\"intl\\\",\\\"sourceApp\\\":\\\"vibestats\\\"};\"}],[\"$\",\"$L2\",null,{\"id\":\"wolf-analytics-script\",\"src\":\"https://analytics.wolfai.dev/wolf-analytics.min.js\",\"strategy\":\"beforeInteractive\"}]]}],[\"$\",\"body\",null,{\"className\":\"antialiased min-h-screen bg-background text-foreground\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[\"guides\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"slug\",\"how-to-track-codex-cli-usage\",\"d\"],[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",null,[\"$\",\"$L6\",null,{\"children\":[\"$L7\",[\"$\",\"$L8\",null,{\"promise\":\"$@9\"}]]}]]}],{},null,false]},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],null],[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$d\",null,{\"fallback\":null,\"children\":\"$Le\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"11:I[4816,[\"816\",\"static/chunks/816-8960921093d57453.js\",\"54\",\"static/chunks/app/guides/%5Bslug%5D/page-5d0587c1d5910e68.js\"],\"\"]\n10:T566,"])</script><script>self.__next_f.push([1,"[{\"@context\":\"https://schema.org\",\"@type\":\"WebPage\",\"name\":\"How to track Codex CLI usage\",\"description\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\",\"url\":\"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage\",\"isPartOf\":{\"@type\":\"WebSite\",\"name\":\"vibestats\",\"url\":\"https://vibestats.wolfai.dev/\"}},{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"vibestats\",\"item\":\"https://vibestats.wolfai.dev/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guides\",\"item\":\"https://vibestats.wolfai.dev/guides\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to track Codex CLI usage\",\"item\":\"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage\"}]},{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is the fastest way to approach how to track codex cli usage?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.\"}},{\"@type\":\"Question\",\"name\":\"Do I need to upload raw conversations for these guides?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.\"}}]}]"])</script><script>self.__next_f.push([1,"5:[\"$\",\"main\",null,{\"className\":\"min-h-screen bg-[radial-gradient(circle_at_top_left,_rgba(253,186,116,0.22),_transparent_35%),linear-gradient(180deg,#fff9f1_0%,#fff1de_100%)] px-4 py-8 text-slate-900 md:px-8 md:py-12\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$10\"}}],[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-7xl\",\"children\":[[\"$\",\"header\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)] overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-3 text-sm text-slate-500\",\"children\":[[\"$\",\"$L11\",null,{\"href\":\"/\",\"className\":\"transition hover:text-orange-700\",\"children\":\"vibestats\"}],[\"$\",\"span\",null,{\"children\":\"/\"}],[\"$\",\"$L11\",null,{\"href\":\"/guides\",\"className\":\"transition hover:text-orange-700\",\"children\":\"Guides\"}],[\"$\",\"span\",null,{\"children\":\"/\"}],[\"$\",\"span\",null,{\"className\":\"text-slate-700\",\"children\":\"How to track Codex CLI usage\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-5 text-[0.72rem] font-semibold uppercase tracking-[0.28em] text-slate-500\",\"children\":\"Guide\"}],[\"$\",\"h1\",null,{\"className\":\"mt-4 max-w-5xl font-[family-name:var(--font-display)] text-5xl leading-none text-slate-950 md:text-7xl\",\"children\":\"How to track Codex CLI usage\"}],[\"$\",\"p\",null,{\"className\":\"mt-5 max-w-3xl text-base leading-7 text-slate-600 md:text-lg\",\"children\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\"}],[\"$\",\"div\",null,{\"className\":\"mt-6 grid gap-3 md:grid-cols-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Intent\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":\"Guide\"}]]}],[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Focus\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":\"How to track Codex CLI usage is a practical workflow page for turning local AI coding usage into something readable and repeatable.\"}]]}],\"$L12\"]}]]}],\"$L13\",\"$L14\",null,\"$L15\",\"$L16\",\"$L17\"]}]]}]\n"])</script><script>self.__next_f.push([1,"12:[\"$\",\"div\",null,{\"className\":\"rounded-[1.3rem] border border-slate-200 bg-slate-50 px-4 py-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-[0.7rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Next step\"}],[\"$\",\"div\",null,{\"className\":\"mt-2 text-sm leading-6 text-slate-700\",\"children\":[\"$\",\"$L11\",null,{\"href\":\"/docs/commands\",\"className\":\"text-slate-900 transition hover:text-orange-700\",\"children\":\"Open the command reference\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"13:[\"$\",\"section\",null,{\"className\":\"mt-6 grid gap-4 lg:grid-cols-[0.8fr_1.2fr]\",\"children\":[[\"$\",\"article\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Highlights\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-3 text-sm leading-7 text-slate-600\",\"children\":[[\"$\",\"li\",\"Codex works best as its own first view\",{\"children\":\"Codex works best as its own first view\"}],[\"$\",\"li\",\"Total and session views answer different questions\",{\"children\":\"Total and session views answer different questions\"}],[\"$\",\"li\",\"Combined reporting is a second step, not the first\",{\"children\":\"Combined reporting is a second step, not the first\"}]]}]]}],[\"$\",\"article\",null,{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Relevant commands\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid gap-3\",\"children\":[[\"$\",\"code\",\"npx vibestats codex\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats codex\"}],[\"$\",\"code\",\"npx vibestats usage codex --total\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats usage codex --total\"}],[\"$\",\"code\",\"npx vibestats codex --sessions\",{\"className\":\"rounded-[1.2rem] bg-slate-100 px-4 py-4 text-sm text-slate-700\",\"children\":\"npx vibestats codex --sessions\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"14:[\"$\",\"section\",null,{\"className\":\"mt-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"article\",\"Switch to the Codex source\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",1]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Switch to the Codex source\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Run `npx vibestats codex` so the report reflects Codex CLI usage only.\"}]]}],[\"$\",\"article\",\"Choose the right grouping\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",2]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Choose the right grouping\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Use totals, models, or sessions depending on whether you care about spend, model mix, or session behavior.\"}]]}],[\"$\",\"article\",\"Combine only when needed\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":[\"Step \",3]}],[\"$\",\"h2\",null,{\"className\":\"mt-3 text-2xl font-semibold text-slate-950\",\"children\":\"Combine only when needed\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Move to combined reporting after you understand the Codex-only picture, not before.\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"section\",null,{\"className\":\"mt-6 grid gap-4 md:grid-cols-2\",\"children\":[[\"$\",\"article\",\"Why this guide exists\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"Why this guide exists\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"Most AI coding reporting problems are not about one missing command. They are about choosing the right surface: daily usage, wrapped summaries, activity heatmaps, cost views, or shareable aggregate pages.\"}]]}],[\"$\",\"article\",\"What to expect\",{\"className\":\"rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"What to expect\"}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm leading-7 text-slate-600\",\"children\":\"This guide stays focused on vibestats workflows and the pages already documented in the public command reference, so you can move from local data to a readable result quickly.\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"16:[\"$\",\"section\",null,{\"className\":\"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"FAQ\"}],[\"$\",\"div\",null,{\"className\":\"mt-4 grid gap-4 md:grid-cols-2\",\"children\":[[\"$\",\"article\",\"What is the fastest way to approach how to track codex cli usage?\",{\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-semibold text-slate-950\",\"children\":\"What is the fastest way to approach how to track codex cli usage?\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-7 text-slate-600\",\"children\":\"Start with the relevant command, verify the output locally, then decide whether you need a share page, a wrapped summary, or a heatmap for communication.\"}]]}],[\"$\",\"article\",\"Do I need to upload raw conversations for these guides?\",{\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-lg font-semibold text-slate-950\",\"children\":\"Do I need to upload raw conversations for these guides?\"}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-7 text-slate-600\",\"children\":\"No. vibestats works from local usage artifacts and only turns aggregate results into hosted pages when you explicitly publish them.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"section\",null,{\"className\":\"mt-6 rounded-[1.8rem] border border-slate-200 bg-white/95 p-6 shadow-[0_20px_40px_rgba(15,23,42,0.06)]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center justify-between gap-4\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"text-[0.72rem] font-semibold uppercase tracking-[0.22em] text-slate-500\",\"children\":\"Related pages\"}],[\"$\",\"h2\",null,{\"className\":\"mt-3 font-[family-name:var(--font-display)] text-3xl leading-none text-slate-950\",\"children\":\"Continue by intent\"}]]}],[\"$\",\"$L11\",null,{\"href\":\"/guides\",\"className\":\"text-sm font-medium text-slate-700 transition hover:text-orange-700\",\"children\":[\"View all \",\"guides\"]}]]}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"$L11\",\"/features/codex-cli-stats\",{\"href\":\"/features/codex-cli-stats\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"features codex-cli-stats\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}],[\"$\",\"$L11\",\"/features/combined-ai-coding-stats\",{\"href\":\"/features/combined-ai-coding-stats\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"features combined-ai-coding-stats\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}],[\"$\",\"$L11\",\"/compare/claude-code-vs-codex-cli-tracking\",{\"href\":\"/compare/claude-code-vs-codex-cli-tracking\",\"className\":\"rounded-[1.4rem] border border-slate-200 bg-slate-50 px-5 py-5 text-sm leading-7 text-slate-600 transition hover:border-orange-300 hover:bg-white\",\"children\":[[\"$\",\"span\",null,{\"className\":\"block font-semibold text-slate-950\",\"children\":\"compare claude-code-vs-codex-cli-tracking\"}],[\"$\",\"span\",null,{\"className\":\"mt-2 block\",\"children\":\"Open the related vibestats page and continue the workflow from there.\"}]]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n7:null\n"])</script><script>self.__next_f.push([1,"9:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"How to track Codex CLI usage | vibestats\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"vibestats\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"vibestats,Claude Code stats,Codex CLI stats,AI coding stats,AI coding analytics,Claude Code wrapped,Codex usage tracker,developer analytics,how to track Codex CLI usage,Codex CLI usage guide,OpenAI Codex stats guide\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:title\",\"content\":\"How to track Codex CLI usage | vibestats\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:description\",\"content\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:url\",\"content\":\"https://vibestats.wolfai.dev/guides/how-to-track-codex-cli-usage\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:site_name\",\"content\":\"vibestats\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"How to track Codex CLI usage | vibestats\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"A practical guide to tracking OpenAI Codex CLI usage locally with vibestats.\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"e:\"$9:metadata\"\n"])</script></body></html>