- * Valid values: "low", "medium", "high", "xhigh". + * Valid values: "low", "medium", "high", "xhigh", "max". * * @param reasoningEffort * the reasoning effort level diff --git a/java/src/main/java/com/github/copilot/rpc/SessionConfig.java b/java/src/main/java/com/github/copilot/rpc/SessionConfig.java index 7033ba557..6b9172d47 100644 --- a/java/src/main/java/com/github/copilot/rpc/SessionConfig.java +++ b/java/src/main/java/com/github/copilot/rpc/SessionConfig.java @@ -178,7 +178,8 @@ public SessionConfig setModel(String model) { /** * Gets the reasoning effort level. * - * @return the reasoning effort level ("low", "medium", "high", or "xhigh") + * @return the reasoning effort level ("low", "medium", "high", "xhigh", or + * "max") */ public String getReasoningEffort() { return reasoningEffort; @@ -187,8 +188,8 @@ public String getReasoningEffort() { /** * Sets the reasoning effort level for models that support it. *
- * Valid values: "low", "medium", "high", "xhigh". Only applies to models where
- * {@code capabilities.supports.reasoningEffort} is true.
+ * Valid values: "low", "medium", "high", "xhigh", "max". Only applies to models
+ * where {@code capabilities.supports.reasoningEffort} is true.
*
* @param reasoningEffort
* the reasoning effort level
diff --git a/nodejs/README.md b/nodejs/README.md
index 4c430da05..416d9bb0d 100644
--- a/nodejs/README.md
+++ b/nodejs/README.md
@@ -131,7 +131,7 @@ Create a new conversation session.
- `sessionId?: string` - Custom session ID.
- `model?: string` - Model to use ("gpt-5", "claude-sonnet-4.5", etc.). **Required when using custom provider.**
-- `reasoningEffort?: "low" | "medium" | "high" | "xhigh"` - Reasoning effort level for models that support it. Use `listModels()` to check which models support this option.
+- `reasoningEffort?: "low" | "medium" | "high" | "xhigh" | "max"` - Reasoning effort level for models that support it. Use `listModels()` to check which models support this option.
- `tools?: Tool[]` - Custom tools exposed to the CLI. Tools without `handler` are declaration-only and must be resolved via pending tool-call RPCs.
- `systemMessage?: SystemMessageConfig` - System message customization (see below)
- `infiniteSessions?: InfiniteSessionConfig` - Configure automatic context compaction (see below)
diff --git a/nodejs/src/types.ts b/nodejs/src/types.ts
index acba82667..d0113914b 100644
--- a/nodejs/src/types.ts
+++ b/nodejs/src/types.ts
@@ -1823,7 +1823,7 @@ export interface LargeToolOutputConfig {
/**
* Valid reasoning effort levels for models that support it.
*/
-export type ReasoningEffort = "low" | "medium" | "high" | "xhigh";
+export type ReasoningEffort = "low" | "medium" | "high" | "xhigh" | "max";
/**
* Context window tier for the session. "long_context" pins the session to the
diff --git a/python/README.md b/python/README.md
index 0206ad49b..8fdb1f191 100644
--- a/python/README.md
+++ b/python/README.md
@@ -272,7 +272,7 @@ finally:
These are passed as keyword arguments to `create_session()`:
- `model` (str): Model to use ("gpt-5", "claude-sonnet-4.5", etc.). **Required when using custom provider.**
-- `reasoning_effort` (str): Reasoning effort level for models that support it ("low", "medium", "high", "xhigh"). Use `list_models()` to check which models support this option.
+- `reasoning_effort` (str): Reasoning effort level for models that support it ("low", "medium", "high", "xhigh", "max"). Use `list_models()` to check which models support this option.
- `session_id` (str): Custom session ID
- `tools` (list): Custom tools exposed to the CLI. Tools with `handler=None` are declaration-only and must be resolved via pending tool-call RPCs.
- `system_message` (SystemMessageConfig): System message configuration
diff --git a/python/copilot/session.py b/python/copilot/session.py
index 4474ce562..193c571b3 100644
--- a/python/copilot/session.py
+++ b/python/copilot/session.py
@@ -169,7 +169,7 @@ def _capabilities_to_dict(caps: ModelCapabilitiesOverride) -> dict:
return result
-ReasoningEffort = Literal["low", "medium", "high", "xhigh"]
+ReasoningEffort = Literal["low", "medium", "high", "xhigh", "max"]
ReasoningSummary = Literal["none", "concise", "detailed"]
ContextTier = Literal["default", "long_context"]
SessionFsConventions = Literal["posix", "windows"]
@@ -2976,7 +2976,7 @@ async def set_model(
Args:
model: Model ID to switch to (e.g., "gpt-5.4", "claude-sonnet-4").
reasoning_effort: Optional reasoning effort level for the new model
- (e.g., "low", "medium", "high", "xhigh").
+ (e.g., "low", "medium", "high", "xhigh", "max").
reasoning_summary: Optional reasoning summary mode for supported
models. Use "none" to suppress summary output regardless of
whether reasoning is enabled.
diff --git a/rust/src/types.rs b/rust/src/types.rs
index b5c180e4a..04cef322c 100644
--- a/rust/src/types.rs
+++ b/rust/src/types.rs
@@ -4330,7 +4330,7 @@ impl LogOptions {
#[derive(Debug, Clone, Default)]
pub struct SetModelOptions {
/// Reasoning effort for the new model (e.g. `"low"`, `"medium"`,
- /// `"high"`, `"xhigh"`).
+ /// `"high"`, `"xhigh"`, `"max"`).
pub reasoning_effort: Option