Latitude — self-healing AI agents

Make your AI agents self-healing

Agents that fix themselves, at scale.

License Build Commits last month npm downloads PyPI downloads GitHub stars Follow on X

Website  ·   Docs  ·   Changelog  ·   Slack  ·   X

Demo of the Latitude UI showing LLM observability, issue tracking, and evals

## 🌈 Why Latitude? 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](https://docs.latitude.so/observability/traces), [sessions](https://docs.latitude.so/observability/sessions), [tool-call observability](https://docs.latitude.so/observability/tool-calls), [OpenTelemetry ingest](https://docs.latitude.so/telemetry/otel-exporter))_ - **Understand**: failing traces are auto-grouped into tracked signals with status, size, and trend, so you see what's breaking and how often. _([signals](https://docs.latitude.so/signals/overview), [flaggers](https://docs.latitude.so/annotations/flaggers), [behaviours](https://docs.latitude.so/search/behaviours), [semantic search](https://docs.latitude.so/search/overview), [annotations](https://docs.latitude.so/annotations/overview))_ - **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](https://docs.latitude.so/agent-dispatch/overview), [MCP server](https://docs.latitude.so/getting-started/mcp), [Linear](https://docs.latitude.so/agent-dispatch/linear) & [webhook dispatch](https://docs.latitude.so/agent-dispatch/webhooks))_ - **Verify**: fixes are replayed against the real failing traces, so fixed failures don't come back. _([regression datasets](https://docs.latitude.so/test-and-fix/regression-testing), [monitors](https://docs.latitude.so/monitors/overview), alerts)_ Everything you can do in the UI is also available from your coding agent via the **[MCP server](https://docs.latitude.so/getting-started/mcp)** and the **[CLI](https://docs.latitude.so/getting-started/cli)**. ## 📚 Table of contents - [Quick start](#-quick-start) - [Integrations](#-integrations) - [With Claude Code](#-with-claude-code) - [Development](#-development) - [Self-host](#-self-host) - [Community](#-community) - [Contributing](#-contributing) - [License](#-license) - [Links](#-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](https://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: ```text Install the `latitude-setup` skill from `github.com/latitude-dev/skills`, and use it to add Latitude tracing to this app following best practices. ``` ### Manual TypeScript setup ```bash npm install @latitude-data/telemetry ``` This example uses OpenAI; replace it with the LLM SDK your app already imports. ```ts 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](https://docs.latitude.so/telemetry/start-tracing). ## 🔌 Integrations Latitude is provider-agnostic. Telemetry works out of the box with most model providers and frameworks ([OpenAI](https://docs.latitude.so/telemetry/providers/openai), [Anthropic](https://docs.latitude.so/telemetry/providers/anthropic), [Bedrock](https://docs.latitude.so/telemetry/providers/amazon-bedrock), [Vercel AI SDK](https://docs.latitude.so/telemetry/frameworks/vercel-ai-sdk), [LangChain](https://docs.latitude.so/telemetry/frameworks/langchain), and more), plus any OTEL-compatible application. See the [full integration list](https://docs.latitude.so/telemetry/start-tracing) 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.](https://docs.latitude.so/telemetry/claude-code) ```bash npx -y @latitude-data/claude-code-telemetry install ``` Works in the terminal, the Desktop app, and IDE extensions. ## 🛠️ Development Check out the [Development setup](https://docs.latitude.so/development/setup) and the [Contributing guide](CONTRIBUTING.md) to get started contributing to Latitude. ## 🏠 Self-host Latitude is [self-hostable](https://docs.latitude.so/deployment/overview) at any scale, on fully open infrastructure. Pull the ready-to-go container images on [Docker Hub](https://hub.docker.com/u/latitudedata): [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/deploy/latitude?referralCode=GND3X9&utm_medium=integration&utm_source=template&utm_campaign=generic) - **Single-host (simple)** — a production-grade instance on one machine with Docker Compose, follow the [Single-host guide](https://docs.latitude.so/deployment/single-host). - **Cluster (advanced)** — a scalable, highly-available deployment on Kubernetes via a Helm chart, follow the [Cluster guide](https://docs.latitude.so/deployment/cluster). - **One-click (Railway)** — the whole stack on managed infrastructure, easy deploy through [Railway](https://railway.com/deploy/latitude?referralCode=GND3X9&utm_medium=integration&utm_source=template&utm_campaign=generic). ## 👥 Community Join the [Slack community](https://join.slack.com/t/trylatitude/shared_invite/zt-35wu2h9es-N419qlptPMhyOeIpj3vjzw) to ask questions, share feedback, and show what you're building. ## 📄 License Latitude is licensed under the [MIT License](LICENSE). ## 🤝 Contributing Contributions are welcome. Read the [Contributing Guide](CONTRIBUTING.md) to get started, then join the [Slack community](https://join.slack.com/t/trylatitude/shared_invite/zt-35wu2h9es-N419qlptPMhyOeIpj3vjzw), open an [issue](https://github.com/latitude-dev/latitude-llm/issues/new), or submit a pull request. **New to the project?** [Good first issues](https://github.com/latitude-dev/latitude-llm/contribute) are a friendly place to start. ## 🧑‍💻 Thanks to all of our contributors

geclos csansoon andresgutgon neoxelox learningbizz cesr guillemwilly paulacavero ntizish Ashad-h cballou samufyi daavidrgz Bald1nh0 txus felpasl NewtTheWolf baibhavKumar1 cursoragent david8z eltociear marcos-muino-garcia PeterDaveHello timneutkens VaibhavWakde52 zhyd1997 buweiyuqi monotykamary wnor543 eeshsaxena Osamaali313 GouravSingal-code

## 🔗 Links - [Home page](https://latitude.so/v2/?utm_source=github_readme) - [Documentation](https://docs.latitude.so/) - [Changelog](https://latitude.so/changelog) - [Slack community](https://join.slack.com/t/trylatitude/shared_invite/zt-35wu2h9es-N419qlptPMhyOeIpj3vjzw) - [X / Twitter](https://x.com/trylatitude) Made with love by the Latitude Team