
Claude Opus 4 5 Migration
- 124 installs
- 404 repo stars
- Updated August 5, 2026
- aiskillstore/marketplace
This is a copy of claude-opus-4-5-migration by anthropics - installs and ranking accrue to the original listing.
Migrate prompts, tools, evals, and agent stacks from prior Claude models to Opus 4.5 with minimal regressions in quality, cost, and latency.
About
claude-opus-4-5-migration provides a structured playbook for moving agents and LLM features to Claude Opus 4.5. It covers capability differences, prompt rewrites, tool-use adjustments, evaluation reruns, and rollout safeguards so production assistants stay reliable after the model swap.
- model capability mapping
- prompt and tool retuning
- regression checklist
- cost and latency tradeoffs
- version-specific API changes
Claude Opus 4 5 Migration by the numbers
- 124 all-time installs (skills.sh)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aiskillstore/marketplace --skill claude-opus-4-5-migrationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 124 |
|---|---|
| repo stars | ★ 404 |
| Last updated | August 5, 2026 |
| Repository | aiskillstore/marketplace ↗ |
What it does
Migrate prompts, tools, evals, and agent stacks from prior Claude models to Opus 4.5 with minimal regressions in quality, cost, and latency.
Files
Opus 4.5 Migration Guide
One-shot migration from Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5.
Migration Workflow
1. Search codebase for model strings and API calls 2. Update model strings to Opus 4.5 (see platform-specific strings below) 3. Remove unsupported beta headers 4. Add effort parameter set to "high" (see references/effort.md) 5. Summarize all changes made 6. Tell the user: "If you encounter any issues with Opus 4.5, let me know and I can help adjust your prompts."
Model String Updates
Identify which platform the codebase uses, then replace model strings accordingly.
Unsupported Beta Headers
Remove the context-1m-2025-08-07 beta header if present—it is not yet supported with Opus 4.5. Leave a comment noting this:
# Note: 1M context beta (context-1m-2025-08-07) not yet supported with Opus 4.5Target Model Strings (Opus 4.5)
| Platform | Opus 4.5 Model String |
|---|---|
| Anthropic API (1P) | claude-opus-4-5-20251101 |
| AWS Bedrock | anthropic.claude-opus-4-5-20251101-v1:0 |
| Google Vertex AI | claude-opus-4-5@20251101 |
| Azure AI Foundry | claude-opus-4-5-20251101 |
Source Model Strings to Replace
| Source Model | Anthropic API (1P) | AWS Bedrock | Google Vertex AI |
|---|---|---|---|
| Sonnet 4.0 | claude-sonnet-4-20250514 | anthropic.claude-sonnet-4-20250514-v1:0 | claude-sonnet-4@20250514 |
| Sonnet 4.5 | claude-sonnet-4-5-20250929 | anthropic.claude-sonnet-4-5-20250929-v1:0 | claude-sonnet-4-5@20250929 |
| Opus 4.1 | claude-opus-4-1-20250422 | anthropic.claude-opus-4-1-20250422-v1:0 | claude-opus-4-1@20250422 |
Do NOT migrate: Any Haiku models (e.g., claude-haiku-4-5-20251001).
Prompt Adjustments
Opus 4.5 has known behavioral differences from previous models. Only apply these fixes if the user explicitly requests them or reports a specific issue. By default, just update model strings.
Integration guidelines: When adding snippets, don't just append them to prompts. Integrate them thoughtfully:
- Use XML tags (e.g.,
<code_guidelines>,<tool_usage>) to organize additions - Match the style and structure of the existing prompt
- Place snippets in logical locations (e.g., coding guidelines near other coding instructions)
- If the prompt already uses XML tags, add new content within appropriate existing tags or create consistent new ones
1. Tool Overtriggering
Opus 4.5 is more responsive to system prompts. Aggressive language that prevented undertriggering on previous models may now cause overtriggering.
Apply if: User reports tools being called too frequently or unnecessarily.
Find and soften:
CRITICAL:→ remove or softenYou MUST...→You should...ALWAYS do X→Do XNEVER skip...→Don't skip...REQUIRED→ remove or soften
Only apply to tool-triggering instructions. Leave other uses of emphasis alone.
2. Over-Engineering Prevention
Opus 4.5 tends to create extra files, add unnecessary abstractions, or build unrequested flexibility.
Apply if: User reports unwanted files, excessive abstraction, or unrequested features. Add the snippet from references/prompt-snippets.md.
3. Code Exploration
Opus 4.5 can be overly conservative about exploring code, proposing solutions without reading files.
Apply if: User reports the model proposing fixes without inspecting relevant code. Add the snippet from references/prompt-snippets.md.
4. Frontend Design
Apply if: User requests improved frontend design quality or reports generic-looking outputs.
Add the frontend aesthetics snippet from references/prompt-snippets.md.
5. Thinking Sensitivity
When extended thinking is not enabled (the default), Opus 4.5 is particularly sensitive to the word "think" and its variants. Extended thinking is enabled only if the API request contains a thinking parameter.
Apply if: User reports issues related to "thinking" while extended thinking is not enabled (no thinking parameter in request).
Replace "think" with alternatives like "consider," "believe," or "evaluate."
Reference
See references/prompt-snippets.md for the full text of each snippet to add.
See references/effort.md for configuring the effort parameter (only if user requests it).
Effort Parameter (Beta)
Add effort set to `"high"` during migration. This is the default configuration for best performance with Opus 4.5.
Overview
Effort controls how eagerly Claude spends tokens. It affects all tokens: thinking, text responses, and function calls.
| Effort | Use Case |
|---|---|
high | Best performance, deep reasoning (default) |
medium | Balance of cost/latency vs. performance |
low | Simple, high-volume queries; significant token savings |
Implementation
Requires beta flag effort-2025-11-24 in API calls.
Python SDK:
response = client.messages.create(
model="claude-opus-4-5-20251101",
max_tokens=1024,
betas=["effort-2025-11-24"],
output_config={
"effort": "high" # or "medium" or "low"
},
messages=[...]
)TypeScript SDK:
const response = await client.messages.create({
model: "claude-opus-4-5-20251101",
max_tokens: 1024,
betas: ["effort-2025-11-24"],
output_config: {
effort: "high" // or "medium" or "low"
},
messages: [...]
});Raw API:
{
"model": "claude-opus-4-5-20251101",
"max_tokens": 1024,
"anthropic-beta": "effort-2025-11-24",
"output_config": {
"effort": "high"
},
"messages": [...]
}Effort vs. Thinking Budget
Effort is independent of thinking budget:
- High effort + no thinking = more tokens, but no thinking tokens
- High effort + 32k thinking = more tokens, but thinking capped at 32k
Recommendations
1. First determine effort level, then set thinking budget 2. Best performance: high effort + high thinking budget 3. Cost/latency optimization: medium effort 4. Simple high-volume queries: low effort
Prompt Snippets for Opus 4.5
Only apply these snippets if the user explicitly requests them or reports a specific issue. By default, the migration should only update model strings.
1. Tool Overtriggering
Problem: Prompts designed to reduce undertriggering on previous models may cause Opus 4.5 to overtrigger.
When to add: User reports tools being called too frequently or unnecessarily.
Solution: Replace aggressive language with normal phrasing.
| Before | After |
|---|---|
CRITICAL: You MUST use this tool when... | Use this tool when... |
ALWAYS call the search function before... | Call the search function before... |
You are REQUIRED to... | You should... |
NEVER skip this step | Don't skip this step |
2. Over-Engineering Prevention
Problem: Opus 4.5 may create extra files, add unnecessary abstractions, or build unrequested flexibility.
When to add: User reports unwanted files, excessive abstraction, or unrequested features.
Snippet to add to system prompt:
- Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.
- Don't add features, refactor code, or make "improvements" beyond what was asked. A bug fix doesn't need surrounding code cleaned up. A simple feature doesn't need extra configurability.
- Don't add error handling, fallbacks, or validation for scenarios that can't happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs). Don't use backwards-compatibility shims when you can just change the code.
- Don't create helpers, utilities, or abstractions for one-time operations. Don't design for hypothetical future requirements. The right amount of complexity is the minimum needed for the current task. Reuse existing abstractions where possible and follow the DRY principle.3. Code Exploration
Problem: Opus 4.5 may propose solutions without reading code or make assumptions about unread files.
When to add: User reports the model proposing fixes without inspecting relevant code.
Snippet to add to system prompt:
ALWAYS read and understand relevant files before proposing code edits. Do not speculate about code you have not inspected. If the user references a specific file/path, you MUST open and inspect it before explaining or proposing fixes. Be rigorous and persistent in searching code for key facts. Thoroughly review the style, conventions, and abstractions of the codebase before implementing new features or abstractions.4. Frontend Design Quality
Problem: Default frontend outputs may look generic ("AI slop" aesthetic).
When to add: User requests improved frontend design quality or reports generic-looking outputs.
Snippet to add to system prompt:
<frontend_aesthetics>
You tend to converge toward generic, "on distribution" outputs. In frontend design, this creates what users call the "AI slop" aesthetic. Avoid this: make creative, distinctive frontends that surprise and delight.
Focus on:
- Typography: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics.
- Color & Theme: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes. Draw from IDE themes and cultural aesthetics for inspiration.
- Motion: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions.
- Backgrounds: Create atmosphere and depth rather than defaulting to solid colors. Layer CSS gradients, use geometric patterns, or add contextual effects that match the overall aesthetic.
Avoid generic AI-generated aesthetics:
- Overused font families (Inter, Roboto, Arial, system fonts)
- Clichéd color schemes (particularly purple gradients on white backgrounds)
- Predictable layouts and component patterns
- Cookie-cutter design that lacks context-specific character
Interpret creatively and make unexpected choices that feel genuinely designed for the context. Vary between light and dark themes, different fonts, different aesthetics. You still tend to converge on common choices (Space Grotesk, for example) across generations. Avoid this: it is critical that you think outside the box!
</frontend_aesthetics>5. Thinking Sensitivity
Problem: When extended thinking is not enabled (the default), Opus 4.5 is particularly sensitive to the word "think" and its variants.
Extended thinking is not enabled by default. It is only enabled if the API request contains a thinking parameter:
"thinking": {
"type": "enabled",
"budget_tokens": 10000
}When to apply: User reports issues related to "thinking" while extended thinking is not enabled (no thinking parameter in their request).
Solution: Replace "think" with alternative words.
| Before | After |
|---|---|
think about | consider |
think through | evaluate |
I think | I believe |
think carefully | consider carefully |
thinking | reasoning / considering |
Usage Guidelines
1. Integrate thoughtfully - Don't just append snippets; weave them into the existing prompt structure 2. Use XML tags - Wrap additions in descriptive tags (e.g., <coding_guidelines>, <tool_behavior>) that match or complement existing prompt structure 3. Match prompt style - If the prompt is concise, trim the snippet; if verbose, keep full detail 4. Place logically - Put coding snippets near other coding instructions, tool guidance near tool definitions, etc. 5. Preserve existing content - Insert snippets without removing functional content 6. Summarize changes - After migration, list all model string updates and prompt modifications made
{
"schema_version": "2.0",
"meta": {
"generated_at": "2026-01-21T14:51:57.198Z",
"slug": "claude-opus-4-5-migration",
"source_url": "https://github.com/anthropics/claude-code/tree/main/plugins/claude-opus-4-5-migration/skills/claude-opus-4-5-migration",
"source_ref": "main",
"model": "claude",
"analysis_version": "3.0.0",
"source_type": "official",
"content_hash": "29924e91e338c9d6eb99dc43945846c4767b359f30000c0ca1fa8c563c471d69",
"tree_hash": "7ecbc7f98c66c498e9a3d53de7d30298432d38c673eb048dd85f123d2080badb"
},
"skill": {
"name": "claude-opus-4-5-migration",
"description": "Migrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5. Use when the user wants to update their codebase, prompts, or API calls to use Opus 4.5. Handles model string updates and prompt adjustments for known Opus 4.5 behavioral differences. Does NOT migrate Haiku 4.5.",
"summary": "Migrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5. Use when the u...",
"icon": "📦",
"version": "1.0.0",
"author": "anthropics",
"license": "MIT",
"category": "coding",
"tags": [
"model migration",
"claude",
"codex",
"claude-code"
],
"supported_tools": [
"claude",
"codex",
"claude-code"
],
"risk_factors": []
},
"security_audit": {
"risk_level": "safe",
"is_blocked": false,
"safe_to_publish": true,
"summary": "Official Anthropic skill for safe migration between Claude models. Performs only text-based replacements in user code. No dynamic execution, no external dependencies, no network calls. Risk factors detected are false positives from static analysis of markdown documentation.",
"risk_factor_evidence": [],
"critical_findings": [],
"high_findings": [],
"medium_findings": [],
"low_findings": [],
"dangerous_patterns": [],
"files_scanned": 4,
"total_lines": 1296,
"audit_model": "claude",
"audited_at": "2026-01-21T14:51:57.198Z"
},
"content": {
"user_title": "Migrate to Claude Opus 4.5",
"value_statement": "Codebases built for older Claude models need updates when migrating to Opus 4.5. This skill automates the migration by updating model strings, removing deprecated headers, and applying behavioral adjustments for a smooth transition.",
"seo_keywords": [
"Claude Opus 4.5 migration",
"Claude model upgrade",
"Claude Sonnet 4.5 to Opus 4.5",
"Claude Opus 4.1 to 4.5",
"Claude API migration",
"Anthropic Claude migration guide",
"Claude Codex migration",
"Claude Code migration",
"Claude model string update",
"Claude 4.5 behavioral changes"
],
"actual_capabilities": [
"Search codebase for model strings and API calls across multiple platforms",
"Update model identifiers to Opus 4.5 format for Anthropic API, AWS Bedrock, Google Vertex AI, and Azure",
"Remove unsupported beta headers like context-1m-2025-08-07 with appropriate comments",
"Add effort parameter set to high for optimal Opus 4.5 performance",
"Apply prompt adjustments for known Opus 4.5 behavioral differences on user request",
"Summarize all migration changes made to the codebase"
],
"limitations": [
"Does not migrate Haiku 4.5 models to Opus 4.5",
"Prompt adjustments are only applied when user explicitly requests them or reports issues",
"Does not modify application logic or fix bugs unrelated to model migration",
"Cannot migrate code that uses deprecated Anthropic SDK versions"
],
"use_cases": [
{
"title": "Migrate Production Codebase to Opus 4.5",
"description": "Update all API calls, model strings, and configuration files to use Claude Opus 4.5 across a production application. Ensures compatibility and best performance.",
"target_user": "Software engineers and DevOps teams maintaining production Claude integrations"
},
{
"title": "Update Multi-Platform Claude Deployments",
"description": "Migrate Claude model references across different cloud platforms (AWS, GCP, Azure) simultaneously. Handles platform-specific model string formats.",
"target_user": "Platform engineers and cloud architects managing multi-cloud AI deployments"
},
{
"title": "Fix Behavioral Issues After Model Upgrade",
"description": "Apply targeted prompt adjustments to resolve overtriggering, over-engineering, or other behavioral quirks that appeared after migrating to Opus 4.5.",
"target_user": "AI engineers and developers troubleshooting post-migration issues"
}
],
"prompt_templates": [
{
"title": "Basic Migration",
"prompt": "Migrate my codebase from Claude Sonnet 4.5 to Opus 4.5. Update all model strings and API calls.",
"scenario": "When you want a straightforward migration without prompt adjustments"
},
{
"title": "Migration with Prompt Fixes",
"prompt": "Migrate my code from Opus 4.1 to Opus 4.5. Also update my system prompts to handle Opus 4.5 behavioral differences, particularly over-triggering of tools.",
"scenario": "When you want both model string updates and prompt adjustments for known issues"
},
{
"title": "Multi-Platform Migration",
"prompt": "Update all Claude model references in my project to Opus 4.5. I use AWS Bedrock. Replace Sonnet 4.0 strings and remove the context-1m beta header.",
"scenario": "When migrating on a specific cloud platform with deprecated beta features"
},
{
"title": "Targeted Prompt Adjustment",
"prompt": "My code already uses Opus 4.5, but I'm seeing issues with over-engineering. Update my system prompts to prevent unnecessary files and abstractions.",
"scenario": "When you need to fix specific Opus 4.5 behavioral issues without changing model strings"
}
],
"output_examples": [
{
"input": "Migrate my Python API wrapper from Sonnet 4.5 to Opus 4.5",
"output": [
"Scanned codebase for model strings...",
"Found 3 model references in api/client.py",
"Updated: claude-sonnet-4-5-20250929 → claude-opus-4-5-20251101",
"Removed unsupported beta header: context-1m-2025-08-07",
"Added effort parameter configuration for optimal performance",
"Migration complete. 3 files modified."
]
},
{
"input": "I use Google Vertex AI. Migrate from Sonnet 4.0 to Opus 4.5",
"output": [
"Identified platform: Google Vertex AI",
"Found 2 model references in config/",
"Updated: claude-sonnet-4@20250514 → claude-opus-4-5@20251101",
"Updated: claude-sonnet-4@20250514 → claude-opus-4-5@20251101",
"Migration complete. Ready for Opus 4.5 on Vertex AI."
]
},
{
"input": "Migrate from Opus 4.1 and fix over-triggering of tools",
"output": [
"Scanned for Opus 4.1 model strings...",
"Updated 5 files to use claude-opus-4-5-20251101",
"Applied tool overtriggering fixes: softened 4 aggressive phrases",
"Examples: 'CRITICAL:' → removed, 'ALWAYS' → removed emphasis",
"Added code exploration guideline to prevent assumptions",
"Migration complete with behavioral adjustments."
]
}
],
"best_practices": [
"Start with a basic migration to update model strings first, then apply prompt adjustments only if issues appear",
"Test migrated code thoroughly after migration, especially if applying behavioral prompt adjustments",
"Use version control and commit migrations as separate changes to easily roll back if needed"
],
"anti_patterns": [
"Applying all prompt adjustments by default without user request, which may change behavior unexpectedly",
"Migrating Haiku models to Opus 4.5, which is not supported",
"Skipping the summary step and not informing users about what changed in their codebase"
],
"faq": [
{
"question": "Which Claude models can be migrated to Opus 4.5?",
"answer": "This skill migrates Sonnet 4.0, Sonnet 4.5, and Opus 4.1 to Opus 4.5. It does not support migrating Haiku models."
},
{
"question": "Which platforms are supported for migration?",
"answer": "The skill supports Anthropic API (1st party), AWS Bedrock, Google Vertex AI, and Azure AI Foundry. Model strings are automatically converted to the correct format for each platform."
},
{
"question": "What are Opus 4.5 behavioral differences?",
"answer": "Opus 4.5 may over-trigger tools with aggressive language, create extra files, propose solutions without reading code, or produce generic frontend designs. These are addressed with optional prompt snippets."
},
{
"question": "Does the skill apply prompt adjustments automatically?",
"answer": "No. Model string updates are applied automatically, but prompt adjustments are only added when the user explicitly requests them or reports specific issues."
},
{
"question": "What is the effort parameter?",
"answer": "Effort controls how eagerly Claude spends tokens. The skill adds effort: high for best performance, which is the recommended default for Opus 4.5."
},
{
"question": "What happens to deprecated beta headers?",
"answer": "Unsupported beta headers like context-1m-2025-08-07 are removed and replaced with a comment noting that 1M context beta is not yet supported with Opus 4.5."
}
]
},
"file_structure": [
{
"name": "references",
"type": "dir",
"path": "references",
"children": [
{
"name": "effort.md",
"type": "file",
"path": "references/effort.md",
"lines": 71
},
{
"name": "prompt-snippets.md",
"type": "file",
"path": "references/prompt-snippets.md",
"lines": 107
}
]
},
{
"name": "SKILL.md",
"type": "file",
"path": "SKILL.md",
"lines": 106
}
]
}