Agents that fix themselves, at scale.
WebsiteΒ Β Β·Β Β DocsΒ Β Β·Β Β ChangelogΒ Β Β·Β Β SlackΒ Β Β·Β Β X
Latitude finds where your agent fails and gets it fixed.
- Observe: one line of telemetry captures every trace: multi-turn sessions, tool calls, and full execution paths. (traces, sessions, tool-call observability, OpenTelemetry ingest)
- Understand: failing traces are auto-grouped into tracked signals with status, size, and trend, so you see what's breaking and how often. (signals, flaggers, behaviours, semantic search, annotations)
- Fix: Latitude dispatches your coding agents (Claude Code, Cursor) with the full context, sample traces, and a deep link. It writes the smallest correct fix and opens a PR. (Agent Dispatch, MCP server, Linear & webhook dispatch)
- Verify: fixes are replayed against the real failing traces, so fixed failures don't come back. (regression datasets, monitors, alerts)
Everything you can do in the UI is also available from your coding agent via the MCP server and the CLI.
- Quick start
- Integrations
- With Claude Code
- Development
- Self-host
- Community
- Contributing
- License
- Links
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.
Paste this prompt into Claude Code, Cursor, Windsurf, Codex, OpenCode, or another coding agent:
Install the `latitude-setup` skill from `github.com/latitude-dev/skills`, and use it to add Latitude tracing to this app following best practices.
npm install @latitude-data/telemetryThis 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.
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.
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 installWorks in the terminal, the Desktop app, and IDE extensions.
Check out the Development setup and the Contributing guide to get started contributing to Latitude.
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.
Join the Slack community to ask questions, share feedback, and show what you're building.
Latitude is licensed under the MIT License.
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.
Made with love by the Latitude Team
