From db8adf2be2f00701a819887e4c8905b9f8ba2c81 Mon Sep 17 00:00:00 2001 From: Open SWE Bot Date: Mon, 26 Jan 2026 00:56:50 +0000 Subject: [PATCH] feat: Add deprecation warning for open-swe-max labels - Add deprecation warning in webhook handler when max labels are used - Update documentation to indicate open-swe-max labels are deprecated - Recommend users switch to standard open-swe labels with Opus 4.5 - Update README, best-practices.mdx, github.mdx, and prompts.ts - Max labels still functional but now log deprecation warnings --- README.md | 2 +- apps/docs/usage/best-practices.mdx | 16 ++++++++-------- apps/docs/usage/github.mdx | 14 ++++++++------ .../manager/nodes/classify-message/prompts.ts | 4 ++-- apps/open-swe/src/routes/github/issue-labeled.ts | 12 ++++++++++++ 5 files changed, 31 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 586b6044..b65221ea 100644 --- a/README.md +++ b/README.md @@ -39,5 +39,5 @@ Open SWE is an open-source cloud-based asynchronous coding agent built with [Lan Open SWE can be used in multiple ways: - 🖥️ **From the UI**. You can create, manage and execute Open SWE tasks from the [web application](https://swe.langchain.com). -- 📝 **From GitHub**. You can start Open SWE tasks directly from GitHub issues simply by adding a label `open-swe`, or `open-swe-auto` (adding `-auto` will cause Open SWE to automatically accept the plan, requiring no intervention from you). For enhanced performance on complex tasks, use `open-swe-max` or `open-swe-max-auto` labels which utilize Claude Opus 4.1 for both planning and programming. +- 📝 **From GitHub**. You can start Open SWE tasks directly from GitHub issues simply by adding a label `open-swe`, or `open-swe-auto` (adding `-auto` will cause Open SWE to automatically accept the plan, requiring no intervention from you). The default `open-swe` labels now use Claude Opus 4.5 for optimal performance. Note: `open-swe-max` and `open-swe-max-auto` labels are deprecated and should no longer be used. diff --git a/apps/docs/usage/best-practices.mdx b/apps/docs/usage/best-practices.mdx index c29a8340..67bb1fed 100644 --- a/apps/docs/usage/best-practices.mdx +++ b/apps/docs/usage/best-practices.mdx @@ -56,11 +56,11 @@ Although Open SWE allows you to select any model from Anthropic, OpenAI and Goog - Faster execution - Cost-effective -**`open-swe-max`**: Uses Claude Opus 4 (only for the planning and code writing agents) +**`open-swe-max`** (Deprecated): Uses Claude Opus 4.1 (only for the planning and code writing agents) -- For complex tasks requiring advanced reasoning -- Higher quality output for challenging problems -- More expensive but better for difficult tasks +- **This label is deprecated** - use `open-swe` instead, which now uses Claude Opus 4.5 by default +- The max label uses an outdated model configuration +- For complex tasks, the default `open-swe` label with Opus 4.5 provides better performance ### Auto vs Manual Labels @@ -72,10 +72,10 @@ If you're running Open SWE against an open-ended or very complex task, you may w ## Label Reference -- `open-swe`: Manual mode with Sonnet 4 -- `open-swe-auto`: Auto mode with Sonnet 4 -- `open-swe-max`: Manual mode with Opus 4.1 -- `open-swe-max-auto`: Auto mode with Opus 4.1 +- `open-swe`: Manual mode with Opus 4.5 +- `open-swe-auto`: Auto mode with Opus 4.5 +- `open-swe-max`: **[DEPRECATED]** Manual mode with Opus 4.1 - use `open-swe` instead +- `open-swe-max-auto`: **[DEPRECATED]** Auto mode with Opus 4.1 - use `open-swe-auto` instead In development environments, append `-dev` to all labels (e.g., diff --git a/apps/docs/usage/github.mdx b/apps/docs/usage/github.mdx index d132ebeb..0e0185e6 100644 --- a/apps/docs/usage/github.mdx +++ b/apps/docs/usage/github.mdx @@ -31,13 +31,15 @@ Open SWE supports three types of labels that control how the agent operates: - Provides faster turnaround for straightforward requests - Best for simple changes or when you trust the agent to proceed autonomously -**Max Mode (`open-swe-max` and `open-swe-max-auto`)** +**Max Mode (`open-swe-max` and `open-swe-max-auto`) - DEPRECATED** -- Uses Claude Opus 4.1 for both planning and programming tasks -- Provides enhanced performance and reasoning capabilities for complex problems -- `open-swe-max`: Requires manual plan approval with premium model performance -- `open-swe-max-auto`: Combines automatic execution with premium model capabilities -- Ideal for challenging tasks that benefit from the most advanced AI reasoning + + These labels are **deprecated**. Please use `open-swe` or `open-swe-auto` instead, which now use Claude Opus 4.5 by default for better performance. + + +- Uses Claude Opus 4.1 for both planning and programming tasks (outdated model configuration) +- The standard `open-swe` labels now provide better performance with Claude Opus 4.5 +- These labels are maintained for backward compatibility but will be removed in a future release In development environments, the labels are `open-swe-dev`, diff --git a/apps/open-swe/src/graphs/manager/nodes/classify-message/prompts.ts b/apps/open-swe/src/graphs/manager/nodes/classify-message/prompts.ts index ba9e15cd..f0b79bab 100644 --- a/apps/open-swe/src/graphs/manager/nodes/classify-message/prompts.ts +++ b/apps/open-swe/src/graphs/manager/nodes/classify-message/prompts.ts @@ -73,8 +73,8 @@ Your documentation is available at: https://github.com/langchain-ai/open-swe/tre You can be invoked by both the web app, or by adding a label to a GitHub issue. These label options are: - \`open-swe\` - trigger a standard Open SWE task. It will interrupt after generating a plan, and the user must approve it before it can continue. Uses Claude Opus 4.5 for all LLM requests. - \`open-swe-auto\` - trigger an 'auto' Open SWE task. It will not interrupt after generating a plan, and instead it will auto-approve the plan, and continue to the programming step without user approval. Uses Claude Opus 4.5 for all LLM requests. -- \`open-swe-max\` - this label acts the same as \`open-swe\`, except it uses a larger, more powerful model for the planning and programming steps: Claude Opus 4.1. It still uses Claude Opus 4.5 for the reviewer step. -- \`open-swe-max-auto\` - this label acts the same as \`open-swe-auto\`, except it uses a larger, more powerful model for the planning and programming steps: Claude Opus 4.1. It still uses Claude Opus 4.5 for the reviewer step. +- \`open-swe-max\` - **DEPRECATED** - this label uses Claude Opus 4.1 for planning and programming. Users should use \`open-swe\` instead, which now uses the more advanced Claude Opus 4.5. +- \`open-swe-max-auto\` - **DEPRECATED** - this label uses Claude Opus 4.1 for planning and programming with auto-approval. Users should use \`open-swe-auto\` instead, which now uses the more advanced Claude Opus 4.5. Only provide this information if requested by the user. For example, if the user asks what you can do, you should provide the above information in your response. diff --git a/apps/open-swe/src/routes/github/issue-labeled.ts b/apps/open-swe/src/routes/github/issue-labeled.ts index 5285af62..78bfc2b8 100644 --- a/apps/open-swe/src/routes/github/issue-labeled.ts +++ b/apps/open-swe/src/routes/github/issue-labeled.ts @@ -50,6 +50,18 @@ class IssueWebhookHandler extends WebhookHandlerBase { }, ); + // Add deprecation warning for max labels + if (isMaxLabel) { + this.logger.warn( + `The '${payload.label.name}' label is deprecated. The 'open-swe-max' and 'open-swe-max-auto' labels use Claude Opus 4.1, which is an outdated model configuration. Please use the standard 'open-swe' or 'open-swe-auto' labels instead, which now use Claude Opus 4.5 by default for better performance.`, + { + issueNumber: payload.issue.number, + deprecatedLabel: payload.label.name, + suggestedLabel: isAutoAcceptLabel ? "open-swe-auto" : "open-swe", + }, + ); + } + try { const context = await this.setupWebhookContext(payload); if (!context) {