Claude Opus 4.8 is the Opus model Anthropic released in May 2026 as an upgrade to Opus 4.7. In Jantaris it offers a 1,000,000-token context window and up to 128K output tokens. It uses adaptive thinking, and its effort setting defaults to high. Anthropic said early testers found it more reliable on agentic tasks and that it fixed the verbose code comments and tool-calling issues some saw in Opus 4.7. Newer Opus models have since followed, but 4.8 remains a known, well-tested option.
Best for
- Production pipelines whose prompts were tuned on Opus 4.8
- Agentic coding with many tool calls in one session
- Long document analysis within a single 1M-token request
- A/B tests against Claude Opus 5.5 before you migrate
How to call it
Same OpenAI SDK, only the model id changes:
from openai import OpenAI
client = OpenAI(base_url="https://jantaris.com/v1", api_key="sk-jt-...")
resp = client.chat.completions.create(
model="claude-opus-4.8",
messages=[{"role": "user", "content": "Review this pull request diff for bugs."}],
)
print(resp.choices[0].message.content)It also works with the Anthropic SDK and Claude Code through /v1/messages, see the Claude Code guide.
FAQ
What does Claude Opus 4.8 cost?
In Jantaris it costs $5.40 / $27.00 per 1M tokens. Compare it with the price of Claude Opus 5.5 on the models page, because the newer Opus is not automatically more expensive.
Why would I still use Opus 4.8?
Stability. If your prompts, parsers and evals were built around its output, staying on 4.8 avoids surprises while you test the newer model side by side. With one Jantaris key you can call both and compare results on the same inputs.
Does Opus 4.8 support a thinking budget?
Not the old manual one. Opus 4.8 rejects a fixed thinking token budget and uses adaptive thinking instead, so drop that setting when you move older code over. Anthropic also allows system messages later in a conversation on this model.
How to call Claude Opus 4.8 via API
from openai import OpenAI
client = OpenAI(base_url="https://jantaris.com/v1", api_key="sk-jt-...")
resp = client.chat.completions.create(
model="claude-opus-4.8",
messages=[{"role": "user", "content": "Write a haiku about Baltic amber."}],
)
print(resp.choices[0].message.content)curl https://jantaris.com/v1/chat/completions \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "claude-opus-4.8", "messages": [{"role": "user", "content": "Write a haiku about Baltic amber."}]}'import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://jantaris.com/v1", apiKey: process.env.JANTARIS_API_KEY });
const resp = await client.chat.completions.create({
model: "claude-opus-4.8",
messages: [{ role: "user", content: "Write a haiku about Baltic amber." }],
});
console.log(resp.choices[0].message.content);export ANTHROPIC_BASE_URL=https://jantaris.com
export ANTHROPIC_AUTH_TOKEN=sk-jt-...
export ANTHROPIC_MODEL=claude-opus-4.8
claude









