From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: lucascouts <lucascs@protonmail.com>
Date: Mon, 9 Nov 2026 15:28:17 -0300
Subject: [PATCH] agent_ui: label the five-hour quota window "5-hour limit"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Wave 2 of the Zeo next proposal (docs/ZEO-NEXT-PROPOSAL.md §5, carried
from §4.2). Claude Code 2.1.312 renamed its five-hour window "5-hour
limit", and Claude Agent (Plus) adopted the same words in its /usage text
(usage-markdown.ts). The account-usage bars of patch 0011 still read
"Session (5h)", so the panel and the /usage text named one window two
ways.

Only the label changes. The window's kind, its ordering and the payload
it is parsed from (`_claude/rateLimit`, `rateLimitType: "five_hour"`) are
untouched, so no test asserts the old string and none needed updating.

Stacked on 0011 (which adds AccountUsageWindowKind::label) and 0013
(which made label() return a SharedString).
---

diff --git a/crates/acp_thread/src/acp_thread.rs b/crates/acp_thread/src/acp_thread.rs
index 42a4f9d..a80b297 100644
--- a/crates/acp_thread/src/acp_thread.rs
+++ b/crates/acp_thread/src/acp_thread.rs
@@ -3773,7 +3773,9 @@ impl AccountUsageWindowKind {
     /// built from a name only the server knows. Every other arm stays a static str.
     pub fn label(&self) -> SharedString {
         SharedString::new_static(match self {
-            Self::FiveHour => "Session (5h)",
+            // The CLI names this window "5-hour limit" since 2.1.312, and so does
+            // plus's /usage text; the bar now reads the same.
+            Self::FiveHour => "5-hour limit",
             Self::SevenDay => "Weekly",
             Self::SevenDayOpus => "Weekly (Opus)",
             Self::SevenDaySonnet => "Weekly (Sonnet)",
