惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
Secure Thoughts
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
美团技术团队
G
Google Developers Blog
宝玉的分享
宝玉的分享
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
InfoQ
小众软件
小众软件
Google DeepMind News
Google DeepMind News
P
Privacy & Cybersecurity Law Blog
Stack Overflow Blog
Stack Overflow Blog
Webroot Blog
Webroot Blog
D
DataBreaches.Net
IT之家
IT之家
PCI Perspectives
PCI Perspectives
人人都是产品经理
人人都是产品经理
Hacker News: Ask HN
Hacker News: Ask HN
L
LangChain Blog
SecWiki News
SecWiki News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cisco Blogs
T
Threatpost
P
Proofpoint News Feed
Y
Y Combinator Blog
Cloudbric
Cloudbric
T
Tor Project blog
量子位
博客园_首页
B
Blog
Hugging Face - Blog
Hugging Face - Blog
GbyAI
GbyAI
D
Darknet – Hacking Tools, Hacker News & Cyber Security

J.D. Hodges

RTX 5090 vs 4060 in a Hybrid GPU Render Fleet RDP Slow on LAN? Fix the Remote Desktop 56 Kbps Trap Mac Prices Went Up June 2026: What Changed and What to Buy How to Set Up a SSH Connection in Claude Code Desktop How to Enable Wake-on-LAN on Synology NAS | Quick Guide Is the BCBS Settlement Payment Email Legit? (May 2026) How to Fix the VMware Workstation "mksSandbox" Crash (ISBRendererComm Error) - J.D. Hodges How to Check Codex Usage: CLI Status Line and Web Page How to Check Your Codex Usage on ChatGPT (Plus and Pro) MacBook Neo GPU vs Snapdragon X2, Radeon, Arc, RTX 5060 ThinkPad History: IBM 700C to Lenovo AI Workstations Codex /goal: How It Works, Setup, and What I Tested The BeBox: BeOS Hardware, Photos, and the Apple Deal That Wasn't Unable to Load Usage Limits in Claude? Use /usage Mother-In-Law Method for Claude Code Review (Honest Take) Best Laptop for Claude Code (2026) Best Way to Cook Corn on the Cob | Milk and Butter Boil Best Computer for ChatGPT (2026) | Laptops, Desktops, Budget Picks How to Use GPT-5.5 Today via Your Codex Subscription Remove McAfee WebAdvisor on Windows: Stop the Popup Codex Sandbox Error on Ubuntu 24.04: The AppArmor Fix WD19TBS Mouse Lag Fix: Dell Firmware Update Worked Claude Opus 4.6 vs 4.7 Max: WordPress Task Graded Claude Code Opus 4.7: Terminal + VS Code Upgrade Instructions Claude Code Rate exceeded. - J.D. Hodges Chuwi MiniBook X vs MacBook Neo: The $399 Laptop That Refuses to Throttle - J.D. Hodges Meta Muse Spark: The Honest Scorecard (3 Wins Out of 20) Who Reads This Blog? Traffic by OS - J.D. Hodges Can MacBook Neo Run Claude Code? $599 Benchmark Test Minisforum MS-01 Proxmox Review: 2 Months Off-Grid on Solar Claude vs ChatGPT vs Gemini for Coding: Real Benchmark Results Claude Code /buddy: How to Preview, Hatch, and Reroll Your Terminal Pet Claude code source code analysis - J.D. Hodges
Claude Code Opus 5: Fix the VS Code Picker Still Showing 4.8
J.D. H. · 2026-07-26 · via J.D. Hodges

Anthropic shipped Claude Opus 5 on July 24, 2026. It is the new default model on Claude Max and the strongest model you can pick on Claude Pro. So why does the model picker in your VS Code panel still say Opus 4.8?!

Before you go digging through your account or your plan, check the version. Opus 5 requires Claude Code v2.1.219 or later, and the list of models in that picker is compiled into the build you have installed. If your build predates the model, go ahead and update Claude Code so you have access to Opus 5. More info below:

Start with the right one of these two

Claude Code can exist twice on one machine, and the two copies update separately. Pick the path that matches where you are seeing the outdated listing for Opus 4.8.

Seeing it in the VS Code chat panel? Skip the terminal entirely. Open the Extensions sidebar, update Claude Code, then reload the window. Details are two sections down, and the terminal commands below will not touch this.

Seeing it in a terminal session? Three commands:

claude update
claude --version
claude --model opus

If claude --version reports 2.1.219 or higher and that last command opens a session on Opus 5, your terminal is sorted.

Why Opus 5 may be missing from your picker

1. There is a hard version floor

