# Overview
Source: https://docs.tensormachine.ai/integrations

Most AI tools let you choose where their requests go. Because a Tensor Machine key speaks
**both the OpenAI Chat Completions format and the Anthropic Messages format** over one
endpoint, almost any tool that talks to either can be pointed at your workspace instead —
usually with a base URL and an API key, no code changes.

That also means the tool's traffic follows your workspace rules: your model allow-list, your
spend limits, your audit trail, and India-resident inference.

## Which format does your tool speak?

Pick the endpoint that matches the API your tool was built against.

| Your tool speaks | Point it at | Auth header it will send |
| --- | --- | --- |
| OpenAI Chat Completions | `https://edge.tensormachine.ai/<org>/v1` | `Authorization: Bearer sk-tm-…` |
| Anthropic Messages | `https://edge.tensormachine.ai/<org>/anthropic` | `x-api-key` **or** `Authorization: Bearer` |

Replace `<org>` with your workspace slug — the exact base URL is on the **API Keys** page in
the console, next to a copy button.

Either header works on the Anthropic endpoint, which matters because tools disagree about
which one to send: the Anthropic SDK uses `x-api-key`, while Claude Code sends
`Authorization: Bearer`. You don't have to care which — the same `sk-tm-…` key authenticates
both ways.

## Guides

- **[OpenCode](/integrations/opencode)** — the open-source terminal coding agent. Uses the
  OpenAI-compatible endpoint, configured in `opencode.json`.
- **[Claude CLI](/integrations/claude-cli)** — Anthropic's `claude` command-line tool. Uses
  the Anthropic-compatible endpoint, configured with two environment variables.

## Before you start

Every guide assumes you have:

1. **An API key** — mint one under *API Keys* in the console and copy the `sk-tm-…` secret
   (it's shown once). See [API keys & endpoints](/api-keys-and-endpoints).
2. **A funded workspace** — a key can't make requests at a ₹0 balance
   (*Billing → Add funds*).
3. **At least one model allowed for your team** — check *My Team → Model access*. The model
   IDs you'll paste into these configs are the `tm/…` aliases listed there.

## A note on agentic tools

Coding agents are demanding clients: they send long system prompts, and they depend on
**tool calling** to read and edit files. A model that answers chat well can still be a poor
agent if it handles tool calls badly. If an agent connects but loops, ignores instructions,
or never edits a file, try a different model from your allow-list before assuming the
integration is misconfigured — [Models](/models) notes which models are suited to this.

## Something else you want connected?

These guides cover the tools we've been asked about most. If you're wiring up something not
listed here and get stuck — or you get it working and think it deserves a page — tell us
through the console and we'll add it.
