The Complete Guide to Claude Opus 4.8 — Model Specs and Claude Code Best Practices from the Official Docs
Hello!
In May 2026, Anthropic released Claude Opus 4.8.
Then, in June 2026, Fable5 /Mythos5 was released.
However, owing to certain circumstances, it is currently (as of June 18, 2026) unavailable — which makes Claude Opus 4.8 effectively the highest-tier Claude model available to the general public.
So this time, we would like to give a thorough guide to Opus 4.8, a model we may be working with for quite a while.
Opus 4.8 is an update on the trajectory of 4.7, but it contains changes that cannot be dismissed as "benchmarks went up a bit."
The effort parameter's default has changed; Claude Code has gained
"Dynamic Workflows," which orchestrate dozens to hundreds of subagents in a single workflow (though at most 16 run concurrently); and an "honesty" improvement landed that sharply reduces how often the model lets flaws in its own code pass without comment.
In other words, if you reuse the workflows and prompts you built in the 4.7 era as-is, several of them will no longer be optimal.
This article is organized, with Anthropic's official documentation and announcements as the primary sources, into three parts: (1) Claude Opus 4.8 as a model, (2) hands-on use in the Claude Code CLI, and (3) hands-on use in Claude Code on the web.
The text includes operational interpretations derived from the official specifications, but for figures such as benchmarks we distinguish whether the evaluation was Anthropic's own or an external one.
It is a long piece, so there is no need to read it straight through. Picking out just the chapters that interest you is entirely sufficient. Sources are collected at the end.
The intended readers: engineers weighing a 4.7-to-4.8 migration, lead engineers running Claude Code on a team, tech leads deciding on enterprise adoption, and anyone unsure how to divide work between the CLI and web versions.
The structure follows our earlier Complete Guide to Claude Opus 4.7. If you want to start from the 4.7 fundamentals (the move to adaptive thinking, the removal of sampling parameters, the 1M context, and so on), reading that first will make this article's deltas easier to follow.
The Updates Since 4.7, at a Glance
From the Opus 4.7 we covered last time, 4.8 changes mainly the following. Details come in each chapter; first, the essentials to grasp the whole picture.
| Update | Details | Chapter |
|---|---|---|
Claude Code's effort default changed from xhigh to high |
On 4.7, Claude Code used xhigh and the API used high; on 4.8,
high is the default on all surfaces, including the API. Explicitly setting xhigh now matters for hard coding tasks |
Ch. 1 and 9 |
| "Dynamic Workflows" added to Claude Code | Orchestrate dozens to hundreds of subagents via script, for large-scale migrations and audits | Ch. 11 |
| Honesty improvements | Lets flaws in its own code pass without comment about one quarter as often as Opus 4.7 (Anthropic's own evaluation) | Ch. 2 |
| Long-horizon agentic coding improved | Better long-context handling, fewer compactions with better recovery, fewer missed tool triggers | Ch. 3 |
| Fast mode price cut, now in Claude Code | /fast, which runs Opus at 2.5x speed, drops from $30/$150 to $10/$50 on Opus 4.8 |
Ch. 9 |
| Messages API extensions (not breaking changes) | Mid-conversation system messages, documented refusal stop details, lower minimum cacheable length | Ch. 4 |
| Pricing unchanged from 4.7 | Standard mode: $5 input / $25 output. The performance gains come at the same cost | Ch. 2 |
Note that code and prompts written for Opus 4.7 run as-is with nothing more than a model-ID swap (no breaking API changes).
"It works, but its real value emerges when you revisit the settings" — that is 4.8's character.
Part 1: What Is Claude Opus 4.8?
1. What Changes in the 4.7-to-4.8 Migration
The conclusion first.Code written for Claude Opus 4.7 runs on 4.8 as-is with just a model-ID swap.
There are no breaking API changes.
The official migration guide says so explicitly: "There are no breaking API changes for code already running on Claude Opus 4.7."
# Opus migration
model = "claude-opus-4-7" # Before
model = "claude-opus-4-8" # After
Note that this applies to migrating from Opus 4.7. If you migrate directly from Opus 4.6 or earlier, you also need to handle the breaking changes introduced in 4.7, such as unsupported sampling parameters and the removal of fixed thinking budgets (budget_tokens) (details in Chapter 4).That said, "it works" and "it is optimal" are different things.
The points worth revisiting at migration boil down to these four.
| Point to revisit | 4.7 | 4.8 | Action |
|---|---|---|---|
| effort default | xhigh (Claude Code) / high (API) |
high on all surfaces |
Specify xhigh explicitly for coding |
| What each effort level does | — | Token allocation recalibrated at every level | Re-baseline cost/latency at the same level |
| 1M context | Default | Default (unchanged) | Compatibility beta headers, if any, can be removed |
| mid-conversation system messages | Unsupported (400) | Supported | Logic that rebuilds conversation history can be simplified |
The one to watch most closely is the change in the effort default.
On Claude Code, 4.7's default was xhigh, whereas on 4.8 it is now high. With nothing configured, even coding tasks run at high, so if you expect the same reasoning depth as 4.7 you must explicitly set xhigh (details in Chapter 9).
Migration checklist (from the official guide)
- [ ] Change the model name from
claude-opus-4-7toclaude-opus-4-8(or update your alias) - [ ]
effortsettings: re-evaluate. The default on all surfaces ishigh. For coding and high-autonomy tasks, specifyxhighexplicitly - [ ] Remove any compatibility beta headers for the context window (1M is the default on API/Bedrock/Vertex; Foundry is 200k)
- [ ] If you rebuild conversation history to update instructions, consider switching to mid-conversation system messages (preserves prompt-cache hits for earlier turns)
- [ ] Confirm your refusal handling now reads
stop_detailsproperly - [ ] Re-baseline cost and latency at your chosen effort level
If you use Claude Code or agents, /claude-api migrate this project to claude-opus-4-8 has the Claude API skill apply the migration automatically.2. Claude Opus 4.8 as a Model
Claude Opus 4.8 is Anthropic's most capable model in the top (Opus) tier, built on 4.7. The basic specifications are as follows.
| Item | Details |
|---|---|
| Model ID | claude-opus-4-8 |
| Release | May 28, 2026 |
| Context window | 1M tokens (default on the Claude API / Amazon Bedrock / Vertex AI; 200k on Microsoft Foundry) |
| Max output tokens | 128k |
| Thinking mode | Adaptive thinking (thinking: {type: "adaptive"}) |
| Price (standard) | $5 input / $25 output (per 1M tokens; same as 4.7) |
| Price (fast mode) | $10 input / $50 output (2.5x speed, research preview) |
| Minimum cacheable prompt length | 1,024 tokens (lower than 4.7) |
On benchmarks, Anthropic's launch post presents, alongside the company's own evaluations, results from early-access companies and evaluation providers.
Appearing on Anthropic's official site and being an evaluation Anthropic itself conducted are two different things, so we present the attribution separately.
- Super-Agent Benchmark (result from an external evaluation provider):
Said to be the only model to complete every case end-to-end, outperforming prior Opus models and GPT-5.5 at equivalent cost. - Legal Agent Benchmark (result from an external evaluation provider)
Said to have achieved the highest score on record, and the first to exceed 10% overall on the all-pass criterion. - Honesty (Anthropic's own evaluation)
The frequency with which it lets flaws in its own code pass without comment is roughly one quarter that of Opus 4.7 (early evaluations). The framing is not "it no longer misses anything" but that the probability of missing dropped substantially.
The important point is that pricing is unchanged from 4.7. The 4.8 proposition is receiving the performance gains "at the same cost."
3. Behavioral Changes — What Moved from 4.7 to 4.8
The official "What's new" lists the following three areas of improvement relative to 4.7.
These are not breaking API changes, but they may prompt a review of your prompts and scaffolding.
- Long-horizon agentic coding
Long-context handling improved, compaction (context compression) occurs less often, and post-compaction recovery quality went up. Long agent execution traces are less prone to derailing across compactions. - Reasoning effort calibration
Behavior at each effort level became more stable across a wider range of domains. - Tool triggering
Fewer cases of skipping tool calls the task actually requires — an issue some users had reported on 4.7.
In addition, with adaptive thinking enabled, 4.8 spends fewer wasted thinking tokens at the same effort level.
It decides per turn whether to think: it answers immediately for simple lookups and short agent steps, and thinks first on complex multi-step problems. The improvement pays off on bimodal workloads, where difficulty varies widely.
4. Supplement: Messages API Changes Claude Code Users Should Also Know
Even if you only ever use it through Claude Code, knowing how the underlying Messages API behaves makes the "why" fall into place.
Let us organize the constraints carried over from 4.7 and what is newly introduced in 4.8.
Constraints carried over from 4.7 (unchanged)
- Sampling parameters are unsupported:
temperature/top_p/top_k— passing a non-default value returns a 400 error. Control behavior through prompts instead. - Adaptive thinking is the only thinking mode:
thinking: {type: "enabled", budget_tokens: N}(a fixed thinking budget) returns a 400 error.thinking: {type: "adaptive"}plus the effort parameter control the depth of thinking.
# Before (Opus 4.6 and earlier)
thinking = {"type": "enabled", "budget_tokens": 32000}
# After (Opus 4.7 and later)
thinking = {"type": "adaptive"}
output_config = {"effort": "high"}
New or revised in 4.8
- mid-conversation system messages
role: "system"messages can now be placed, immediately after a user turn, inside themessagesarray (placement rules apply). Mid-way through a long conversation you can append instructions without re-pasting the entire system prompt, preserving prompt-cache hits for the earlier turns. No beta header required. - refusal stop details
Thestop_detailsobject that accompanies refusal responses (available since 4.7) is now officially documented. When the model refuses a request, it indicates the refusal category alongside the existingrefusalreason, making it easier for applications to distinguish types of refusal. - Minimum cacheable prompt length lowered to 1,024 tokens
Prompts that were too short to cache on 4.7 can now create cache entries with no code changes. - Effort levels recalibrated
The token allocation behind each effort level changed from 4.7.mediumthinks somewhat more,highsomewhat less, andxhighsubstantially more. If you tuned cost or latency per level on 4.7, take a fresh baseline at the same level before adjusting.
5. New Features
Here are the main new features introduced alongside the 4.8 launch.
| Feature | Overview | Where |
|---|---|---|
| Dynamic workflows | Orchestrate dozens to hundreds of subagents via script from a single session. Handles large-scale migrations and audits | Claude Code |
| Effort control | UI on claude.ai letting users choose the effort level | claude.ai / Cowork |
| Fast mode | Runs Opus up to 2.5x faster. Premium pricing (research preview) | Claude API / Claude Code CLI (/fast) |
| Mid-conversation system messages | Append system messages mid-conversation | Messages API |
| Refusal stop details | Public documentation of refusal categories | Messages API |
The headline is, of course, dynamic workflows.
Tasks too large to orchestrate within a single conversation context — such as migrating hundreds of thousands of lines of code — can be turned into a script and executed in parallel.
In Claude Code, this addresses what Anthropic describes as "very large-scale problems"; Chapter 11 covers it in detail.
Also, fast mode was cut from the Opus 4.7/4.6 fast-mode pricing ($30 input / $150 output) down, on Opus 4.8, to $10 input / $50 output — one third of the prior price (running at 2.5x speed). It has become a realistic option for latency-sensitive interactive work. Concrete usage in Claude Code (/fast) and the cost caveats are covered in Chapter 9.
Part 2: Opus 4.8 in the Claude Code CLI
6. Prerequisites for Opus 4.8 in Claude Code
Using Opus 4.8 in Claude Code has a few prerequisites.
- Version: Opus 4.8 requires Claude Code v2.1.154 or later. Older versions will not show it in the model picker. Run
claude updateto update. - Alias resolution: On the Anthropic API, the
opusalias resolves to Opus 4.8. Meanwhile, on Claude Platform on AWS,opusresolves to Opus 4.7 — be careful. On Bedrock / Vertex / Foundry,opusresolves to Opus 4.6, so for newer models either specify the full model name or setANTHROPIC_DEFAULT_OPUS_MODEL. - Default model: per account type,
defaultresolves as shown in the table below.
| Account type | default resolves to |
|---|---|
| Max / Team Premium / Enterprise pay-as-you-go / Anthropic API | Opus 4.8 |
| Claude Platform on AWS | Opus 4.7 |
| Pro / Team Standard / Enterprise subscription seat | Sonnet 4.6 |
| Bedrock / Vertex / Foundry | Sonnet 4.5 |
To pin a specific version, use the full model name (claude-opus-4-8) instead of an alias, or set the corresponding environment variable (ANTHROPIC_DEFAULT_OPUS_MODEL).
7. Claude Code Basics — Setting the Model and Effort
Model configuration can be done in the following ways, in order of precedence.
- During a session:
/model <alias|name>switches instantly; with no argument,/modelopens the picker - At launch:
claude --model <alias|name> - Environment variables:
ANTHROPIC_MODEL=<alias|name> - Settings file:
modelfield for a persistent setting
Since v2.1.153, /model selections are written to the model field in user settings and become the default for new sessions. In the picker, Enter means "switch and save as default," while s means "this session only."
# Launch with Opus
claude --model opus
# Switch to Sonnet mid-session
/model sonnet
// Example settings file
{
"model": "opus"
}
To check the current model, use the status line (if configured) or /status.
8. The Daily Rhythm — How to Use Claude Code Day to Day
4.8 is an even more "autonomous" model than 4.7. What the official prompting guide emphasizes repeatedly is this: consolidate information into the first user turn.
"ambiguous or underspecified prompts conveyed progressively over multiple user turns tend to relatively reduce token efficiency and sometimes performance."
Because 4.8 is highly autonomous, clearly handing over the task, the intent, and the constraints at the outset maximizes both performance and token efficiency while reducing the number of human interventions. In interactive coding, 4.8 tends to reason more after each user turn — which raises long-haul coherence, instruction following, and coding ability, but also increases token consumption.
As a practical rhythm:
- Before starting, write the intent, the completion criteria, which files may and may not be touched, and the constraints into the first prompt
- For progress-reporting scaffolding from the 4.7 era, such as "summarize progress every 3 tool calls," compare against a run with it removed. 4.8 produces more regular, higher-quality updates on its own across long traces, so the scaffolding is often unnecessary (keep it where the product UI or auditing requires updates at fixed intervals)
- For interactive use, add autonomy features such as auto mode to reduce the number of user interactions
9. Choosing an Effort Level
On 4.8, effort is probably a more important setting than on any previous Opus.
The official docs go as far as "Effort is likely to be more important for this model than for any prior Opus," and active experimentation is recommended when upgrading.
The effort levels available in Claude Code, and the recommendations for Opus 4.8, are as follows.
| Level | Where it fits on Opus 4.8 |
|---|---|
max |
For genuinely frontier problems. Quality gains can be small relative to the extra token spend, and it can slip into overthinking. Validate on intelligence-demanding tasks first |
xhigh |
The recommended starting point for coding and agentic use. Uses clearly more tokens than high |
high |
The balance of tokens and intelligence. The default on all surfaces. The minimum for intelligence-sensitive uses |
medium |
Cost-focused. Trades some intelligence for fewer tokens |
low |
Short, tightly scoped tasks; latency-first work that is not intelligence-sensitive. Suited to subagents |
4.8 honors effort levels strictly — most visibly at the low end.low and medium keep the model scoped strictly to what it was told — it does not step beyond. Good for latency and cost, but running a moderately complex task at low carries a risk of under-thinking.
If you see shallow reasoning on complex problems, do not try to prompt your way around it; raise the effort to high or xhigh instead — that is the orthodox move. If latency truly forces you to stay at low, add pinpoint instructions.
This task involves multi-step reasoning. Think carefully through the problem before responding.
xhighormax— when running at these levels, preserve room to think and act across subagents and tool calls by settingmax_tokenson the large side. Start from 64k tokens and adjust is the rule of thumb.
How to configure on the Claude Code side (precedence: environment variable > settings > model default):
/effort: with no argument, a slider; a level name sets it directly;/effort autoreverts to the model default/model(inside it): adjust the effort slider with the left/right arrow keys--effortflag: for a single sessionCLAUDE_CODE_EFFORT_LEVELEnvironment variable (takes precedence over all other methods)- The settings file's
effortLevel(low/medium/high/xhigh.maxandultracodeare session-limited and unavailable there) - Skill/subagent front matter's
effort
Note that low through xhigh persist across sessions, whereas max is limited to the current session (except when set via environment variable). Also, the first time you use Opus 4.8, even if you had a level configured on another model, Claude Code applies the 4.8 default, high, instead. After switching models, choose again via /effort.
For one-off deep reasoning, include the word ultrathink somewhere in your prompt. Claude Code recognizes this keyword and adds a one-time reasoning boost (the session's effort setting does not change). Words such as "think" or "think hard" are treated as ordinary text and do not act as keywords.
Fast Mode — Same Quality, More Speed
Where effort adjusts the depth of thinking, **fast mode raises response speed while keeping the same model and the same quality**. It is not a different model — it runs Opus in a speed-first API configuration, for situations where latency matters more than cost, such as live debugging and rapid iteration.
In the Claude Code CLI, toggle it with /fast (type /fast and press Tab, or use the settings file's "fastMode": true). The key points:
| Item | Details |
|---|---|
| Required version | Claude Code v2.1.36 or later (Opus 4.8 becomes the fast-mode default from v2.1.154) |
| Supported models | Opus 4.8 / 4.7 / 4.6. Sonnet and Haiku are unsupported. The VS Code extension is also unsupported (CLI only) |
| Speed | Up to 2.5x |
| Price | Opus 4.8: $10 input / $50 output; Opus 4.7/4.6: $30 input / $150 output (flat across the entire 1M window) |
| Subscription use | Even on Pro/Max/Team/Enterprise, via usage credits only. Not included in the plan's normal allowance; billed at fast-mode rates from the very first token |
| Team/Enterprise | Disabled by default. Requires admin enablement |
| Unavailable on | Bedrock / Vertex AI / Foundry / Claude Platform on AWS |
# Toggle fast mode on/off (CLI)
/fast
Two caveats. First, enabling fast mode mid-conversation incurs the fast-mode uncached input rate once against the entire conversation context at that point, so switching it on deep into a conversation is expensive. If you use it, from the start of the session is the inexpensive way. Second, fast mode on Opus 4.6 is deprecated and slated for removal about 30 days after the Opus 4.8 launch (after removal it falls back to standard speed and standard pricing).
Fast mode and effort can be combined: for simple tasks, "fast mode plus low effort" maximizes speed, for example.
10. Handling the 1M Context Correctly
Opus 4.8 supports a 1M-token context window, but whether you can use it depends on your plan.
| Plan | 1M context on Opus | 1M context on Sonnet |
|---|---|---|
| Max / Team / Enterprise | Included in the subscription (automatic upgrade) | Requires usage credits |
| Pro | Requires usage credits | Requires usage credits |
| API / pay-as-you-go | Full access | Full access |
Two points.
- On Max / Team / Enterprise, Opus upgrades to 1M automatically with no extra configuration (applies to both Team Standard and Team Premium seats).
opusplan— when using it, the Opus phase of plan mode receives this upgrade as well. - On the Anthropic API, Opus 4.8, Opus 4.7, and Fable 5 always operate with the 1M window.
The 1M window carries no premium billing beyond 200K tokens — standard pricing applies. You can also make it explicit by appending the [1m] suffix to an alias or full model name.
/model opus[1m]
/model claude-opus-4-8[1m]
To disable 1M entirely, set CLAUDE_CODE_DISABLE_1M_CONTEXT=1 (the 1M variants disappear from the picker).
11. Dynamic Workflows and ultracode
The showpiece added to Claude Code in the 4.8 generation is dynamic workflows. Here, a JavaScript script written by Claude orchestrates subagents at scale, and the runtime executes it in the background. It runs in an isolated environment separate from the conversation context: intermediate results live in script variables, and only the final result returns to Claude's context.
When to use it: when you need more agents than a single conversation can orchestrate, or when you want the orchestration itself pinned down as a "readable, re-runnable script." Official examples include codebase-wide bug sweeps, 500-file migrations, research that cross-verifies multiple sources, and hard planning that drafts from several independent angles before converging on one.
The difference from subagents, skills, and agent teams comes down to "who holds the plan."
| Subagents | Skills | Agent teams | Workflows | |
|---|---|---|---|---|
| What it is | Workers Claude launches | Instructions Claude follows | A lead supervising peers | A script the runtime executes |
| Who decides what runs next | Claude (each turn) | Claude (following the prompt) | The lead (each turn) | The script |
| Where intermediate results live | Claude's context | Claude's context | A shared task list | Script variables |
| Scale | A few per turn | Same | A few long-lived peers | Dozens to hundreds of agents per run |
What makes workflows powerful is not just more agents — you can build in repeatable quality patterns. You can have independent agents adversarially review each other's findings before reporting, or draft plans from multiple angles and reconcile them — yielding results more reliable than a single pass.
How to launch: three ways.
- Include
ultracodein your prompt (or ask in your own words, "use a workflow") — turns just that one task into a workflow. The session's effort is unchanged /effort ultracode— Claude automatically plans workflows for effectively every task in the session. The combination ofxhigh's reasoning effort with automatic orchestration- Run a bundled/saved workflow —
/deep-research <question>, and the like
ultracode: audit every API endpoint under src/routes/ for missing auth checks
Prerequisites and limits:
- dynamic workflows require Claude Code v2.1.154 or later. Available on all paid plans (on Pro, enable it via the "Dynamic workflows" row in
/config) - The surfaces officially listed as supported are CLI, the Desktop app, IDE extensions,
claude -p(non-interactive mode), and the Agent SDK. Claude Code on the web is not listed (more in Chapter 18) - Concurrency is capped at 16 agents (fewer on machines with few CPU cores), with a total of 1,000 agents per run (runaway-loop protection)
- The workflow itself has no direct access to the filesystem or shell (agents do the reading, writing, and command execution; the script sticks to orchestration)
- Within the same session it is resumable (completed agents return cached results). Exit Claude Code and the next session starts over from scratch
/effort ultracode'sultracodeis not an API effort level. Under the hood it is "xhigh+ workflow orchestration permission," the latter granted via mid-conversation system messages.
Because workflows launch large numbers of agents, they use clearly more tokens than doing the same task conversationally. Before a big task, do one run on a thin slice — a single directory, a narrow question — to estimate cost./workflows view lets you watch each agent's token consumption and stop at any time (completed work is not lost).
12. Prompting to Get the Most Out of Opus 4.8
4.8 runs well as-is on existing 4.7 prompts, but the official guide lists behaviors that tend to need tuning.
Response length and verbosity
4.8 calibrates length to task complexity (verbosity is not fixed). If your product depends on a particular style or length, adjust accordingly. To curb verbosity:
Provide concise, focused responses. Skip non-essential context, and keep examples minimal.
rather than negative instructions ("do not ..."), positive examples demonstrating the right level of brevity are more effective.
Tool-use triggering
4.8 tends to prefer reasoning over tool calls, which is usually a good outcome. If you want more tool use, raising effort is the effective lever (high/xhigh markedly increases tool use in agentic search and coding). If that is still insufficient, state explicitly in the prompt when and how tools should be used.
Progress updates
4.8 produces more regular, higher-quality user-facing updates across long traces. If you have scaffolding like "summarize every 3 tools," try removing it.
More literal instruction following: 4.8 interprets prompts literally and explicitly (especially at low effort). It does not generalize an instruction about one item to another on its own, and does not guess at things you did not ask for. The upside is precision and fewer wasted moves. If you want an instruction applied broadly, spell out the scope.
Apply this formatting to every section, not just the first one.
Tone
4.8 leans toward a direct, opinionated style, with fewer deferential preambles and restrained emoji use. If your product's voice is warm and conversational, revisit your style prompt from the baseline.
Use a warm, collaborative tone. Acknowledge the user's framing before answering.
Controlling subagent launches
4.8 launches fewer subagents by default. This is steerable via prompt, so state the conditions you want explicitly.
Do not spawn a subagent for work you can complete directly in a single response (e.g. refactoring a function you can already see).
Spawn multiple subagents in the same turn when fanning out across items or reading multiple files.
Code-review harnesses
4.8 is clearly better at finding bugs than previous models (internal evaluations show gains in both recall and precision). With a harness tuned for older models, however, recall can appear to drop at first.
This is not a capability regression but a harness effect: 4.8 faithfully honors instructions like "report only high-severity" or "be conservative," and withholds findings it judges below the bar. At the discovery stage, have it prioritize comprehensiveness.
Report every issue you find, including ones you are uncertain about or consider low-severity. Do not filter for importance or confidence at this stage - a separate verification step will do that. Your goal here is coverage: it is better to surface a finding that later gets filtered out than to silently drop a real bug. For each finding, include your confidence level and an estimated severity so a downstream filter can rank them.
Frontend design
4.8 has strong design instincts and, left alone, gravitates toward a "house style" of cream backgrounds, serif type, and terracotta accents. That suits editorial and portfolio sites — less so dashboards or fintech.
Provide a concrete alternative spec, or have it propose several options before building and let the user choose — either approach is reliable.
13. Enterprise Operations
For organizational rollout, the key settings control which models and effort levels users can select.
availableModels: restricts which models users can select, via managed/policy settings. Applies to/model,--model,ANTHROPIC_MODEL, subagents, and fallback chains — all of themenforceAvailableModels:availableModels's allowlist now also covers the Default option (v2.1.175 and later)model: the initial selection at session start (not enforced)
{
"model": "claude-sonnet-4-5",
"availableModels": ["claude-sonnet-4-5", "haiku"],
"enforceAvailableModels": true,
"env": {
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"
}
}
availableModels by itself is only an initial selection — note that users can still choose Default. To make Default follow the allowlist as well, combine enforceAvailableModels; to pin the version an allowed alias resolves to, combine the env block.
On third parties (Bedrock / Vertex / Foundry), pin the model version before rollout — that is the standard practice.
export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8' # Bedrock
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8[1m]' # to enable 1M
To disable dynamic workflows organization-wide, set "disableWorkflows": true in managed settings, or use the toggle on the Claude Code admin settings page. When disabled, bundled workflow commands stop working and the ultracode keyword no longer triggers.
Part 3: Opus 4.8 in Claude Code on the Web
14. What Is Claude Code on the Web?
Claude Code on the web ("the web version" below) is a mechanism that runs tasks from claude.ai/code on Anthropic-managed cloud infrastructure. Sessions continue even after you close the browser, and can be monitored from the Claude mobile app.
Currently, Claude Code on the web is offered as a research preview for Pro / Max / Team users, and for Enterprise users on premium seats or Chat + Claude Code seats.
The biggest differences from the CLI are that it "does not occupy your local machine" and that "multiple tasks can be submitted in parallel." You can keep doing other work locally while a migration runs in the cloud.
15. Getting Started with the Web Version — GitHub Integration and Environments
GitHub integration is the standard usage pattern, used for cloning code, pushing branches, and creating PRs (two authentication methods are provided). Repositories not connected to GitHub can also be sent to the cloud as a local bundle — but in that case, without GitHub authentication, the cloud side cannot push results to a remote (for bundle submission from GitLab, Bitbucket, and others, see Chapter 17).
An environment controls network access, environment variables, and the setup script that runs before a session starts.
- Setup script: a Bash script that runs when a new cloud session starts (before Claude Code launches). Use it to install dependencies and configure tools. Keep the total runtime within 5 minutes and an environment cache gets built: the filesystem is snapshotted on completion, and subsequent sessions start quickly with dependencies and tools already in place (the setup steps are skipped)
- Network access: the default is Trusted (major registries such as npm, PyPI, RubyGems, and crates.io allowed). None blocks external connections; Custom lets you add allowed domains
- Docker: available.
docker compose upstarts services. For large images, rundocker compose pullin the setup script so they land in the cache - Carrying settings over: commit the settings you want in the cloud to the repository. There is no dedicated secret store yet, so if you place confidential values in environment variables, remember they are visible to anyone who can edit that environment
CLAUDE_CODE_REMOTE environment variable becomes true in cloud sessions, so you can separate local and cloud logic.
if [ "$CLAUDE_CODE_REMOTE" != "true" ]; then
# runs only locally
fi
16. Moving Between the Terminal and the Web
Moving between the CLI and the web revolves around two flags: --remote (terminal → new cloud session) and --teleport (cloud → pull into the terminal).
--remote creates a new cloud session. It clones the current directory's GitHub remote at the current branch, so push any local commits first (the VM clones from GitHub, not from your machine).
claude --remote "Fix the authentication bug in src/auth/login.ts"
Each --remote becomes an independent cloud session, so you can run multiple tasks concurrently.
claude --remote "Fix the flaky test in auth.spec.ts"
claude --remote "Update the API documentation"
claude --remote "Refactor the logger to use structured output"
Monitor sessions in progress with /tasks.
--teleport pulls a cloud session into your terminal.
claude --teleport: an interactive session pickerclaude --teleport <session-id>: resume a specific session directly- Within a session, use
/teleport(or/tp) /tasksfollowed by thetkey
The requirements for teleport are: (1) a clean working directory (no uncommitted changes; otherwise you are prompted to stash), (2) running it from a checkout of the same repository (forks are not allowed), and (3) the cloud session's branch already pushed to the remote. Also, teleport requires claude.ai subscription authentication; if you authenticate with an API key or via Bedrock and the like, use /login to sign back in with your claude.ai account.
Handoff from the CLI is one-way.--teleportpulls cloud → terminal, but you cannot "push" an existing terminal session out to the web (--remoteonly creates a new cloud session). Sending local → web is done from the Desktop app's "Continue in" menu.
Note that --remote (creating a cloud session) and --remote-control (making a local CLI session observable from the web) are different things.
17. Operating Sessions on the Web
Each cloud session has a transcript URL on claude.ai, and the CLAUDE_CODE_REMOTE_SESSION_ID environment variable lets a session read its own ID. Useful for embedding traceable links in PR bodies and commit messages.
echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"
Two standard patterns for separating planning from execution:
- Plan locally, execute in the cloud: refine the approach in plan mode, then hand the plan document to the cloud for execution
- Plan in the cloud (ultraplan): generate the plan on the web, comment on sections in the browser, then choose remote execution or sending it back to the terminal
claude --remote "Execute the migration plan in docs/migration-plan.md"
Responding automatically to CI failures and review comments, Auto-fix pull requests, is also a web-version feature. For deep multi-agent code review, ultrareview is available as well.
Limits to keep in mind:
- Rate limits
The web version shares rate limits with your other Claude / Claude Code usage on the account. More parallel tasks consume proportionally more (there is no separate compute charge for the cloud VMs) - Memory
Large builds and memory-intensive tests can fail or be killed. For loads beyond that, use Remote Control, which runs on your own hardware - Platform
GitHub is required for cloning repositories and creating PRs (Team/Enterprise support GitHub Enterprise Server). GitLab, Bitbucket, and others can be sent to the cloud as local bundles, but results cannot be pushed back to their remotes
18. Coding Practices That Get the Most from Opus 4.8 on the Web
The web version's natural style is asynchronous: submit and wait. Opus 4.8's autonomy is an especially good match for this — but it makes crafting the first prompt all the more important (there is little room to inject user input mid-run).
- Make the task complete in one shot
Hand over intent, constraints, completion criteria, and relevant files up front. This is the same advice as Chapter 8 gave for the CLI, but it matters more on the web, where there is less room for human intervention xhighorhigh— put them to use
In interactive coding products, adding autonomy features (auto mode) to reduce user interactions serves both performance and token efficiency- Submit in parallel
Run multiple independent tasks concurrently with--remote, and monitor them with/tasks. - Handling large tasks
For migrations spanning hundreds of files or codebase-wide audits, Dynamic Workflows /ultracodeare effective (Chapter 11). However, Dynamic Workflows support inside the web version is not stated in the official documentation (the surfaces listed are CLI, Desktop, IDE extensions,claude -p, and the Agent SDK). To use them reliably, run them in the CLI, Desktop, or an IDE extension, or pull a plan or session created on the web into the terminal with--teleportbefore executing
Subagents work the same as locally, and subagents in .claude/agents/ are picked up automatically. Agent teams are disabled by default and can be enabled with the environment variable CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.
Summary
Claude Opus 4.8 keeps 4.7's price while improving long-horizon agentic coding, effort calibration, tool triggering, and honesty — sharply reducing how often it lets flaws in its own code pass without comment. The practical essentials boil down to these five.
| # | Key point | Details |
|---|---|---|
| 1 | Mind the effort-default change | high is the default on all surfaces. For coding and agentic use, specify xhigh
explicitly. Effort is a more important lever than on any previous Opus |
| 2 | Consolidate information into the first prompt | 4.8 is autonomous. Hand over intent, constraints, completion criteria, and relevant files up front. Compare runs with the 4.7-era progress-report scaffolding removed |
| 3 | Use dynamic workflows for large-scale tasks | Route multi-hundred-file migrations and codebase audits to ultracode/workflows. Orchestrates dozens to
hundreds of agents beyond the limits of one conversation context (v2.1.154+, all paid plans) |
| 4 | Understand the automatic 1M-context upgrade | On Max/Team/Enterprise, Opus upgrades to 1M automatically. On the API, Opus 4.8 always runs with 1M |
| 5 | Run the CLI and web versions in tandem | Fan out to the cloud in parallel with --remote, pull back into the terminal with --teleport.
The web version is a research preview, and crafting the first prompt pays off |
4.8 is a model that "works without changing your settings" — and also one whose "real value appears when you revisit them." Start by comparing high and xhigh on your organization's representative coding tasks, and by reviewing the progress-report scaffolding you added for 4.7.
Sources
| Topic | Source |
|---|---|
| Basic specs, new features, behavioral changes | What's new in Claude Opus 4.8 |
| Release announcement, benchmarks, honesty | Introducing Claude Opus 4.8 |
| Messages API changes and migration steps | Migration guide |
| Choosing effort levels | Effort |
| Prompting for Opus 4.8 | Prompting Claude Opus 4.8 |
| Claude Code model config, effort, 1M context | Model configuration |
Fast mode (/fast, pricing, coverage) |
Speed up responses with fast mode |
| Dynamic workflows and ultracode | Orchestrate subagents at scale with dynamic workflows |
The web version, --remote, --teleport |
Use Claude Code on the web |
The information in this article is based on official documentation as of June 1, 2026. Specifications may change, so please check each source for the latest details.