Skip to main content
NagaAI keeps no conversation on its side, in any format. Your application holds the history and sends all of it with each request. The model then sees every earlier turn, whichever provider serves the next call.
The second answer names Alice, because the second request carries the first turn.

Send the assistant turn back unchanged

Each example appends the model’s whole answer to the history, with every part it returned. That keeps the parts the model needs to continue: Responses reasoning and function_call items, Chat Completions tool_calls and reasoning_details, and Messages thinking and tool_use blocks. A tool result without the call it answers fails with 400, as Tool calling explains, and Reasoning covers why models need their earlier reasoning.

Responses doesn’t store anything

The official Responses API can keep a conversation on the server. NagaAI doesn’t, and it ignores previous_response_id, store, conversation, background and prompt. There is no GET /v1/responses/{id} either. A request that relies on previous_response_id gets an answer without the earlier context, and no error tells you so. Send the earlier output items in input instead, as the Responses example does. Some clients replace earlier turns with item_reference entries when store is on, expecting the server to fill them in. NagaAI refuses such a request with 400 and names the input item to send in full. Turn storing off in the client: in the Vercel AI SDK that’s providerOptions: { openai: { store: false } }. Codex CLI and OpenCode already send store: false.

Troubleshooting

The model forgets earlier turns

The request doesn’t carry them. Check that your code appends both the assistant answer and the next user message to the history before each call.

400 that names an item_reference

The client sent a reference to a stored item. Turn off store in the client so that it sends the items themselves.