For engineers
What the OpenReason installer does on your machine.
One command sets up Claude Code and Codex to report to OpenReason. This page says what it changes, what it sends, and how to install, check and remove it.
$ curl -fsSL https://get.openreason.app/otel | bash ✓ Setup complete.What it changes
The installer puts one program on your machine and writes the settings below. Your requests still go straight to Anthropic and OpenAI, on your own plan. or-otel is not a proxy and installs no certificate.
The Claude Code and Codex settings are managed settings, which sit above your own ~/.claude and ~/.codex. That is how they cover every session, in the terminal and in the desktop apps. Both files hold your team's key, and other accounts on the same machine can read them.
After installing, quit and reopen Claude Desktop and Codex, and open a new terminal. A session opened before setup keeps the old settings.
- /usr/local/bin/or-otel
- The reporter itself. The installer asks for your password to put it here.
- /Library/Application Support/ClaudeCode/managed-settings.d/openreason-otel.json
- Tells Claude Code to send its OpenTelemetry logs and metrics to OpenReason, with your team's key.
- /etc/codex/managed_config.toml
- The same for Codex, between # >>> openreason otel >>> markers. Any other managed settings in the file are kept.
- /etc/codex/requirements.toml
- Codex hooks that run or-otel when a session starts, after each turn, and when you stop a turn.
- ~/.claude/settings.json
- Claude Code hooks that report a turn you stopped with Esc, and a status line that sends your 5-hour and weekly limits, then runs your own status line if you had one.
- ~/.openreason/otel/
- Your key and settings, readable only by you, and a log of each hook run.
What it sends
Each tool's own OpenTelemetry export, plus what the hooks add. All of it goes to api.openreason.app.
What is sent
- Which tool and model, and when
- Token counts, cost, and how long each request took
- The repo each session ran in
Whichever repo it is, including a personal one.
- The commands the agent ran, and the tools and MCP servers it called
From Claude Code this includes each tool call's input, cut at 512 characters a value.
- Sessions, lines changed, commits and pull requests
Claude Code's own metrics.
- Your plan, and your 5-hour and weekly limits
Such as Team, Max or Pro. Neither tool's export carries these, so or-otel reads them on your machine and sends only those fields.
- The text of each prompt and replyOn by default
Your team lead chooses whether it is kept. To stop your machine sending it, install with --no-log-prompts.
- Your Claude extra usage this month, and its capOnly if your team turns it on
or-otel asks Anthropic for it with your Claude Code sign-in. or-otel setup --no-usage-api turns it off on your machine.
What is never sent
- Your files
or-otel does not read or upload them. Whatever a prompt or a tool call contains is sent as part of it.
- Your Claude Code or Codex sign-in
It is read on your machine to find your plan and, if your team turns it on, your extra usage. Only the results are sent.
A key or password in a prompt or a command is masked before anything is stored. We keep what kind of secret it was and where it appeared, never the value.
Install it, check it, remove it.
1
Easy to install
curl -fsSL https://get.openreason.app/otel | bash
One command and your team's OpenReason key. It can be pushed to machines through device management, with the key supplied up front.
2
Check
or-otel doctor
It checks that the reporter is installed and working, and what Claude Code is set to send, so you can confirm it first rather than take it on trust.
3
Remove completely with one command
or-otel uninstall
It removes the settings, the saved key and the program itself, and Claude Code and Codex keep working.
The reporter writes each tool’s company-managed settings, so it stays on without anybody remembering to turn it on. Where your company already manages Claude Code or Codex centrally, those settings take priority.
- OpenReason telemetry — status (or-otel 0.8.0)
- key present (sk-or_…h7Qd)
- Claude Code managed config present
- Codex managed config present
- config reports or-otel 0.8.0
- Codex reply hook present
- Codex stopped-turn hook present
- Claude Code stopped-turn hooks present
- claude_code plan last reported 2026-10-21 09:14:02
- codex plan last reported 2026-10-21 08:51:40
- Claude extra usage: not sent (your org has not turned it on)
- Claude Code sends commands and tool input
- Claude Code sends metrics and repo names
- Claude Code config carries the auth header
- ---
- claude 2.1.285 (Claude Code)
- Claude Desktop installed
- last hook run: 2026-10-21 10:42:17 limits codex http=200
- router accepts exports (https://api.openreason.app/otlp)