Skip to content

gpt-6-astra agents with actions fail: Azure Chat Completions rejects function tools at every reasoning effort #1606

Open

Description

@paullizer

Issue

Local (Semantic Kernel) agents with actions fail on gpt-6-astra. SimpleChat sends agent tool calls through Chat Completions, and Azure rejects function tools for this model on Chat Completions at every reasoning effort the model accepts. Any agent or scheduled workflow that uses actions with a gpt-6-astra deployment fails with a 400 before it does any work.

gpt-6-sol has the same rule as GPT-5.6: tools work on Chat Completions only with reasoning_effort: none. gpt-6-sol isn't in the model catalog, so SimpleChat doesn't apply the existing toolReasoningEfforts rule, and a gpt-6-sol agent with actions fails unless its Reasoning Effort is explicitly set to None.

Observed on a SimpleChat POC deployment running the React V2 branch (0.261.219) with Azure OpenAI deployments gpt-6-astra (2026-09-03) and gpt-6-sol (2026-09-22). The model endpoint uses api-version 2024-05-01-preview.

Steps to Reproduce

  1. Deploy gpt-6-astra in Azure OpenAI and add it to a model endpoint.
  2. Create a local agent on gpt-6-astra with at least one action (for example, the SimpleChat action).
  3. Chat with the agent, or run a workflow that uses it.
  4. Set the agent's Reasoning Effort to None and repeat.

Expected Behavior

The agent runs through an API that supports tools for this model. If that isn't possible, SimpleChat blocks the configuration up front with a clear message that this model can't use actions through Chat Completions.

Actual Behavior

Model Reasoning effort Result
gpt-6-astra Not set (model default) 400: Function tools with reasoning_effort are not supported for gpt-6-astra in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.
gpt-6-astra low 400: same Function tools with reasoning_effort are not supported for gpt-6-astra error
gpt-6-astra none 400: Unsupported value: 'reasoning_effort' does not support 'none' with this model. Supported values are: 'low', 'medium', 'high', and 'xhigh'.
gpt-6-sol Not set (model default) 400: Function tools with reasoning_effort are not supported for gpt-6-sol in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.
gpt-6-sol none Works

In a workflow, the run shows only the generic task error (The task could not complete. Review its input, model availability, and run activity.). The provider error appears only in Application Insights.

Impact

  • gpt-6-astra can't be used for any agent with actions, including scheduled workflows.
  • gpt-6-sol agents with actions fail unless the admin knows to set Reasoning Effort to None.
  • The cause isn't visible to the user or admin who sees the failure.

Notes

  • Local agents always use Chat Completions (AzureChatCompletion in semantic_kernel_loader.py and functions_model_endpoint_runtime.py). The Responses API is used only for Foundry agents and image generation.
  • The documentation doesn't describe this rule for GPT-6. Azure's model table lists Chat Completions and "Functions, tools, and parallel tool calling" for gpt-6-astra and gpt-6-sol, without the GPT-5.6 note that tools on Chat Completions require reasoning_effort: none. OpenAI's gpt-6-astra page lists reasoning efforts low, medium, high, xhigh and max, with no none, which matches the rejection above.
  • The errors name /v1/chat/completions and give the fix (/v1/responses or none), so this looks like a model-level rule rather than an effect of the older api-version. A newer api-version wasn't tested.
  • A model catalog update on the React V2 branch (0.261.220) records gpt-6-astra's verified token limits, its reasoning efforts, and this restriction as notes. The current toolReasoningEfforts field can't express "no effort supports tools", so the runtime still sends the request.
  • Related: GPT-6 models are sent max_tokens and rejected (not treated as reasoning models) #1605 (GPT-6 models sent max_tokens).

Suggested Fix

  • Add a catalog record for gpt-6-sol with an Azure Chat Completions toolReasoningEfforts: ["none"] profile, so SimpleChat sends none automatically when tools are present, as it does for GPT-5.6. Add gpt-6-luna once its behavior is verified. Done on the React V2 branch in 0.261.221 (Fix group uploads, Call agent saves, scheduled-run identity and GPT-6 model handling #1608).
  • Let the catalog mark a model and protocol as not supporting function tools (for example, Azure Chat Completions for gpt-6-astra). Fail early with a clear message in the agent editor and at run time instead of a provider 400.
  • Run local agents with tools through the Responses API for models that require it. This may need its own issue.
  • Show a safe, specific reason in the workflow task error instead of the generic message.
  • Add functional tests for the catalog rules and the early failure.

Activity

  1. added
    bugSomething isn't working
    P1Priority 1: urgent, address before P2 work
    on Oct 2, 2026
  2. paullizer commented on Oct 2, 2026

    @paullizer
    ContributorAuthor

    Progress on the React V2 branch (PR #1608):

    • 0.261.220: gpt-6-astra has verified token limits and a reasoning policy (low, medium, high, xhigh) in the model catalog, and the tool restriction is recorded in its notes. Chat now sends Low when None is selected.
    • 0.261.221: gpt-6-sol is in the catalog with a Chat Completions toolReasoningEfforts of none for Azure and OpenAI. OpenAI documents the rule on the model page: "Chat Completions supports function calling only with reasoning_effort set to none." Agents with tools and no effort now send none. Another explicit effort fails before the request with a clear message instead of a provider 400.
    • Also confirmed: gpt-6-astra rejects tools with reasoning_effort: low too. The table above now includes it.

    Still open: a Responses API path, or an early and clear error, for gpt-6-astra agents with actions. Auto model selection should also avoid routing tool-use steps to it, because the catalog derives tool-use suitability from toolCalling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

P1Priority 1: urgent, address before P2 workbugSomething isn't working

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions