New: Latitude MCP server: connect your AI agent to Latitude →
Sentry, but for agents and LLMs.
Website · Docs · Changelog · Slack · X
🌈 Why Latitude?
Latitude shows you what will break next in your AI Agent and helps you fix it before users notice.
- Issue-centric: failed traces grouped into tracked issues, with status, size, and trend.
- Human-aligned evals: evals built automatically from your team's judgments, with an alignment score that tracks drift from human judgment over time.
- Agent-native traces: multi-turn sessions, tool calls, and full execution paths in one view.
- Semantic search: find any trace by meaning, exact matches, or roughly similar sentences. No sampling, 100% of traces are searchable.
- Issue alerts: get notified the moment a new issue is detected or an existing one escalates. Connect Slack, email, or webhooks.
- MCP server: everything you can do in the Latitude UI, now available from your coding agent via MCP.
📚 Table of contents
- Quick start
- Integrations
- With Claude Code
- Development
- Self-host
- Community
- Contributing
- License
- Links
⚡ Quick start
You can use Latitude for free, including 20K credits/month, 30-day data retention, and unlimited seats.
Sign up at latitude.so and grab your API key and project slug.
Recommended: ask your coding agent
Paste this prompt into Claude Code, Cursor, Windsurf, Codex, OpenCode, or another coding agent:
Read the Latitude Telemetry AI skill from https://raw.githubusercontent.com/latitude-dev/skills/refs/heads/main/skills/latitude-telemetry/SKILL.md and add tracing to this application.
Manual TypeScript setup
npm install @latitude-data/telemetry
This example uses OpenAI; replace it with the LLM SDK your app already imports.
import { Latitude } from "@latitude-data/telemetry"; import OpenAI from "openai"; const latitude = new Latitude({ apiKey: process.env.LATITUDE_API_KEY!, project: process.env.LATITUDE_PROJECT_SLUG!, instrumentations: { openai: OpenAI }, }); const client = new OpenAI(); await client.chat.completions.create({ model: "gpt-4o", messages: [{ role: "user", content: "Hello" }], }); await latitude.shutdown();
Every supported LLM call now shows up as a trace in Latitude. Use capture() at request, conversation, or agent boundaries when you want to add user IDs, session IDs, tags, or metadata.
Python and any OpenTelemetry-compatible runtime are also supported. Full setup, provider guides, and OTel passthrough are in the Start tracing guide.
🔌 Integrations
Latitude is provider-agnostic. Telemetry works out of the box with most model providers and frameworks (OpenAI, Anthropic, Bedrock, Vercel AI SDK, LangChain, and more), plus any OTEL-compatible application.
See the full integration list for setup instructions.
✳️ With Claude Code
Building inside Claude Code? We have a dedicated package that captures full session transcripts as traces. Check out docs.
npx -y @latitude-data/claude-code-telemetry install
Works in the terminal, the Desktop app, and IDE extensions.
🛠️ Development
Check out the Development setup and the Contributing guide to get started contributing to Latitude.
🏠 Self-host
Latitude is self-hostable at any scale, on fully open infrastructure. Pull the ready-to-go container images on Docker Hub:
- Single-host (simple) — a production-grade instance on one machine with Docker Compose, follow the Single-host guide.
- Cluster (advanced) — a scalable, highly-available deployment on Kubernetes via a Helm chart, follow the Cluster guide.
- One-click (Railway) — the whole stack on managed infrastructure, easy deploy through Railway.
👥 Community
Join the Slack community to ask questions, share feedback, and show what you're building.
📄 License
Latitude is licensed under the MIT License.
🤝 Contributing
Contributions are welcome. Read the Contributing Guide to get started, then join the Slack community, open an issue, or submit a pull request.
New to the project? Good first issues are a friendly place to start.
🧑💻 Thanks to all of our contributors
🔗 Links
Made with love by the Latitude Team

