Anthropic requires Claude Code v2.1.219 or later for Opus 5. I did not want to take that on faith, so I checked it against the actual builds sitting on my machine. The VS Code extension ships a JavaScript bundle with the model registry baked into it as an object literal, which means every model ID is a searchable string inside that one file. This is the command I ran on Linux, where VS Code Server keeps its extensions:

for f in ~/.vscode-server/extensions/anthropic.claude-code-*/extension.js; do
  [ -f "$f" ] || { echo "No matching extension bundles found"; break; }
  printf '%s: ' "$(basename "$(dirname "$f")")"
  grep -o "claude-opus-5" "$f" | wc -l
done

Three builds were still on disk, and the result was clean:

anthropic.claude-code-2.1.218-linux-x64: 0
anthropic.claude-code-2.1.219-linux-x64: 32
anthropic.claude-code-2.1.220-linux-x64: 32

The string is simply not present in 2.1.218. That build cannot offer you a model whose identifier it does not contain, and restarting the panel, signing out and back in, or waiting a day does not change what is sitting in that file. Updating installs a newer build alongside it, and that newer build’s registry does contain the identifier. It is why three separate versions were sitting in my extensions folder in the first place.

That path is specific to VS Code Server on Linux, which is how I run it. A desktop install keeps its extensions in ~/.vscode/extensions instead. Windows stores them under your user profile, though there you would want a PowerShell equivalent rather than this Bash loop. Either way, treat this as a diagnostic for anyone curious about the mechanism, not as a required step. Reading the version number in the Extensions sidebar tells you the same thing in far less time.

2. The extension carries its own copy of Claude Code

Anthropic’s documentation states it plainly: the extension bundles its own copy of the CLI for the chat panel. That bundled copy is independent of any standalone claude you have on your PATH, and the two update through different channels:

Install Updates via Controls
Standalone CLI claude update Sessions you start in a terminal
VS Code extension The VS Code Marketplace, through the Extensions sidebar The Claude Code chat panel inside VS Code

So claude update can move your terminal to a current build while the extension stays behind, and the panel keeps offering Opus 4.8. On my machine, three extension builds were still sitting on disk, 2.1.218 through 2.1.220, while the standalone CLI had already reached 2.1.220. Updating the one I used in the terminal did nothing for the one running the panel.

To fix the panel:

  1. Open the Extensions sidebar and find Claude Code.
  2. Click Update if the button is showing. If it is not, read the version number listed there. At 2.1.219 or higher you are already fine and your problem is further down this post. Below that, with no update on offer, check that extension auto update has not been turned off, then run Extensions: Check for Extension Updates from the Command Palette, or just uninstall and reinstall. Reloading by itself cannot upgrade an old build.
  3. Run Developer: Reload Window from the Command Palette. Closing and reopening the panel is not reliably enough to restart an extension that is already loaded, and this is the step that is easiest to skip.
  4. Start a new conversation, not a resumed one. Resumed sessions keep whatever model their transcript began with, so reopening yesterday’s conversation will still show Opus 4.8 even after a perfectly successful update.
  5. Run /model and confirm Opus 5 now appears in the list. That, rather than the header, is the real test. On Max it should already be selected. On Pro the default is Sonnet 5, so seeing Sonnet in the header does not mean the update failed. What you are checking is whether Opus 5 is there to pick at all. Pick it, then read the header to confirm.
Claude Code v2.1.219 header reading Opus 5 and Claude Max, with the /model claude-opus-5 command confirming the switch
Claude Code v2.1.219 after the switch. The header is the fastest way to confirm which model and plan you are actually on.

Switching the model, four ways

Once you are on a build that knows about Opus 5, pick whichever of these fits how you work. Anthropic’s docs present them in priority order, so anything higher in this table takes precedence over anything below it.

Method Example Where it works Scope
Mid session /model opus Terminal and the VS Code panel Documented to save as your default for new sessions. See the caveat below.
At launch claude --model opus Terminal only That one session only
Environment variable ANTHROPIC_MODEL=claude-opus-5 claude Terminal only That one session only
Settings file "model" in ~/.claude/settings.json Terminal and the VS Code panel Every session, reapplied at launch

The “where it works” column matters more than it looks. Two of these launch the standalone CLI, so they cannot reconfigure a VS Code panel that is already running. Inside the panel you have the slash command, the settings file, and the picker itself.

Note the shape of the environment variable example. Setting it inline like that applies to the one session you are launching. If you export it instead, it applies to every Claude Code session started from that shell until you unset it or close the shell.

For the settings file method, add a model field. If the file already exists, merge this in rather than pasting over what is there, and remember the comma if it is not the last property:

{
  "model": "claude-opus-5"
}

Tip

