CLI: emit ACP usage_update so clients like Zed can show a context window indicator

Feature request for product/service

Cursor CLI

Describe the request

agent acp should emit the standardized usage_update session notification so ACP clients can display context window usage, the same way the Cursor editor shows its context indicator.

Background

The Agent Client Protocol standardized session usage reporting in June (Session Context Size and Cost RFD, Completed 2026-06-05). Agents report {used, size} token counts via a session/update notification with sessionUpdate: "usage_update".

Current state

  • Zed (1.10 stable) already renders this as a context ring with percentage and token counts — for any ACP agent that sends it (opencode and hermes-agent already do).
  • Cursor CLI (2026.07.09-a3815c0) never sends usage_update, even though the ACP schema bundled inside the CLI already includes the variant — emission is the only missing piece.
  • The data exists internally: the interactive TUI shows context usage and turn-level token accounting; it just isn’t surfaced over ACP.

Suggested behavior (per the RFD)

  • Emit usage_update after session/new and session/load (restored threads show usage immediately)
  • After each session/prompt completes (or periodically during streaming)
  • Whenever the effective context window changes (e.g. 300k vs 1M context, or after auto-compaction)

Why it matters

When driving Cursor through Zed or other ACP clients there’s no way to know how full the context is — you find out when quality degrades or compaction kicks in. Editor users get a context indicator; ACP users deserve parity. It also helps decide when to /summarize or start a fresh thread.

Environment: cursor-agent 2026.07.09-a3815c0 (darwin-arm64), Zed 1.10.0 stable, ACP over stdio.

Hey, thanks for the detailed request. The RFD link, versions, and the exact emission points (session/new, session/load, after session/prompt, when the context window changes) make this a lot easier.

The request makes sense. Right now, agent acp really doesn’t send usage_update, so ACP clients like Zed don’t show the context window indicator, even though usage is visible in the interactive TUI. I logged this as a separate feature request for CLI/ACP.

To be honest, I can’t share a specific timeline for this. If there’s an update, I’ll reply in the thread.

Also, if per turn usage in the response matters to you too (PromptResponse.usage in ACP mode), that’s a related issue we’re tracking as well: Cursor ACP doesn’t seem to return token usage in PromptResponse.usage

Feature request for product/service

Cursor CLI

Describe the request

Hi Cursor team, a feature request for cursor-agent acp: context-window usage.

I use cursor-agent over ACP from Paseo (a mobile/desktop client for coding agents). Claude Code and Codex sessions there show a context-window meter, but Cursor sessions can’t, because cursor-agent never reports usage:

• No session/update with sessionUpdate: "usage_update" (size / used / optional cost)
• The session/prompt response is only {"stopReason":"end_turn"}, with no usage

Checked on 2026.09.18-9a7762b and the latest 2026.10.01-e373342 with a minimal ACP client: initialize → session/new → one session/prompt. The only updates I get are session_info_update, available_commands_update, agent_thought_chunk and agent_message_chunk. The bundle includes the usage_update schema from the ACP SDK, but nothing sends it.

I know both fields are still marked unstable in the ACP schema, but any ACP client could use them to show how full the context is and warn before it fills up.

Could cursor-agent send usage_update after each turn (context window size + tokens in context), and/or usage on the prompt response? Is this on the roadmap?

Thanks!

@gengjiawen, thanks for the request and for checking on the latest versions.

Right now, cursor-agent acp indeed doesn’t send usage_update and doesn’t include usage in the response to session/prompt. Because of that, ACP clients, including Paseo and Zed, can’t show context window usage, even though it’s visible in the interactive TUI. We’ve merged your request into this thread. It’s asking for the same thing, and I’ve passed it to the team together with your versions and repro.

I can’t share any roadmap timing yet. I’ll reply here when there’s an update.

We’re tracking the part about usage in the session/prompt response separately here: Cursor-agent acp never reports token usage over ACP, though -p --output-format json does. If you need per-turn usage right now, outside ACP it’s only available from cursor-agent -p --output-format json.