Tools and agents
The Set up page composes these with your address and a permitted model whose connection supports the tool's format. Copy exact provider/model IDs from the catalog. A configured connection is not evidence every client feature works; verify the tools your team uses.
Codex CLI
# ~/.codex/config.toml
model = "<model id>"
model_provider = "jatevo"
[model_providers.jatevo]
name = "jatevo"
base_url = "https://jatevo.ai/v1"
wire_api = "responses"
env_key = "JATEVO_API_KEY"
Not run here: this block was not executed on the server that serves this page.
export JATEVO_API_KEY=<your key>
codex
Not run here: this block was not executed on the server that serves this page.
Claude Code
Claude Code speaks the Anthropic format. Use a Claude API connection or a compatible adapter and name its exact provider/model ID. Gateway credentials use the configured provider account; they do not turn a Claude subscription into shared API credits.
export ANTHROPIC_BASE_URL=https://jatevo.ai
export ANTHROPIC_AUTH_TOKEN=<your key>
export ANTHROPIC_MODEL=<model id>
claude
Not run here: this block was not executed on the server that serves this page.
Cursor
Settings, Models, OpenAI API key: paste the key, tick Override OpenAI Base URL and enter https://jatevo.ai/v1. Cursor verifies the address from its own servers, so the console needs a public hostname with TLS; a 127.0.0.1 address does not pass its check.
OpenAI SDK
from openai import OpenAI
client = OpenAI(base_url="https://jatevo.ai/v1", api_key="<your key>")
r = client.chat.completions.create(model="<model id>", messages=[{"role": "user", "content": "hello"}])
print(r.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://jatevo.ai/v1", apiKey: "<your key>" });
const r = await client.chat.completions.create({ model: "<model id>", messages: [{ role: "user", content: "hello" }] });
console.log(r.choices[0].message.content);
Anthropic SDK
import anthropic
client = anthropic.Anthropic(base_url="https://jatevo.ai", api_key="<your key>")
m = client.messages.create(model="<model id>", max_tokens=256, messages=[{"role": "user", "content": "hello"}])
print(m.content[0].text)
Gemini format
from google import genai
client = genai.Client(api_key="<your key>", http_options={"base_url": "https://jatevo.ai"})
r = client.models.generate_content(model="<model id>", contents="hello")
print(r.text)
OpenClaw
See OpenClaw.
Anything else
Tools accepting an OpenAI-compatible base URL can use https://jatevo.ai/v1 with a compatible connection. Anthropic-format tools can use https://jatevo.ai with a Messages-compatible connection. The API page lists formats and limits. Persistent WebSockets are currently refused; use HTTP/SSE. Antigravity currently documents no custom endpoint support.