Reach for /model opus rather than the full claude-opus-5. Claude Code’s own help text describes these family names as aliases for the latest model, so a build that knows about Opus 5 points opus at it. I confirmed that on v2.1.220 by having a session report its own model ID, and it came back as claude-opus-5. The practical payoff is that you are not left pinned to an exact ID you typed months ago.

One inconsistency is worth knowing about before you rely on that first row. The docs say typing /model <name> directly saves your choice as the default for new sessions, and that is exactly what I saw in a terminal session on 2.1.219, which reported back “saved as your default for new sessions.” Inside the VS Code panel on 2.1.220, the same command reported “for this session only” instead. I have not pinned down whether that is a difference between the panel and the terminal, a change between those two builds, or a project settings file quietly overriding it.

So do not assume it stuck. Note that /status only tells you about the session you are in, which means it cannot answer this question. The only real test is to start a genuinely new session, not a resumed one, and see which model it opens on.

What about that [1m] option?

Start typing /model claude-opus-5 and the autocomplete offers a second entry with a [1m] suffix.

Claude Code autocomplete showing both /model claude-opus-5 and /model claude-opus-5 with a 1m suffix
Claude Code v2.1.220 offering both forms in the slash command autocomplete.

You can skip it. The [1m] suffix asks for a 1 million token context window, and Opus 5 already has one. Anthropic’s documentation is blunt on this point: 1M is both the default and the maximum, and there is no smaller context variant. Plain claude-opus-5 gets you the identical window.

The suffix is not pointless in general, which is exactly why it is easy to assume it must be doing something here. It has a job on models whose native window is smaller. The same model registry inside the extension bundle lists Haiku 4.5 with a 200K window and support for the 1M suffix, which is the shape you would expect where the suffix has room to change something. Opus 5 is already at its ceiling, so there is nothing left for it to raise.

One caveat on syntax. The documented form of the suffix attaches to the alias, as in opus[1m]. The full model name version is what the autocomplete offered me on 2.1.220, so the client clearly recognizes it, but I could not find it in the docs and I have not tested what the API does with it. If you want the suffix elsewhere, the documented forms are opus[1m], sonnet[1m] and opusplan[1m].

Still showing 4.8 after all that?

Work down this list in order.

  • You resumed an old session. Sessions started with --resume or --continue keep whatever model the transcript began with, regardless of your current settings. Start a genuinely fresh session before concluding anything is broken.
  • A project settings file is overriding you. A .claude/settings.json inside the repo beats the user level default that /model writes, and it reapplies every single launch. Check it for a model key.
  • You are on a managed install. On a work machine, availableModels and enforceAvailableModels in managed settings override everything above. Your admin controls that list.
  • You never actually restarted the panel. Updating the extension does not restart a chat panel that is already open.
  • Verify instead of assuming. Run /status, or read the session header. Both report the model actually in use.

Heads Up

Claude Code’s local check accepts any model string that begins with claude-, whether or not that model actually exists. A typo like claude-opus-50 passes that check, so you get no useful complaint at the moment you type it. If a model string is not behaving the way you expect, read it back one character at a time before you go hunting for anything more exotic.

What you actually get on your plan

  • Claude Max, Team Premium, Enterprise pay as you go: Opus 5 is the new default. If you never touched your settings, a fresh session on a current build should already be on it.
  • Claude Pro: the default stays Sonnet 5. Anthropic describes Opus 5 as the strongest model on Pro, so it is there for you to pick. You just have to pick it.
  • Team Standard: the default is Sonnet 5 here as well. On Enterprise, which side you land on depends on whether your seat is pay as you go or a subscription seat, so check your own plan rather than assuming.
  • Knowledge cutoff of May 2026, against January 2026 for Fable 5.
  • 1 million token context by default, with no flag or suffix to configure.
  • Effort defaults to high, per the model registry shipped in the extension. If you have been running a different effort level out of habit, it is worth a fresh look now that the model underneath it has changed.
  • Fable 5 remains a deliberate choice. It is not the default on any account type, and sessions only use it once you pick it. The banner Claude Code shows Max subscribers also points out that Fable draws down your usage faster than Opus, which is worth weighing before you switch.

If you went through this same drill back in April, the shape will feel familiar. I wrote up the Opus 4.7 version of this switch on release day, and the VS Code panel was the sticking point that time too. The fix was different then, so it is worth reading the current one rather than repeating what worked last quarter.

Since Opus 5 defaults to high effort, this is also a reasonable moment to look at how effort levels work in the VS Code panel if you have never adjusted yours.

Sources: Introducing Claude Opus 5, the Claude Code model configuration docs, the Claude Code VS Code docs, plus hands on verification against extension builds on my own machine.

Information in this post was accurate as of July 25, 2026.