Skip to main content
When you connect Claude Code or Codex, Carbon receives dimensions only. The content of your work never leaves your machine.

What Carbon receives

  • Model — the model id each call used
  • Token usage — input, output, and cached token counts
  • Cost — the USD cost Carbon derives from usage
  • Timing & status — duration, timestamps, and success/error
  • Correlation keys — the session and turn ids that group a run’s events
  • Source — which app produced it (Claude Code or Codex)

What Carbon never receives

  • Your prompts and instructions
  • The model’s responses
  • Tool input/output text — the arguments to and results from tool calls
  • File contents, diffs, or any of your code
The apps’ OpenTelemetry logs signal carries these usage dimensions but not the message bodies, and @carbon-js/connect enables only that signal — never traces. There is no transcript parsing and no separate uploader: the app exports straight to Carbon, authenticated with your API key.
This is the same canonical event the Carbon SDK produces — so coding-app usage sits in the same dashboard, sliced by model, cost, and source, as the rest of your space.