diff --git a/server/services/assistant_chat_session.py b/server/services/assistant_chat_session.py index b0051b8..a7f00ca 100755 --- a/server/services/assistant_chat_session.py +++ b/server/services/assistant_chat_session.py @@ -255,10 +255,14 @@ class AssistantChatSession: # Build environment overrides for API configuration sdk_env = {var: os.getenv(var) for var in API_ENV_VARS if os.getenv(var)} + # Determine model from environment or use default + # This allows using alternative APIs (e.g., GLM via z.ai) that may not support Claude model names + model = os.getenv("ANTHROPIC_DEFAULT_OPUS_MODEL", "claude-opus-4-5-20251101") + try: self.client = ClaudeSDKClient( options=ClaudeAgentOptions( - model="claude-opus-4-5-20251101", + model=model, cli_path=system_cli, # System prompt loaded from CLAUDE.md via setting_sources # This avoids Windows command line length limit (~8191 chars) diff --git a/server/services/expand_chat_session.py b/server/services/expand_chat_session.py index 71e56bb..3c4008b 100644 --- a/server/services/expand_chat_session.py +++ b/server/services/expand_chat_session.py @@ -167,11 +167,15 @@ class ExpandChatSession: # Build environment overrides for API configuration sdk_env = {var: os.getenv(var) for var in API_ENV_VARS if os.getenv(var)} + # Determine model from environment or use default + # This allows using alternative APIs (e.g., GLM via z.ai) that may not support Claude model names + model = os.getenv("ANTHROPIC_DEFAULT_OPUS_MODEL", "claude-opus-4-5-20251101") + # Create Claude SDK client try: self.client = ClaudeSDKClient( options=ClaudeAgentOptions( - model="claude-opus-4-5-20251101", + model=model, cli_path=system_cli, system_prompt=system_prompt, allowed_tools=[ diff --git a/server/services/spec_chat_session.py b/server/services/spec_chat_session.py index 1f0d8cc..818179d 100644 --- a/server/services/spec_chat_session.py +++ b/server/services/spec_chat_session.py @@ -169,10 +169,14 @@ class SpecChatSession: # Build environment overrides for API configuration sdk_env = {var: os.getenv(var) for var in API_ENV_VARS if os.getenv(var)} + # Determine model from environment or use default + # This allows using alternative APIs (e.g., GLM via z.ai) that may not support Claude model names + model = os.getenv("ANTHROPIC_DEFAULT_OPUS_MODEL", "claude-opus-4-5-20251101") + try: self.client = ClaudeSDKClient( options=ClaudeAgentOptions( - model="claude-opus-4-5-20251101", + model=model, cli_path=system_cli, # System prompt loaded from CLAUDE.md via setting_sources # This avoids Windows command line length limit (~8191 chars)