Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .agents/claude-code-cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const baseDefinition = createCliAgent({
startCommand: 'claude --dangerously-skip-permissions',
permissionNote:
'Always use `--dangerously-skip-permissions` when testing to avoid permission prompts that would block automated tests.',
model: 'anthropic/claude-opus-4.6',
model: 'anthropic/claude-opus-4.7',
})

// Constants must be inside handleSteps since it gets serialized via .toString()
Expand Down
2 changes: 1 addition & 1 deletion .agents/codebuff-local-cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const baseDefinition = createCliAgent({
startCommand: 'bun --cwd=cli run dev',
permissionNote:
'No permission flags needed for Codebuff local dev server.',
model: 'anthropic/claude-opus-4.6',
model: 'anthropic/claude-opus-4.7',
skipPrepPhase: true,
cliSpecificDocs: `## Codebuff CLI Specific Guidance

Expand Down
2 changes: 1 addition & 1 deletion .agents/codex-cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ const baseDefinition = createCliAgent({
startCommand: 'codex -a never -s danger-full-access',
permissionNote:
'Always use `-a never -s danger-full-access` when testing to avoid approval prompts that would block automated tests.',
model: 'anthropic/claude-opus-4.6',
model: 'anthropic/claude-opus-4.7',
extraInputParams: {
reviewType: {
type: 'string',
Expand Down
2 changes: 1 addition & 1 deletion .agents/gemini-cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const baseDefinition = createCliAgent({
startCommand: 'gemini --yolo',
permissionNote:
'Always use `--yolo` (or `--approval-mode yolo`) when testing to auto-approve all tool actions and avoid prompts that would block automated tests.',
model: 'anthropic/claude-opus-4.6',
model: 'anthropic/claude-opus-4.7',
cliSpecificDocs: `## Gemini CLI Commands
Gemini CLI uses slash commands for navigation:
Expand Down
2 changes: 2 additions & 0 deletions .agents/types/agent-definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,9 @@ export type ModelName =

// Anthropic
| 'anthropic/claude-sonnet-4.6'
| 'anthropic/claude-opus-4.7'
| 'anthropic/claude-opus-4.6'
| 'anthropic/claude-opus-4.5'
| 'anthropic/claude-haiku-4.5'
| 'anthropic/claude-sonnet-4.5'
| 'anthropic/claude-opus-4.1'
Expand Down
2 changes: 1 addition & 1 deletion agents-graveyard/editor/best-of-n/best-of-n-selector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export const createBestOfNSelector = (options: {
model: isSonnet
? 'anthropic/claude-sonnet-4.5'
: isOpus
? 'anthropic/claude-opus-4.6'
? 'anthropic/claude-opus-4.7'
: isGemini
? 'google/gemini-3-pro-preview'
: 'openai/gpt-5.1',
Expand Down
2 changes: 1 addition & 1 deletion agents-graveyard/editor/best-of-n/editor-implementor2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export const createBestOfNImplementor2 = (options: {
model: isGpt5
? 'openai/gpt-5.2'
: isOpus
? 'anthropic/claude-opus-4.6'
? 'anthropic/claude-opus-4.7'
: 'anthropic/claude-sonnet-4.5',
displayName: isGpt5
? 'GPT-5 Implementation Generator v2'
Expand Down
2 changes: 1 addition & 1 deletion agents-graveyard/editor/best-of-n/editor-multi-prompt2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import type { SecretAgentDefinition } from '../../types/secret-agent-definition'
export function createMultiPromptEditor(): Omit<SecretAgentDefinition, 'id'> {
return {
publisher,
model: 'anthropic/claude-opus-4.6',
model: 'anthropic/claude-opus-4.7',
displayName: 'Multi-Prompt Editor',
spawnerPrompt:
'Edits code by spawning multiple implementor agents with different strategy prompts, selects the best implementation, and applies the changes. It also returns further suggested improvements which you should take seriously and act on. Pass as input an array of short prompts specifying different implementation approaches or strategies. Make sure to read any files intended to be edited before spawning this agent.',
Expand Down
2 changes: 1 addition & 1 deletion agents-graveyard/editor/reviewer-editor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const createCodeEditor = (options: {
model:
options.model === 'gpt-5'
? 'openai/gpt-5.1'
: 'anthropic/claude-opus-4.6',
: 'anthropic/claude-opus-4.7',
displayName: 'Code Editor',
spawnerPrompt:
'Expert code reviewer that reviews recent code changes and makes improvements.',
Expand Down
4 changes: 2 additions & 2 deletions agents/__tests__/editor.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ describe('editor agent', () => {
})

test('uses opus model by default', () => {
expect(editor.model).toBe('anthropic/claude-opus-4.6')
expect(editor.model).toBe('anthropic/claude-opus-4.7')
})

test('has output mode set to structured_output', () => {
Expand All @@ -54,7 +54,7 @@ describe('editor agent', () => {
describe('createCodeEditor', () => {
test('creates opus editor by default', () => {
const opusEditor = createCodeEditor({ model: 'opus' })
expect(opusEditor.model).toBe('anthropic/claude-opus-4.6')
expect(opusEditor.model).toBe('anthropic/claude-opus-4.7')
})

test('creates gpt-5 editor', () => {
Expand Down
2 changes: 1 addition & 1 deletion agents/__tests__/thinker.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ describe('thinker agent', () => {
})

test('uses opus model', () => {
expect(thinker.model).toBe('anthropic/claude-opus-4.6')
expect(thinker.model).toBe('anthropic/claude-opus-4.7')
})

test('has output mode set to structured_output', () => {
Expand Down
2 changes: 1 addition & 1 deletion agents/base2/base2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export function createBase2(
const isFree = mode === 'free'

const isSonnet = false
const model = isFree ? 'z-ai/glm-5.1' : 'anthropic/claude-opus-4.6'
const model = isFree ? 'z-ai/glm-5.1' : 'anthropic/claude-opus-4.7'

return {
publisher,
Expand Down
2 changes: 1 addition & 1 deletion agents/editor/best-of-n/best-of-n-selector2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export const createBestOfNSelector2 = (options: {
model: isSonnet
? 'anthropic/claude-sonnet-4.5'
: isOpus
? 'anthropic/claude-opus-4.6'
? 'anthropic/claude-opus-4.7'
: 'openai/gpt-5.4',
...(isGpt5 && {
reasoningOptions: {
Expand Down
2 changes: 1 addition & 1 deletion agents/editor/best-of-n/editor-implementor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export const createBestOfNImplementor = (options: {
model: isSonnet
? 'anthropic/claude-sonnet-4.5'
: isOpus
? 'anthropic/claude-opus-4.6'
? 'anthropic/claude-opus-4.7'
: isGemini
? 'google/gemini-3-pro-preview'
: 'openai/gpt-5.1',
Expand Down
2 changes: 1 addition & 1 deletion agents/editor/best-of-n/editor-multi-prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import type { SecretAgentDefinition } from '../../types/secret-agent-definition'
export function createMultiPromptEditor(): Omit<SecretAgentDefinition, 'id'> {
return {
publisher,
model: 'anthropic/claude-opus-4.6',
model: 'anthropic/claude-opus-4.7',
providerOptions: {
only: ['amazon-bedrock'],
},
Expand Down
2 changes: 1 addition & 1 deletion agents/editor/editor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export const createCodeEditor = (options: {
? 'openai/gpt-5.1'
: options.model === 'glm'
? 'z-ai/glm-5.1'
: 'anthropic/claude-opus-4.6',
: 'anthropic/claude-opus-4.7',
...(options.model === 'opus' && {
providerOptions: {
only: ['amazon-bedrock'],
Expand Down
2 changes: 1 addition & 1 deletion agents/general-agent/general-agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const createGeneralAgent = (options: {

return {
publisher,
model: isGpt5 ? 'openai/gpt-5.4' : 'anthropic/claude-opus-4.6',
model: isGpt5 ? 'openai/gpt-5.4' : 'anthropic/claude-opus-4.7',
...(!isGpt5 && {
providerOptions: {
only: ['amazon-bedrock'],
Expand Down
2 changes: 1 addition & 1 deletion agents/reviewer/code-reviewer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Be extremely concise.`,
const definition: SecretAgentDefinition = {
id: 'code-reviewer',
publisher,
...createReviewer('anthropic/claude-opus-4.6'),
...createReviewer('anthropic/claude-opus-4.7'),
providerOptions: {
only: ['amazon-bedrock'],
},
Expand Down
2 changes: 1 addition & 1 deletion agents/reviewer/multi-prompt/code-reviewer-multi-prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export function createCodeReviewerMultiPrompt(): Omit<
> {
return {
publisher,
model: 'anthropic/claude-opus-4.6',
model: 'anthropic/claude-opus-4.7',
providerOptions: {
only: ['amazon-bedrock'],
},
Expand Down
2 changes: 1 addition & 1 deletion agents/thinker/best-of-n/thinker-best-of-n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export function createThinkerBestOfN(
model: isGpt5
? 'openai/gpt-5.1'
: isOpus
? 'anthropic/claude-opus-4.6'
? 'anthropic/claude-opus-4.7'
: 'anthropic/claude-sonnet-4.5',
...(isOpus && {
providerOptions: {
Expand Down
2 changes: 1 addition & 1 deletion agents/thinker/best-of-n/thinker-selector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export function createThinkerSelector(
return {
publisher,
model: isOpus
? 'anthropic/claude-opus-4.6'
? 'anthropic/claude-opus-4.7'
: 'anthropic/claude-sonnet-4.5',
...(isOpus && {
providerOptions: {
Expand Down
2 changes: 1 addition & 1 deletion agents/thinker/thinker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import type { SecretAgentDefinition } from '../types/secret-agent-definition'
const definition: SecretAgentDefinition = {
id: 'thinker',
publisher,
model: 'anthropic/claude-opus-4.6',
model: 'anthropic/claude-opus-4.7',
providerOptions: {
only: ['amazon-bedrock'],
},
Expand Down
2 changes: 2 additions & 0 deletions agents/types/agent-definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,9 @@ export type ModelName =

// Anthropic
| 'anthropic/claude-sonnet-4.6'
| 'anthropic/claude-opus-4.7'
| 'anthropic/claude-opus-4.6'
| 'anthropic/claude-opus-4.5'
| 'anthropic/claude-haiku-4.5'
| 'anthropic/claude-sonnet-4.5'
| 'anthropic/claude-opus-4.1'
Expand Down
2 changes: 1 addition & 1 deletion common/src/constants/claude-oauth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ export const OPENROUTER_TO_ANTHROPIC_MODEL_MAP: Record<string, string> = {
'anthropic/claude-4-sonnet': 'claude-sonnet-4-20250514',

// Claude 4.x Opus models
'anthropic/claude-opus-4.6': 'claude-opus-4-6',
'anthropic/claude-opus-4.7': 'claude-opus-4-7',
'anthropic/claude-opus-4.5': 'claude-opus-4-5-20251101',
'anthropic/claude-opus-4.1': 'claude-opus-4-1-20250805',
'anthropic/claude-opus-4': 'claude-opus-4-1-20250805',
Expand Down
9 changes: 0 additions & 9 deletions common/src/constants/model-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,15 +124,6 @@ export const providerModelNames = {

export type Model = (typeof models)[keyof typeof models] | (string & {})

export const shouldCacheModels = [
'anthropic/claude-opus-4.1',
'anthropic/claude-sonnet-4',
'anthropic/claude-opus-4',
'anthropic/claude-3.7-sonnet',
'anthropic/claude-3.5-haiku',
'z-ai/glm-4.5',
'qwen/qwen3-coder',
]
const nonCacheableModels = [
models.openrouter_grok_4,
] satisfies string[] as string[]
Expand Down
2 changes: 1 addition & 1 deletion common/src/templates/initial-agents-dir/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ async *handleSteps() {

Choose models based on your agent's needs:

- **`anthropic/claude-opus-4.6`**: Best general-purpose capabilities and code generation
- **`anthropic/claude-opus-4.7`**: Best general-purpose capabilities and code generation
- **`openai/gpt-5.2`**: Best at complex reasoning and planning
- **`google/gemini-3.1-flash-lite-preview`**: Fast and cost-effective for simple or medium-complexity tasks

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,9 @@ export type ModelName =

// Anthropic
| 'anthropic/claude-sonnet-4.6'
| 'anthropic/claude-opus-4.7'
| 'anthropic/claude-opus-4.6'
| 'anthropic/claude-opus-4.5'
| 'anthropic/claude-haiku-4.5'
| 'anthropic/claude-sonnet-4.5'
| 'anthropic/claude-opus-4.1'
Expand Down
7 changes: 2 additions & 5 deletions common/src/util/model-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,8 @@ function getExplicitlyDefinedModels(): Set<string> {
if (explicitlyDefinedModels === null) {
// NOTE: Inline require() avoids circular dependency - old-constants imports this
// module, so a top-level import would create a circular reference
const { models, shouldCacheModels } = require('../old-constants')
explicitlyDefinedModels = new Set([
...(Object.values(models) as string[]),
...(Object.values(shouldCacheModels) as string[]),
])
const { models } = require('../old-constants')
explicitlyDefinedModels = new Set(Object.values(models) as string[])
}
return explicitlyDefinedModels
}
Expand Down
2 changes: 1 addition & 1 deletion web/src/app/api/v1/token-count/_post.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const tokenCountRequestSchema = z.object({

type TokenCountRequest = z.infer<typeof tokenCountRequestSchema>

const DEFAULT_ANTHROPIC_MODEL = 'claude-opus-4-6'
const DEFAULT_ANTHROPIC_MODEL = 'claude-opus-4-7'

export async function postTokenCount(params: {
req: NextRequest
Expand Down
Loading
Loading