You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Reasoning models fail every turn: tools + reasoning_effort rejected on /v1/chat/completions #58
With a reasoning-by-default OpenAI model in OPENAI_MODEL, every Dot turn fails with: 400 Function tools with reasoning_effort are not supported for <model> in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.
The agent uses openaiCompatibleText (Chat Completions only, src/server/dot-agent.ts:15) and always sends tools, so these models can't be used. Switching to gpt-5.4-mini fixed it.
Suggestion: support the Responses API or allow setting reasoning_effort, and document which models are supported.
I can confirm the same failure when running OpenDots locally on macOS with npm run dev, using OPENAI_MODEL=gpt-6.1-sol.
The local checkout is on main at 565bf781d654339ee1ce83b17ee00d76d679608e (after the originally reported c2569bb). Both Vite and the application server start successfully; the failure occurs when a Dot executes a model turn.
The runtime reports:
400 Function tools with reasoning_effort are not supported for gpt-6.1-sol in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.
The error originates from openai-compatible.chatStream and propagates through convertTanStackStream in the CopilotKit runtime. The current src/server/dot-agent.ts still explicitly selects api: 'chat-completions'.
This provides another reproduction outside Docker, on the newer main revision. Switching models, setting reasoning_effort to none, and using the Responses API have not yet been tested in this environment.
Posted with AI assistance on behalf of the user who reported this local failure.
Update: I have prepared two linked contributions for this issue:
CopilotKit runtime fix:CopilotKit/CopilotKit#7672 preserves TanStack encrypted reasoning events, correctly associates step/message IDs, and replays reasoning/tool metadata across human review and history continuations.
OpenDots integration (Draft):#104 adds explicit DOT_MODEL_API, DOT_MAX_OUTPUT_TOKENS, and optional DOT_REASONING_EFFORT settings, with native options for Chat Completions and Responses. Chat Completions/2200 and the provider's unspecified effort remain the defaults.
Validation
Using the reviewed, locally built runtime package on macOS/Node 24, I verified gpt-6.1-sol with:
The final UI flow made 9 model requests returning HTTP 200, with no HTTP 400. It covered actual page-tool execution, approval and decline of review cards, and reopening the conversation in a fresh browser context. The provider reported 34 reasoning tokens, and the outgoing request after reopening included an encrypted reasoning item. Owner pause also aborted an active provider request; a new turn succeeded after unpausing.
Offline checks: 2,831 runtime tests and 344 OpenDots tests passed, along with formatting, lint, typechecks and builds in the validated local configurations.
Release dependency
The OpenDots PR is Draft, not ready to merge. Published runtime 1.77.0 still lacks the SDK fix. A clean install from its current public lock reproduces 7 failures / 337 passes: three SDK compatibility gates and four review-resume cases. They are retained as regression guards, not skipped.
Once the SDK fix is merged and published, the OpenDots lock needs updating to that corrected release and normal clean-install CI needs to pass. Until then, the two fixes can be tested together using a locally built runtime package; a merge alone does not update installed dependencies.
The budget/effort above are explicit test choices, not requirements or new defaults. Model/provider support varies. No credentials, encrypted values or private page content are included in the PRs or this comment.
Activity
DevJoaoLopes commentedon Oct 6, 2026
I can confirm the same failure when running OpenDots locally on macOS with
npm run dev, usingOPENAI_MODEL=gpt-6.1-sol.The local checkout is on
mainat565bf781d654339ee1ce83b17ee00d76d679608e(after the originally reportedc2569bb). Both Vite and the application server start successfully; the failure occurs when a Dot executes a model turn.The runtime reports:
The error originates from
openai-compatible.chatStreamand propagates throughconvertTanStackStreamin the CopilotKit runtime. The currentsrc/server/dot-agent.tsstill explicitly selectsapi: 'chat-completions'.This provides another reproduction outside Docker, on the newer main revision. Switching models, setting
reasoning_efforttonone, and using the Responses API have not yet been tested in this environment.Posted with AI assistance on behalf of the user who reported this local failure.
DevJoaoLopes commentedon Oct 6, 2026
Update: I have prepared two linked contributions for this issue:
DOT_MODEL_API,DOT_MAX_OUTPUT_TOKENS, and optionalDOT_REASONING_EFFORTsettings, with native options for Chat Completions and Responses. Chat Completions/2200 and the provider's unspecified effort remain the defaults.Validation
Using the reviewed, locally built runtime package on macOS/Node 24, I verified
gpt-6.1-solwith:The final UI flow made 9 model requests returning HTTP 200, with no HTTP 400. It covered actual page-tool execution, approval and decline of review cards, and reopening the conversation in a fresh browser context. The provider reported 34 reasoning tokens, and the outgoing request after reopening included an encrypted reasoning item. Owner pause also aborted an active provider request; a new turn succeeded after unpausing.
Offline checks: 2,831 runtime tests and 344 OpenDots tests passed, along with formatting, lint, typechecks and builds in the validated local configurations.
Release dependency
The OpenDots PR is Draft, not ready to merge. Published runtime
1.77.0still lacks the SDK fix. A clean install from its current public lock reproduces 7 failures / 337 passes: three SDK compatibility gates and four review-resume cases. They are retained as regression guards, not skipped.Once the SDK fix is merged and published, the OpenDots lock needs updating to that corrected release and normal clean-install CI needs to pass. Until then, the two fixes can be tested together using a locally built runtime package; a merge alone does not update installed dependencies.
The budget/effort above are explicit test choices, not requirements or new defaults. Model/provider support varies. No credentials, encrypted values or private page content are included in the PRs or this comment.
Prepared with AI assistance.