@carbon-js/connect doesn’t run a daemon, proxy your traffic, or parse transcripts. It makes one tagged, idempotent edit to the app’s own config that turns on the app’s built-in OpenTelemetry logs exporter and points it at Carbon’s OTLP endpoint. The app does the exporting itself.
The edit, per app
- Claude Code
- Codex
Edits
~/.claude/settings.json — adds an env block that enables telemetry, selects the OTLP/HTTP logs
exporter, and sets the Carbon endpoint and your API key as the bearer token. Unrelated settings are left untouched.Safe and reversible
- Idempotent. The edit is tagged, so re-running
connectupdates in place rather than duplicating anything. - Scoped. Only the telemetry keys are added; the rest of your config is preserved exactly.
- Cleanly reverted.
@carbon-js/connect disconnect <app>removes exactly the keys it added, leaving the rest of your config untouched.