SDK: add Ask (read-only) mode alongside agent and plan

Feature request for product/service

Cursor SDK

Describe the request

Feature request for product/service

Cursor SDK

Describe the request

Please add an official Ask / read-only conversation mode to the Cursor SDK (@cursor/sdk and cursor-sdk), matching the IDE Ask mode and CLI --mode ask.
Today the SDK docs only expose:

mode: "agent" | "plan"
There is no mode="ask".

Why this matters
We are building chat-style products on top of the SDK (tutoring bots, expert Q&A, support assistants, etc.). For these workloads:

The agent should answer questions, optionally use read tools / MCP, and stream a reply.
It must not create/edit/delete files, run mutating shell commands, or otherwise change the workspace.
Soft constraints in the system prompt are not enough — models can ignore them. Chat apps need a hard read-only mode enforced by the runtime, the same way Ask mode works in the IDE/CLI.
mode="plan" is also not a substitute: Plan is for designing implementation and confirmation flows, not for ordinary multi-turn chat.

Current workarounds (and why they fall short)
Run mode="agent" against an empty scratch cwd + prompt “do not write files”.
Rely on sandbox / custom tool allowlists where available.
These reduce risk but are not equivalent to a first-class Ask mode. Empty cwd also makes legitimate read-only codebase Q&A awkward unless we carefully mount paths.

Proposed API
with Agent.create(
    model="composer-2.5",
    mode="ask",  # or LocalAgentOptions / SendOptions
    local=LocalAgentOptions(cwd="."),
) as agent:
    print(agent.send("Explain how auth works in this repo").text())
TypeScript equivalent: mode: "ask" on Agent.create / agent.send.

Semantics should match IDE/CLI Ask:

Read tools allowed (read file, search, etc.)
Writes / mutating shell / edit tools blocked by the harness
Suitable as the default mode for chat apps built on the SDK
Related (but different) threads
https://forum.cursor.com/t/ask-mode-api-endpoint/149387 — API Q&A via Background Agents, not SDK mode
https://forum.cursor.com/t/cursor-python-sdk-use/163238 — AskQuestion tool events in SDK (HITL UI), not Ask mode
Happy to share more detail about chat-app integration patterns if useful.

---



### Operating System (if it applies)
Linux

Hey @Lade!

In general, modes are a little bit in flux right now and probably deserve some alignment. Thanks for the SDK-specific feedback!