Cursor IDE Observability & Monitoring with OpenTelemetry SigNoz has published a guide for monitoring Cursor, the AI-native code editor, using OpenTelemetry to trace agent activity, token usage, and tool failures. The setup uses the open-source opentelemetry-hooks runner to convert Cursor's agent hook events into OTLP traces, which can be viewed in SigNoz's traces explorer. This provides visibility into token spend, tool performance, and per-repository breakdowns, which Cursor's built-in console lacks. What is Cursor IDE Observability? Cursor https://cursor.com/ is an AI-native code editor whose agent plans and executes multi-step work: it reads files, runs shell commands, calls MCP servers, and edits code on your behalf. Cursor's own usage console shows what your team spent. What it does not show is what the agent actually did to spend it: which tools ran, how long each took, and which ones failed. This guide closes that gap using OpenTelemetry https://opentelemetry.io/ . Cursor's agent hooks fire on every step of the agent loop, and a hook runner turns those events into OTLP traces. The result is one trace per agent turn carrying both token counts and the full tool sequence, on any Cursor plan. With Cursor IDE observability in SigNoz, you can see how many tokens your team is spending and on which models, how long a turn actually takes end to end, which tools the agent reaches for most, which ones fail and why, and how all of that breaks down per repository and branch. Prerequisites - SigNoz setup choose one : SigNoz Cloud account https://signoz.io/teams/ with an active ingestion key- Self-hosted SigNoz instance - Cursor IDE on macOS or Linux - Python 3.11 or later Monitor Cursor IDE with OpenTelemetry Cursor has no built-in OTLP exporter outside its Enterprise plan, and that path emits metrics and logs only, with no traces. Instead, this setup uses Cursor's agent hooks with opentelemetry-hooks https://github.com/o11y-dev/opentelemetry-hooks , an MIT-licensed runner that converts hook events into OTLP spans. Step 1: Install the hook runner in its own environment so it does not touch your system Python. python3 -m venv ~/.local/opt/otel-hook ~/.local/opt/otel-hook/bin/pip install opentelemetry-hooks Step 2: Register it with Cursor. This writes ~/.cursor/hooks.json . ~/.local/opt/otel-hook/bin/otel-hook setup --agent cursor Step 3: Add the event that carries token counts. python python3 - <<'EOF' import json, os p = os.path.expanduser "~/.cursor/hooks.json" d = json.load open p h = d.get "hooks", d h "afterAgentResponse" = json.loads json.dumps h "stop" json.dump d, open p, "w" , indent=2 print "events registered:", len h EOF You should see events registered: 16 . If otel-hook is not on your PATH , rewrite the commands in ~/.cursor/hooks.json to the absolute path of the binary, otherwise Cursor silently fails to run the hook. Step 4: Point the exporter at SigNoz. Edit ~/.local/share/opentelemetry-hooks/otel config.json , keeping the other keys already in the file. { "OTEL EXPORTER OTLP ENDPOINT": "https://ingest.