{"type":"system","subtype":"init","cwd":"./bench/results/cli/bug_triage_search/run2/workspace","session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","tools":["Task","TaskOutput","Bash","Glob","Grep","ExitPlanMode","Read","Edit","Write","NotebookEdit","WebFetch","TodoWrite","WebSearch","TaskStop","AskUserQuestion","Skill","EnterPlanMode","EnterWorktree","ExitWorktree","CronCreate","CronDelete","CronList","ToolSearch","mcp__chrome-devtools__click","mcp__chrome-devtools__close_page","mcp__chrome-devtools__drag","mcp__chrome-devtools__emulate","mcp__chrome-devtools__evaluate_script","mcp__chrome-devtools__fill","mcp__chrome-devtools__fill_form","mcp__chrome-devtools__get_console_message","mcp__chrome-devtools__get_network_request","mcp__chrome-devtools__handle_dialog","mcp__chrome-devtools__hover","mcp__chrome-devtools__lighthouse_audit","mcp__chrome-devtools__list_console_messages","mcp__chrome-devtools__list_network_requests","mcp__chrome-devtools__list_pages","mcp__chrome-devtools__navigate_page","mcp__chrome-devtools__new_page","mcp__chrome-devtools__performance_analyze_insight","mcp__chrome-devtools__performance_start_trace","mcp__chrome-devtools__performance_stop_trace","mcp__chrome-devtools__press_key","mcp__chrome-devtools__resize_page","mcp__chrome-devtools__select_page","mcp__chrome-devtools__take_memory_snapshot","mcp__chrome-devtools__take_screenshot","mcp__chrome-devtools__take_snapshot","mcp__chrome-devtools__type_text","mcp__chrome-devtools__upload_file","mcp__chrome-devtools__wait_for","LSP"],"mcp_servers":[{"name":"chrome-devtools","status":"connected"},{"name":"claude.ai Google Calendar","status":"needs-auth"},{"name":"claude.ai Gmail","status":"needs-auth"}],"model":"claude-sonnet-4-6","permissionMode":"bypassPermissions","slash_commands":["update-config","debug","simplify","batch","loop","claude-api","test-driven-development","app-installer","release-notify-issues","cli-demo-recorder","readme-generator","compact","context","cost","heapdump","init","pr-comments","release-notes","review","security-review","extra-usage","insights"],"apiKeySource":"none","claude_code_version":"2.1.77","output_style":"default","agents":["general-purpose","statusline-setup","Explore","Plan","claude-code-guide"],"skills":["update-config","debug","simplify","batch","loop","claude-api","test-driven-development","app-installer","release-notify-issues","cli-demo-recorder","readme-generator"],"plugins":[{"name":"rust-analyzer-lsp","path":"~/.claude/plugins/rust-analyzer-lsp/1.0.0"}],"uuid":"d0d84da8-d65c-4697-bf3d-e036b46e5a7f","fast_mode_state":"off"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01MFjiAYcPYAFQCj2xd8R89a","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me search for issues in openclaw/openclaw mentioning 'rate limit' using the gh CLI.","signature":"Ev8BCkYICxgCKkAgAr7+G+RRZWsIb2r5mZL8ErcsISzvISHSYV5WD/7eGs5IDAb9Bywn8ngKam4gxsbiAV4pvPvJe89KaJzzw+wnEgy4mFIMRfNnqSzxmBIaDC8Trut7eUF4e5IDEyIw2mxaT8cb/dXXC7YubQaujqf5qtl+Py31fPkWaSKM4gLtDnrEndNNwyncMDKkXG81Kmemi/MiQ1uLdQP24Nhxz9ITmDVp804ri2NwY61WEWlcGVsC3AL7d0rbIPLgnR9uN7WHeqNPJeFG/6FcbktwQRejO36wODQnO6CBReDUIKvG155IrBKwo1QfDR2iptKHEiH+xcIEnvVwGAE="}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":7340,"cache_read_input_tokens":8598,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":7340},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"52192829-3b47-4088-b2f3-fb72f5740111"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01MFjiAYcPYAFQCj2xd8R89a","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_014KLoCWBfMgMbdeZGJHpbt2","name":"Bash","input":{"command":"gh issue list --repo openclaw/openclaw --search \"rate limit\" --state all --limit 100 --json number,title,state,assignees,createdAt 2>&1","description":"Search for issues mentioning 'rate limit' in openclaw/openclaw"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":7340,"cache_read_input_tokens":8598,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":7340},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"23c69873-f134-4e61-b0d7-fc8d0838dc27"}
{"type":"rate_limit_event","rate_limit_info":{"status":"allowed","resetsAt":1774126800,"rateLimitType":"five_hour","overageStatus":"rejected","overageDisabledReason":"org_level_disabled","isUsingOverage":false},"uuid":"d12abbb8-a362-4c83-8b30-f1391398a954","session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_014KLoCWBfMgMbdeZGJHpbt2","type":"tool_result","content":"[{\"assignees\":[],\"createdAt\":\"2026-03-05T03:04:08Z\",\"number\":35288,\"state\":\"OPEN\",\"title\":\"Built-in rate limit notifications\"},{\"assignees\":[],\"createdAt\":\"2026-03-20T02:33:51Z\",\"number\":50769,\"state\":\"OPEN\",\"title\":\"Rate Limit Request: Increase clawhub skill installation quota\"},{\"assignees\":[],\"createdAt\":\"2026-03-19T12:30:18Z\",\"number\":50421,\"state\":\"OPEN\",\"title\":\"Mid-conversation rate limits bypass model fallback (retry_limit return instead of FailoverError throw)\"},{\"assignees\":[],\"createdAt\":\"2026-03-17T01:03:44Z\",\"number\":48603,\"state\":\"OPEN\",\"title\":\"[Feature]:  API rate limit reached. Please try again later.\"},{\"assignees\":[],\"createdAt\":\"2026-03-16T20:48:23Z\",\"number\":48484,\"state\":\"OPEN\",\"title\":\"[Feature]: Expose Anthropic rate limit headers in session_status\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T18:41:34Z\",\"number\":24711,\"state\":\"OPEN\",\"title\":\"Feature: Cache keepalive pings during rate-limit cooldowns\"},{\"assignees\":[],\"createdAt\":\"2026-02-26T10:14:08Z\",\"number\":27423,\"state\":\"OPEN\",\"title\":\"Bug: Cache Usage Exceeds 100% Causing Rate Limit Errors\"},{\"assignees\":[],\"createdAt\":\"2026-03-19T20:54:03Z\",\"number\":50637,\"state\":\"OPEN\",\"title\":\"[Bug]: WS handshake rate-limiter bypassed by synthetic device identity field\"},{\"assignees\":[],\"createdAt\":\"2026-02-28T15:38:19Z\",\"number\":29854,\"state\":\"OPEN\",\"title\":\"Feature: configurable rate-limit cooldown backoff for auth profiles\"},{\"assignees\":[],\"createdAt\":\"2026-02-11T07:07:43Z\",\"number\":13923,\"state\":\"OPEN\",\"title\":\"[Feature]: Provider rate-limit / quota query tool\"},{\"assignees\":[],\"createdAt\":\"2026-03-10T17:29:08Z\",\"number\":42401,\"state\":\"OPEN\",\"title\":\"Feature: expose provider rate-limit headroom in models status / probe\"},{\"assignees\":[],\"createdAt\":\"2026-03-13T00:23:45Z\",\"number\":44477,\"state\":\"OPEN\",\"title\":\"Feature: Support multiple API keys per provider as rate limit backup\"},{\"assignees\":[],\"createdAt\":\"2026-02-02T07:30:37Z\",\"number\":6966,\"state\":\"OPEN\",\"title\":\"Dynamic Model Switching Based on API Rate Limits\"},{\"assignees\":[],\"createdAt\":\"2026-03-11T20:20:04Z\",\"number\":43447,\"state\":\"OPEN\",\"title\":\"Kimi/Moonshot 'Rate Limit' error masks insufficient funds, causes UI lockout\"},{\"assignees\":[],\"createdAt\":\"2026-02-21T00:36:11Z\",\"number\":22294,\"state\":\"OPEN\",\"title\":\"500/503 errors misclassified as rate_limit, triggering unnecessary cooldowns\"},{\"assignees\":[],\"createdAt\":\"2026-03-17T12:25:42Z\",\"number\":48988,\"state\":\"OPEN\",\"title\":\"[Bug]: Error masking + global circuit breaker causes total outage when any single provider fails\"},{\"assignees\":[],\"createdAt\":\"2026-02-21T13:39:15Z\",\"number\":22665,\"state\":\"OPEN\",\"title\":\"🐛 API errors (rate limit, usage limit) leak to user chats instead of being handled gracefully\"},{\"assignees\":[],\"createdAt\":\"2026-02-26T23:14:50Z\",\"number\":28019,\"state\":\"OPEN\",\"title\":\"[agents] Customizable error messages for rate limit / model failure responses\"},{\"assignees\":[],\"createdAt\":\"2026-03-20T05:31:37Z\",\"number\":50866,\"state\":\"OPEN\",\"title\":\"Telegram 429 rate limit causes crash spiral when multiple agents/crons post simultaneously\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T12:44:27Z\",\"number\":36119,\"state\":\"OPEN\",\"title\":\"Feature: Mid-run profile rotation on 429 + configurable rate limit cooldown\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T10:17:39Z\",\"number\":43932,\"state\":\"OPEN\",\"title\":\"Rate limit errors surfaced to chat should include model/provider/task context\"},{\"assignees\":[],\"createdAt\":\"2026-02-07T18:32:12Z\",\"number\":11352,\"state\":\"OPEN\",\"title\":\"Auth profile cooldown backoff too aggressive for transient rate limits\"},{\"assignees\":[],\"createdAt\":\"2026-02-20T19:16:27Z\",\"number\":22136,\"state\":\"OPEN\",\"title\":\"Fallback models not triggered when primary provider enters rate-limit cooldown\"},{\"assignees\":[],\"createdAt\":\"2026-03-01T05:34:03Z\",\"number\":30341,\"state\":\"OPEN\",\"title\":\"[Bug]: [Webchat] False rate limit error on Gemini fallback (refresh required)\"},{\"assignees\":[],\"createdAt\":\"2026-03-09T23:13:10Z\",\"number\":41515,\"state\":\"OPEN\",\"title\":\"Embedded runner reports 'API rate limit reached' when provider has full headroom\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T09:08:08Z\",\"number\":43879,\"state\":\"OPEN\",\"title\":\"[Bug]: Auth profile cooldown is per-profile, not per-model — rate limit on one model blocks fallback to models with available capacity\"},{\"assignees\":[],\"createdAt\":\"2026-03-07T21:24:41Z\",\"number\":39191,\"state\":\"OPEN\",\"title\":\"bug: synology-chat ignores SYNOLOGY_RATE_LIMIT=0 (parseInt || 30 truthy check)\"},{\"assignees\":[],\"createdAt\":\"2026-02-19T22:45:57Z\",\"number\":21414,\"state\":\"OPEN\",\"title\":\"[Feature]: Add hook for when a rate limit error occurs.\"},{\"assignees\":[],\"createdAt\":\"2026-03-07T12:46:41Z\",\"number\":38853,\"state\":\"OPEN\",\"title\":\"[Bug]: Discord channel reconnect loop triggers Cloudflare rate-limit ban (Error 1015)\"},{\"assignees\":[],\"createdAt\":\"2026-03-02T00:30:12Z\",\"number\":31101,\"state\":\"OPEN\",\"title\":\"[Bug]: Telegram partial message spam loop when API rate limit / model fallback\"},{\"assignees\":[],\"createdAt\":\"2026-02-27T17:30:01Z\",\"number\":28997,\"state\":\"OPEN\",\"title\":\"Control UI webchat loses auth token on WebSocket reconnect, triggers rate limiter\"},{\"assignees\":[],\"createdAt\":\"2026-02-21T00:08:35Z\",\"number\":22282,\"state\":\"OPEN\",\"title\":\"feat: Proactive model fallback based on rate limit headers (preemptive 429 avoidance)\"},{\"assignees\":[],\"createdAt\":\"2026-03-03T10:27:29Z\",\"number\":32887,\"state\":\"OPEN\",\"title\":\"fix(discord): chunked message sends silently drop on rate-limit mid-sequence\"},{\"assignees\":[],\"createdAt\":\"2026-02-19T13:16:16Z\",\"number\":20939,\"state\":\"OPEN\",\"title\":\"sessions_send fails or times out after model fallback on rate limit\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T07:08:20Z\",\"number\":35647,\"state\":\"OPEN\",\"title\":\"[Feature]: web_search provider fallback chain (auto-switch on quota/rate-limit errors)\"},{\"assignees\":[],\"createdAt\":\"2026-03-01T17:10:34Z\",\"number\":30828,\"state\":\"OPEN\",\"title\":\"[Feature]: Rate limit models by tokens per interval and requests per interval\"},{\"assignees\":[],\"createdAt\":\"2026-03-09T22:39:12Z\",\"number\":41492,\"state\":\"OPEN\",\"title\":\"Regression: Google 429 still kills fallback chain on v2026.3.8 (originally #13623)\"},{\"assignees\":[],\"createdAt\":\"2026-03-19T11:21:35Z\",\"number\":50389,\"state\":\"OPEN\",\"title\":\"Interactive TUI sessions do not auto-failover on rate_limit; error surfaced to user instead\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T13:03:43Z\",\"number\":49811,\"state\":\"OPEN\",\"title\":\"[Bug] Rate limit 错误未触发快速 failover，导致 10 分钟超时阻塞\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T12:55:31Z\",\"number\":36142,\"state\":\"OPEN\",\"title\":\"Silent empty response when LLM rate limit hits mid-turn (after tool calls)\"},{\"assignees\":[],\"createdAt\":\"2026-02-06T06:13:46Z\",\"number\":10166,\"state\":\"OPEN\",\"title\":\"Feature: API rate limit handling (HTTP 429 backoff + load balancing)\"},{\"assignees\":[],\"createdAt\":\"2026-03-16T01:06:00Z\",\"number\":47720,\"state\":\"OPEN\",\"title\":\"[Bug]: HTTP 401/403 misclassified as rate_limit with exponential cooldown — no self-recovery path\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T19:06:12Z\",\"number\":44332,\"state\":\"OPEN\",\"title\":\"Model failover: cooldown blocks different models on same provider (per-profile vs per-model)\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T11:07:34Z\",\"number\":24424,\"state\":\"OPEN\",\"title\":\"[Feature]: Self-healing for rate-limit failover, missing deps, and stale workspace files\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T01:42:03Z\",\"number\":24064,\"state\":\"OPEN\",\"title\":\"Model fallback did not trigger on rate limit (429) or auth error (401)\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T05:14:37Z\",\"number\":49491,\"state\":\"OPEN\",\"title\":\"[Bug]: OAuth model failover error surfaces to UI even when fallback succeeds — ChatGPT Plus cap misidentified as API rate limit\"},{\"assignees\":[],\"createdAt\":\"2026-03-01T06:25:56Z\",\"number\":30374,\"state\":\"OPEN\",\"title\":\"Model failover never triggers for AWS Bedrock (aws-sdk auth) on rate limit\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T04:02:04Z\",\"number\":43658,\"state\":\"OPEN\",\"title\":\"GitHub Copilot auth profile rotation ineffective — all profiles share single cached API token\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T23:08:14Z\",\"number\":26936,\"state\":\"OPEN\",\"title\":\"Bug: orphan tool_use persisted to session .jsonl after rate limit retry exhaustion\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T22:06:13Z\",\"number\":24839,\"state\":\"OPEN\",\"title\":\"[Bug]: after updating to 2026.2.22-2 all models break\"},{\"assignees\":[],\"createdAt\":\"2026-02-15T00:29:32Z\",\"number\":16665,\"state\":\"OPEN\",\"title\":\"[Feature]: Detect soft rate-limit messages returned as 200 OK content and trigger fallback\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T15:00:47Z\",\"number\":26598,\"state\":\"OPEN\",\"title\":\"[Bug]: Compaction-written providerOverride in sessions.json bypasses fallback chain on provider rate limit\"},{\"assignees\":[],\"createdAt\":\"2026-02-27T14:48:18Z\",\"number\":28814,\"state\":\"OPEN\",\"title\":\"[Feature]: Default Cron Job Staggering to Avoid Rate Limits at :00 hourly time\"},{\"assignees\":[],\"createdAt\":\"2026-03-03T23:39:42Z\",\"number\":33628,\"state\":\"OPEN\",\"title\":\"Live usage tracking for all rate-limited models\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T06:53:03Z\",\"number\":43767,\"state\":\"OPEN\",\"title\":\"[Bug]: Heartbeat ignores lightContext: true, loads full agent context + unbounded session history\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T03:03:56Z\",\"number\":35287,\"state\":\"OPEN\",\"title\":\"Configurable provider cooldown / fail-fast mode on 429s\"},{\"assignees\":[],\"createdAt\":\"2026-02-12T01:27:13Z\",\"number\":14376,\"state\":\"OPEN\",\"title\":\"Feature: Reason-aware cron guardrails (quota/auth/rate-limit aware backoff + circuit breaker)\"},{\"assignees\":[],\"createdAt\":\"2026-02-26T05:20:13Z\",\"number\":27213,\"state\":\"OPEN\",\"title\":\"Feature Request: Rate Limiting for OpenClaw Sessions\"},{\"assignees\":[],\"createdAt\":\"2026-02-26T02:33:35Z\",\"number\":27054,\"state\":\"OPEN\",\"title\":\"Feature Request: Queue flush/clear command\"},{\"assignees\":[],\"createdAt\":\"2026-02-10T18:59:51Z\",\"number\":13615,\"state\":\"OPEN\",\"title\":\"Add rate limiting and throttling for external API calls\"},{\"assignees\":[],\"createdAt\":\"2026-03-08T21:10:40Z\",\"number\":40263,\"state\":\"OPEN\",\"title\":\"[Bug]: Isolated cron sessions that hit 429 rate limit die silently — no alert, no retry\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T17:46:04Z\",\"number\":36518,\"state\":\"OPEN\",\"title\":\"Bug: subagent failure surfaces as generic 'Subagent failed' without actionable reason\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T04:25:51Z\",\"number\":26103,\"state\":\"OPEN\",\"title\":\"[Bug] Google Gemini Provider: 429 Rate Limit Blocks Entire Provider Instead of Specific Model\"},{\"assignees\":[],\"createdAt\":\"2026-03-06T09:15:08Z\",\"number\":37544,\"state\":\"OPEN\",\"title\":\"Slack message tool: agent loops on message_not_found / fileId errors, burns API quota\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T23:10:32Z\",\"number\":24865,\"state\":\"OPEN\",\"title\":\"Feature: Show rate limit / usage state for ALL configured auth profiles in a single view\"},{\"assignees\":[],\"createdAt\":\"2026-03-07T19:53:03Z\",\"number\":39142,\"state\":\"OPEN\",\"title\":\"Configurable user-facing message when all models are exhausted\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T03:04:23Z\",\"number\":35289,\"state\":\"OPEN\",\"title\":\"Slug-gen model override (avoid burning primary model RPM on slug generation)\"},{\"assignees\":[],\"createdAt\":\"2026-03-02T13:44:11Z\",\"number\":31733,\"state\":\"OPEN\",\"title\":\"Slack: users.list rate-limit loop on large workspaces when dmPolicy uses ID-based allowlist\"},{\"assignees\":[],\"createdAt\":\"2026-03-13T17:42:11Z\",\"number\":45341,\"state\":\"OPEN\",\"title\":\"[Bug]: \\\"API rate limit reached\\\" on every message despite Groq API working fine via curl from container\"},{\"assignees\":[],\"createdAt\":\"2026-03-06T21:03:34Z\",\"number\":38335,\"state\":\"OPEN\",\"title\":\"Auth profile failover: no retry/backoff for recovered profiles\"},{\"assignees\":[],\"createdAt\":\"2026-02-27T17:40:43Z\",\"number\":29007,\"state\":\"OPEN\",\"title\":\"[Bug]: Failover doesn’t switch providers when primary/fallback share same model slug  (openai-codex/gpt-5.3-codex →  openai/gpt-5.3-codex)\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T02:30:28Z\",\"number\":49381,\"state\":\"OPEN\",\"title\":\"Feishu: duplicate final replies can occur after model failover from rate-limited primary\"},{\"assignees\":[],\"createdAt\":\"2026-02-28T19:25:11Z\",\"number\":30030,\"state\":\"OPEN\",\"title\":\"Anthropic API key fallback not triggered when subscription hits rate limit — both providers share cooldown bucket\"},{\"assignees\":[],\"createdAt\":\"2026-03-15T15:32:45Z\",\"number\":47434,\"state\":\"OPEN\",\"title\":\"Feature Request: Add model fallback/autofailover support\"},{\"assignees\":[],\"createdAt\":\"2026-02-28T20:52:23Z\",\"number\":30067,\"state\":\"OPEN\",\"title\":\"[Feature]: Initial Setup Heads-Up Notification\"},{\"assignees\":[],\"createdAt\":\"2026-03-10T18:03:02Z\",\"number\":42423,\"state\":\"OPEN\",\"title\":\"Feature Request: Improved Model Fallback Strategy with Auto-Recovery\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T09:08:16Z\",\"number\":26329,\"state\":\"OPEN\",\"title\":\"[Bug]: \\\"Provider openai-codex is in cooldown (all profiles unavailable) (rate_limit).\\\" error deletes the most recent sent user message from the memory.\"},{\"assignees\":[],\"createdAt\":\"2026-03-02T12:13:57Z\",\"number\":31664,\"state\":\"OPEN\",\"title\":\"bug: agent runner stalls silently on rate limit / model switch mid-stream (attempt.ts race condition)\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T10:21:08Z\",\"number\":43933,\"state\":\"OPEN\",\"title\":\"Feature request: Circuit breaker for channel retry storms\"},{\"assignees\":[],\"createdAt\":\"2026-03-09T17:28:42Z\",\"number\":41301,\"state\":\"OPEN\",\"title\":\"Feature request: Include model name in agent/embedded error logs\"},{\"assignees\":[],\"createdAt\":\"2026-02-18T20:51:57Z\",\"number\":20373,\"state\":\"OPEN\",\"title\":\"Feature: Gateway rate limiting and security headers\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T16:31:26Z\",\"number\":26680,\"state\":\"OPEN\",\"title\":\"[Bug]: Model fallback chain doesn't reach cross-provider fallbacks when provider-wide cooldown is active during session override\"},{\"assignees\":[],\"createdAt\":\"2026-02-20T08:38:16Z\",\"number\":21717,\"state\":\"OPEN\",\"title\":\"[Bug]: Mid-session cross-provider fallback causes history corruption + unsafe switchback\"},{\"assignees\":[],\"createdAt\":\"2026-02-11T17:54:34Z\",\"number\":14210,\"state\":\"OPEN\",\"title\":\"Add outbound message hook (message:sent) OR error suppression for provider overload/rate_limit\"},{\"assignees\":[],\"createdAt\":\"2026-03-02T03:30:39Z\",\"number\":31234,\"state\":\"OPEN\",\"title\":\"[Bug]: z.ai provider returns API limit/usage error for every request (started ~24h ago)\"},{\"assignees\":[],\"createdAt\":\"2026-03-03T15:19:13Z\",\"number\":33165,\"state\":\"OPEN\",\"title\":\"Feature: Send user notification when all failover models are exhausted (FailoverError)\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T08:31:26Z\",\"number\":49645,\"state\":\"OPEN\",\"title\":\"[Bug]: Agent reply silently dropped when 429 rate-limit error occurs at final model call — retry runs outside session lifecycle\"},{\"assignees\":[],\"createdAt\":\"2026-02-22T06:14:06Z\",\"number\":23317,\"state\":\"OPEN\",\"title\":\"Timeout-driven auth rotation/cooldown on timeouts causes premature provider fallback (proposal: retry/backoff same profile)\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T18:07:00Z\",\"number\":44294,\"state\":\"OPEN\",\"title\":\"Preserve structured ACP backend error kinds instead of mapping all errors to `end_turn`\"},{\"assignees\":[],\"createdAt\":\"2026-02-20T23:27:35Z\",\"number\":22264,\"state\":\"OPEN\",\"title\":\"[Bug]: Shared Copilot API token cache causes wrong-account token to be used with multiple GitHub Copilot profiles\"},{\"assignees\":[],\"createdAt\":\"2026-02-19T00:47:10Z\",\"number\":20483,\"state\":\"OPEN\",\"title\":\"Feature: per-profile fallback ordering + rotation delay between auth profiles\"},{\"assignees\":[],\"createdAt\":\"2026-03-17T14:50:34Z\",\"number\":49077,\"state\":\"OPEN\",\"title\":\"Feature Request: Add configurable delay between API requests\"},{\"assignees\":[],\"createdAt\":\"2026-03-08T21:58:53Z\",\"number\":40294,\"state\":\"OPEN\",\"title\":\"[Feature]: Per-agent auth profile binding for multi-account setups\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T09:36:22Z\",\"number\":49706,\"state\":\"OPEN\",\"title\":\"Failover not triggered for Anthropic generic 'An unknown error occurred' responses\"},{\"assignees\":[],\"createdAt\":\"2026-03-19T20:27:10Z\",\"number\":50619,\"state\":\"OPEN\",\"title\":\"Feature: /model switch should check context size against target model limits\"},{\"assignees\":[],\"createdAt\":\"2026-02-27T22:11:47Z\",\"number\":29167,\"state\":\"OPEN\",\"title\":\"Feature request: suppress API error messages in group chats\"},{\"assignees\":[],\"createdAt\":\"2026-03-01T03:35:08Z\",\"number\":30262,\"state\":\"OPEN\",\"title\":\"Surface actionable error context on LLM provider timeouts instead of generic 'Request timed out'\"},{\"assignees\":[],\"createdAt\":\"2026-02-18T11:01:34Z\",\"number\":19982,\"state\":\"OPEN\",\"title\":\"Bug: Telegram messages replaced on model failures\"},{\"assignees\":[],\"createdAt\":\"2026-02-05T18:21:52Z\",\"number\":9812,\"state\":\"OPEN\",\"title\":\"Feature: Agent-Level Rate Limiting Support\"},{\"assignees\":[],\"createdAt\":\"2026-02-22T06:35:30Z\",\"number\":23327,\"state\":\"OPEN\",\"title\":\"Feature Request: Announce automatic model failover in chat with context\"}]","is_error":false}]},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"4528a65a-04cb-4fb6-8d21-b3b54e864bb1","timestamp":"2026-03-21T18:45:03.243Z","tool_use_result":{"stdout":"[{\"assignees\":[],\"createdAt\":\"2026-03-05T03:04:08Z\",\"number\":35288,\"state\":\"OPEN\",\"title\":\"Built-in rate limit notifications\"},{\"assignees\":[],\"createdAt\":\"2026-03-20T02:33:51Z\",\"number\":50769,\"state\":\"OPEN\",\"title\":\"Rate Limit Request: Increase clawhub skill installation quota\"},{\"assignees\":[],\"createdAt\":\"2026-03-19T12:30:18Z\",\"number\":50421,\"state\":\"OPEN\",\"title\":\"Mid-conversation rate limits bypass model fallback (retry_limit return instead of FailoverError throw)\"},{\"assignees\":[],\"createdAt\":\"2026-03-17T01:03:44Z\",\"number\":48603,\"state\":\"OPEN\",\"title\":\"[Feature]:  API rate limit reached. Please try again later.\"},{\"assignees\":[],\"createdAt\":\"2026-03-16T20:48:23Z\",\"number\":48484,\"state\":\"OPEN\",\"title\":\"[Feature]: Expose Anthropic rate limit headers in session_status\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T18:41:34Z\",\"number\":24711,\"state\":\"OPEN\",\"title\":\"Feature: Cache keepalive pings during rate-limit cooldowns\"},{\"assignees\":[],\"createdAt\":\"2026-02-26T10:14:08Z\",\"number\":27423,\"state\":\"OPEN\",\"title\":\"Bug: Cache Usage Exceeds 100% Causing Rate Limit Errors\"},{\"assignees\":[],\"createdAt\":\"2026-03-19T20:54:03Z\",\"number\":50637,\"state\":\"OPEN\",\"title\":\"[Bug]: WS handshake rate-limiter bypassed by synthetic device identity field\"},{\"assignees\":[],\"createdAt\":\"2026-02-28T15:38:19Z\",\"number\":29854,\"state\":\"OPEN\",\"title\":\"Feature: configurable rate-limit cooldown backoff for auth profiles\"},{\"assignees\":[],\"createdAt\":\"2026-02-11T07:07:43Z\",\"number\":13923,\"state\":\"OPEN\",\"title\":\"[Feature]: Provider rate-limit / quota query tool\"},{\"assignees\":[],\"createdAt\":\"2026-03-10T17:29:08Z\",\"number\":42401,\"state\":\"OPEN\",\"title\":\"Feature: expose provider rate-limit headroom in models status / probe\"},{\"assignees\":[],\"createdAt\":\"2026-03-13T00:23:45Z\",\"number\":44477,\"state\":\"OPEN\",\"title\":\"Feature: Support multiple API keys per provider as rate limit backup\"},{\"assignees\":[],\"createdAt\":\"2026-02-02T07:30:37Z\",\"number\":6966,\"state\":\"OPEN\",\"title\":\"Dynamic Model Switching Based on API Rate Limits\"},{\"assignees\":[],\"createdAt\":\"2026-03-11T20:20:04Z\",\"number\":43447,\"state\":\"OPEN\",\"title\":\"Kimi/Moonshot 'Rate Limit' error masks insufficient funds, causes UI lockout\"},{\"assignees\":[],\"createdAt\":\"2026-02-21T00:36:11Z\",\"number\":22294,\"state\":\"OPEN\",\"title\":\"500/503 errors misclassified as rate_limit, triggering unnecessary cooldowns\"},{\"assignees\":[],\"createdAt\":\"2026-03-17T12:25:42Z\",\"number\":48988,\"state\":\"OPEN\",\"title\":\"[Bug]: Error masking + global circuit breaker causes total outage when any single provider fails\"},{\"assignees\":[],\"createdAt\":\"2026-02-21T13:39:15Z\",\"number\":22665,\"state\":\"OPEN\",\"title\":\"🐛 API errors (rate limit, usage limit) leak to user chats instead of being handled gracefully\"},{\"assignees\":[],\"createdAt\":\"2026-02-26T23:14:50Z\",\"number\":28019,\"state\":\"OPEN\",\"title\":\"[agents] Customizable error messages for rate limit / model failure responses\"},{\"assignees\":[],\"createdAt\":\"2026-03-20T05:31:37Z\",\"number\":50866,\"state\":\"OPEN\",\"title\":\"Telegram 429 rate limit causes crash spiral when multiple agents/crons post simultaneously\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T12:44:27Z\",\"number\":36119,\"state\":\"OPEN\",\"title\":\"Feature: Mid-run profile rotation on 429 + configurable rate limit cooldown\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T10:17:39Z\",\"number\":43932,\"state\":\"OPEN\",\"title\":\"Rate limit errors surfaced to chat should include model/provider/task context\"},{\"assignees\":[],\"createdAt\":\"2026-02-07T18:32:12Z\",\"number\":11352,\"state\":\"OPEN\",\"title\":\"Auth profile cooldown backoff too aggressive for transient rate limits\"},{\"assignees\":[],\"createdAt\":\"2026-02-20T19:16:27Z\",\"number\":22136,\"state\":\"OPEN\",\"title\":\"Fallback models not triggered when primary provider enters rate-limit cooldown\"},{\"assignees\":[],\"createdAt\":\"2026-03-01T05:34:03Z\",\"number\":30341,\"state\":\"OPEN\",\"title\":\"[Bug]: [Webchat] False rate limit error on Gemini fallback (refresh required)\"},{\"assignees\":[],\"createdAt\":\"2026-03-09T23:13:10Z\",\"number\":41515,\"state\":\"OPEN\",\"title\":\"Embedded runner reports 'API rate limit reached' when provider has full headroom\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T09:08:08Z\",\"number\":43879,\"state\":\"OPEN\",\"title\":\"[Bug]: Auth profile cooldown is per-profile, not per-model — rate limit on one model blocks fallback to models with available capacity\"},{\"assignees\":[],\"createdAt\":\"2026-03-07T21:24:41Z\",\"number\":39191,\"state\":\"OPEN\",\"title\":\"bug: synology-chat ignores SYNOLOGY_RATE_LIMIT=0 (parseInt || 30 truthy check)\"},{\"assignees\":[],\"createdAt\":\"2026-02-19T22:45:57Z\",\"number\":21414,\"state\":\"OPEN\",\"title\":\"[Feature]: Add hook for when a rate limit error occurs.\"},{\"assignees\":[],\"createdAt\":\"2026-03-07T12:46:41Z\",\"number\":38853,\"state\":\"OPEN\",\"title\":\"[Bug]: Discord channel reconnect loop triggers Cloudflare rate-limit ban (Error 1015)\"},{\"assignees\":[],\"createdAt\":\"2026-03-02T00:30:12Z\",\"number\":31101,\"state\":\"OPEN\",\"title\":\"[Bug]: Telegram partial message spam loop when API rate limit / model fallback\"},{\"assignees\":[],\"createdAt\":\"2026-02-27T17:30:01Z\",\"number\":28997,\"state\":\"OPEN\",\"title\":\"Control UI webchat loses auth token on WebSocket reconnect, triggers rate limiter\"},{\"assignees\":[],\"createdAt\":\"2026-02-21T00:08:35Z\",\"number\":22282,\"state\":\"OPEN\",\"title\":\"feat: Proactive model fallback based on rate limit headers (preemptive 429 avoidance)\"},{\"assignees\":[],\"createdAt\":\"2026-03-03T10:27:29Z\",\"number\":32887,\"state\":\"OPEN\",\"title\":\"fix(discord): chunked message sends silently drop on rate-limit mid-sequence\"},{\"assignees\":[],\"createdAt\":\"2026-02-19T13:16:16Z\",\"number\":20939,\"state\":\"OPEN\",\"title\":\"sessions_send fails or times out after model fallback on rate limit\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T07:08:20Z\",\"number\":35647,\"state\":\"OPEN\",\"title\":\"[Feature]: web_search provider fallback chain (auto-switch on quota/rate-limit errors)\"},{\"assignees\":[],\"createdAt\":\"2026-03-01T17:10:34Z\",\"number\":30828,\"state\":\"OPEN\",\"title\":\"[Feature]: Rate limit models by tokens per interval and requests per interval\"},{\"assignees\":[],\"createdAt\":\"2026-03-09T22:39:12Z\",\"number\":41492,\"state\":\"OPEN\",\"title\":\"Regression: Google 429 still kills fallback chain on v2026.3.8 (originally #13623)\"},{\"assignees\":[],\"createdAt\":\"2026-03-19T11:21:35Z\",\"number\":50389,\"state\":\"OPEN\",\"title\":\"Interactive TUI sessions do not auto-failover on rate_limit; error surfaced to user instead\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T13:03:43Z\",\"number\":49811,\"state\":\"OPEN\",\"title\":\"[Bug] Rate limit 错误未触发快速 failover，导致 10 分钟超时阻塞\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T12:55:31Z\",\"number\":36142,\"state\":\"OPEN\",\"title\":\"Silent empty response when LLM rate limit hits mid-turn (after tool calls)\"},{\"assignees\":[],\"createdAt\":\"2026-02-06T06:13:46Z\",\"number\":10166,\"state\":\"OPEN\",\"title\":\"Feature: API rate limit handling (HTTP 429 backoff + load balancing)\"},{\"assignees\":[],\"createdAt\":\"2026-03-16T01:06:00Z\",\"number\":47720,\"state\":\"OPEN\",\"title\":\"[Bug]: HTTP 401/403 misclassified as rate_limit with exponential cooldown — no self-recovery path\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T19:06:12Z\",\"number\":44332,\"state\":\"OPEN\",\"title\":\"Model failover: cooldown blocks different models on same provider (per-profile vs per-model)\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T11:07:34Z\",\"number\":24424,\"state\":\"OPEN\",\"title\":\"[Feature]: Self-healing for rate-limit failover, missing deps, and stale workspace files\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T01:42:03Z\",\"number\":24064,\"state\":\"OPEN\",\"title\":\"Model fallback did not trigger on rate limit (429) or auth error (401)\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T05:14:37Z\",\"number\":49491,\"state\":\"OPEN\",\"title\":\"[Bug]: OAuth model failover error surfaces to UI even when fallback succeeds — ChatGPT Plus cap misidentified as API rate limit\"},{\"assignees\":[],\"createdAt\":\"2026-03-01T06:25:56Z\",\"number\":30374,\"state\":\"OPEN\",\"title\":\"Model failover never triggers for AWS Bedrock (aws-sdk auth) on rate limit\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T04:02:04Z\",\"number\":43658,\"state\":\"OPEN\",\"title\":\"GitHub Copilot auth profile rotation ineffective — all profiles share single cached API token\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T23:08:14Z\",\"number\":26936,\"state\":\"OPEN\",\"title\":\"Bug: orphan tool_use persisted to session .jsonl after rate limit retry exhaustion\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T22:06:13Z\",\"number\":24839,\"state\":\"OPEN\",\"title\":\"[Bug]: after updating to 2026.2.22-2 all models break\"},{\"assignees\":[],\"createdAt\":\"2026-02-15T00:29:32Z\",\"number\":16665,\"state\":\"OPEN\",\"title\":\"[Feature]: Detect soft rate-limit messages returned as 200 OK content and trigger fallback\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T15:00:47Z\",\"number\":26598,\"state\":\"OPEN\",\"title\":\"[Bug]: Compaction-written providerOverride in sessions.json bypasses fallback chain on provider rate limit\"},{\"assignees\":[],\"createdAt\":\"2026-02-27T14:48:18Z\",\"number\":28814,\"state\":\"OPEN\",\"title\":\"[Feature]: Default Cron Job Staggering to Avoid Rate Limits at :00 hourly time\"},{\"assignees\":[],\"createdAt\":\"2026-03-03T23:39:42Z\",\"number\":33628,\"state\":\"OPEN\",\"title\":\"Live usage tracking for all rate-limited models\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T06:53:03Z\",\"number\":43767,\"state\":\"OPEN\",\"title\":\"[Bug]: Heartbeat ignores lightContext: true, loads full agent context + unbounded session history\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T03:03:56Z\",\"number\":35287,\"state\":\"OPEN\",\"title\":\"Configurable provider cooldown / fail-fast mode on 429s\"},{\"assignees\":[],\"createdAt\":\"2026-02-12T01:27:13Z\",\"number\":14376,\"state\":\"OPEN\",\"title\":\"Feature: Reason-aware cron guardrails (quota/auth/rate-limit aware backoff + circuit breaker)\"},{\"assignees\":[],\"createdAt\":\"2026-02-26T05:20:13Z\",\"number\":27213,\"state\":\"OPEN\",\"title\":\"Feature Request: Rate Limiting for OpenClaw Sessions\"},{\"assignees\":[],\"createdAt\":\"2026-02-26T02:33:35Z\",\"number\":27054,\"state\":\"OPEN\",\"title\":\"Feature Request: Queue flush/clear command\"},{\"assignees\":[],\"createdAt\":\"2026-02-10T18:59:51Z\",\"number\":13615,\"state\":\"OPEN\",\"title\":\"Add rate limiting and throttling for external API calls\"},{\"assignees\":[],\"createdAt\":\"2026-03-08T21:10:40Z\",\"number\":40263,\"state\":\"OPEN\",\"title\":\"[Bug]: Isolated cron sessions that hit 429 rate limit die silently — no alert, no retry\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T17:46:04Z\",\"number\":36518,\"state\":\"OPEN\",\"title\":\"Bug: subagent failure surfaces as generic 'Subagent failed' without actionable reason\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T04:25:51Z\",\"number\":26103,\"state\":\"OPEN\",\"title\":\"[Bug] Google Gemini Provider: 429 Rate Limit Blocks Entire Provider Instead of Specific Model\"},{\"assignees\":[],\"createdAt\":\"2026-03-06T09:15:08Z\",\"number\":37544,\"state\":\"OPEN\",\"title\":\"Slack message tool: agent loops on message_not_found / fileId errors, burns API quota\"},{\"assignees\":[],\"createdAt\":\"2026-02-23T23:10:32Z\",\"number\":24865,\"state\":\"OPEN\",\"title\":\"Feature: Show rate limit / usage state for ALL configured auth profiles in a single view\"},{\"assignees\":[],\"createdAt\":\"2026-03-07T19:53:03Z\",\"number\":39142,\"state\":\"OPEN\",\"title\":\"Configurable user-facing message when all models are exhausted\"},{\"assignees\":[],\"createdAt\":\"2026-03-05T03:04:23Z\",\"number\":35289,\"state\":\"OPEN\",\"title\":\"Slug-gen model override (avoid burning primary model RPM on slug generation)\"},{\"assignees\":[],\"createdAt\":\"2026-03-02T13:44:11Z\",\"number\":31733,\"state\":\"OPEN\",\"title\":\"Slack: users.list rate-limit loop on large workspaces when dmPolicy uses ID-based allowlist\"},{\"assignees\":[],\"createdAt\":\"2026-03-13T17:42:11Z\",\"number\":45341,\"state\":\"OPEN\",\"title\":\"[Bug]: \\\"API rate limit reached\\\" on every message despite Groq API working fine via curl from container\"},{\"assignees\":[],\"createdAt\":\"2026-03-06T21:03:34Z\",\"number\":38335,\"state\":\"OPEN\",\"title\":\"Auth profile failover: no retry/backoff for recovered profiles\"},{\"assignees\":[],\"createdAt\":\"2026-02-27T17:40:43Z\",\"number\":29007,\"state\":\"OPEN\",\"title\":\"[Bug]: Failover doesn’t switch providers when primary/fallback share same model slug  (openai-codex/gpt-5.3-codex →  openai/gpt-5.3-codex)\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T02:30:28Z\",\"number\":49381,\"state\":\"OPEN\",\"title\":\"Feishu: duplicate final replies can occur after model failover from rate-limited primary\"},{\"assignees\":[],\"createdAt\":\"2026-02-28T19:25:11Z\",\"number\":30030,\"state\":\"OPEN\",\"title\":\"Anthropic API key fallback not triggered when subscription hits rate limit — both providers share cooldown bucket\"},{\"assignees\":[],\"createdAt\":\"2026-03-15T15:32:45Z\",\"number\":47434,\"state\":\"OPEN\",\"title\":\"Feature Request: Add model fallback/autofailover support\"},{\"assignees\":[],\"createdAt\":\"2026-02-28T20:52:23Z\",\"number\":30067,\"state\":\"OPEN\",\"title\":\"[Feature]: Initial Setup Heads-Up Notification\"},{\"assignees\":[],\"createdAt\":\"2026-03-10T18:03:02Z\",\"number\":42423,\"state\":\"OPEN\",\"title\":\"Feature Request: Improved Model Fallback Strategy with Auto-Recovery\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T09:08:16Z\",\"number\":26329,\"state\":\"OPEN\",\"title\":\"[Bug]: \\\"Provider openai-codex is in cooldown (all profiles unavailable) (rate_limit).\\\" error deletes the most recent sent user message from the memory.\"},{\"assignees\":[],\"createdAt\":\"2026-03-02T12:13:57Z\",\"number\":31664,\"state\":\"OPEN\",\"title\":\"bug: agent runner stalls silently on rate limit / model switch mid-stream (attempt.ts race condition)\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T10:21:08Z\",\"number\":43933,\"state\":\"OPEN\",\"title\":\"Feature request: Circuit breaker for channel retry storms\"},{\"assignees\":[],\"createdAt\":\"2026-03-09T17:28:42Z\",\"number\":41301,\"state\":\"OPEN\",\"title\":\"Feature request: Include model name in agent/embedded error logs\"},{\"assignees\":[],\"createdAt\":\"2026-02-18T20:51:57Z\",\"number\":20373,\"state\":\"OPEN\",\"title\":\"Feature: Gateway rate limiting and security headers\"},{\"assignees\":[],\"createdAt\":\"2026-02-25T16:31:26Z\",\"number\":26680,\"state\":\"OPEN\",\"title\":\"[Bug]: Model fallback chain doesn't reach cross-provider fallbacks when provider-wide cooldown is active during session override\"},{\"assignees\":[],\"createdAt\":\"2026-02-20T08:38:16Z\",\"number\":21717,\"state\":\"OPEN\",\"title\":\"[Bug]: Mid-session cross-provider fallback causes history corruption + unsafe switchback\"},{\"assignees\":[],\"createdAt\":\"2026-02-11T17:54:34Z\",\"number\":14210,\"state\":\"OPEN\",\"title\":\"Add outbound message hook (message:sent) OR error suppression for provider overload/rate_limit\"},{\"assignees\":[],\"createdAt\":\"2026-03-02T03:30:39Z\",\"number\":31234,\"state\":\"OPEN\",\"title\":\"[Bug]: z.ai provider returns API limit/usage error for every request (started ~24h ago)\"},{\"assignees\":[],\"createdAt\":\"2026-03-03T15:19:13Z\",\"number\":33165,\"state\":\"OPEN\",\"title\":\"Feature: Send user notification when all failover models are exhausted (FailoverError)\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T08:31:26Z\",\"number\":49645,\"state\":\"OPEN\",\"title\":\"[Bug]: Agent reply silently dropped when 429 rate-limit error occurs at final model call — retry runs outside session lifecycle\"},{\"assignees\":[],\"createdAt\":\"2026-02-22T06:14:06Z\",\"number\":23317,\"state\":\"OPEN\",\"title\":\"Timeout-driven auth rotation/cooldown on timeouts causes premature provider fallback (proposal: retry/backoff same profile)\"},{\"assignees\":[],\"createdAt\":\"2026-03-12T18:07:00Z\",\"number\":44294,\"state\":\"OPEN\",\"title\":\"Preserve structured ACP backend error kinds instead of mapping all errors to `end_turn`\"},{\"assignees\":[],\"createdAt\":\"2026-02-20T23:27:35Z\",\"number\":22264,\"state\":\"OPEN\",\"title\":\"[Bug]: Shared Copilot API token cache causes wrong-account token to be used with multiple GitHub Copilot profiles\"},{\"assignees\":[],\"createdAt\":\"2026-02-19T00:47:10Z\",\"number\":20483,\"state\":\"OPEN\",\"title\":\"Feature: per-profile fallback ordering + rotation delay between auth profiles\"},{\"assignees\":[],\"createdAt\":\"2026-03-17T14:50:34Z\",\"number\":49077,\"state\":\"OPEN\",\"title\":\"Feature Request: Add configurable delay between API requests\"},{\"assignees\":[],\"createdAt\":\"2026-03-08T21:58:53Z\",\"number\":40294,\"state\":\"OPEN\",\"title\":\"[Feature]: Per-agent auth profile binding for multi-account setups\"},{\"assignees\":[],\"createdAt\":\"2026-03-18T09:36:22Z\",\"number\":49706,\"state\":\"OPEN\",\"title\":\"Failover not triggered for Anthropic generic 'An unknown error occurred' responses\"},{\"assignees\":[],\"createdAt\":\"2026-03-19T20:27:10Z\",\"number\":50619,\"state\":\"OPEN\",\"title\":\"Feature: /model switch should check context size against target model limits\"},{\"assignees\":[],\"createdAt\":\"2026-02-27T22:11:47Z\",\"number\":29167,\"state\":\"OPEN\",\"title\":\"Feature request: suppress API error messages in group chats\"},{\"assignees\":[],\"createdAt\":\"2026-03-01T03:35:08Z\",\"number\":30262,\"state\":\"OPEN\",\"title\":\"Surface actionable error context on LLM provider timeouts instead of generic 'Request timed out'\"},{\"assignees\":[],\"createdAt\":\"2026-02-18T11:01:34Z\",\"number\":19982,\"state\":\"OPEN\",\"title\":\"Bug: Telegram messages replaced on model failures\"},{\"assignees\":[],\"createdAt\":\"2026-02-05T18:21:52Z\",\"number\":9812,\"state\":\"OPEN\",\"title\":\"Feature: Agent-Level Rate Limiting Support\"},{\"assignees\":[],\"createdAt\":\"2026-02-22T06:35:30Z\",\"number\":23327,\"state\":\"OPEN\",\"title\":\"Feature Request: Announce automatic model failover in chat with context\"}]","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01MZrnYfszitRhxpfRfiLEv7","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"Let me count the results and identify the 5 most recent ones.\n\nTotal results: Let me count... I'll count them manually.\n\n1. #35288 - 2026-03-05\n2. #50769 - 2026-03-20\n3. #50421 - 2026-03-19\n4. #48603 - 2026-03-17\n5. #48484 - 2026-03-16\n6. #24711 - 2026-02-23\n7. #27423 - 2026-02-26\n8. #50637 - 2026-03-19\n\n\n9. #29854 - 2026-02-28\n10. #13923 - 2026-02-11\n11. #42401 - 2026-03-10\n12. #44477 - 2026-03-13\n13. #6966 - 2026-02-02\n14. #43447 - 2026-03-11\n15. #22294 - 2026-02-21\n16. #48988 - 2026-03-17\n17. #22665 - 2026-02-21\n18. #28019 - 2026-02-26\n\nNow I have the full list. Looking at all the dates, the five most recent entries are #50769 from March 20th, followed by #50421 and #50637 from March 19th, then #48603 and #48988 from March 17th. Continuing to tally through the rest of the entries in the array.","signature":" "}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":5747,"cache_read_input_tokens":15938,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":5747},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"0489fef1-b94a-4e37-9a5d-9eeb47441df2"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01MZrnYfszitRhxpfRfiLEv7","type":"message","role":"assistant","content":[{"type":"text","text":"I got 100 results (the limit I set). Let me check if there are more."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":5747,"cache_read_input_tokens":15938,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":5747},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"3499e619-a432-4361-8fd4-5c6ecd9b3479"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01MZrnYfszitRhxpfRfiLEv7","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_019YFWsQdz4S9mntDxUYg1vt","name":"Bash","input":{"command":"gh issue list --repo openclaw/openclaw --search \"rate limit\" --state all --limit 200 --json number 2>&1 | python3 -c \"import json,sys; data=json.load(sys.stdin); print(len(data))\"","description":"Count total issues matching 'rate limit'"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":5747,"cache_read_input_tokens":15938,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":5747},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"eef575e5-5651-43d5-8c0d-a5b66302fb66"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_019YFWsQdz4S9mntDxUYg1vt","type":"tool_result","content":"200","is_error":false}]},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"b0b52ab1-ac51-4c88-abff-2ad390aea108","timestamp":"2026-03-21T18:45:25.332Z","tool_use_result":{"stdout":"200","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01UdYtM769erDrjqcDWo27UA","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01KRJjUmSPiDuq91BEqHWDhH","name":"Bash","input":{"command":"gh issue list --repo openclaw/openclaw --search \"rate limit\" --state all --limit 500 --json number 2>&1 | python3 -c \"import json,sys; data=json.load(sys.stdin); print(len(data))\"","description":"Count total issues matching 'rate limit' with higher limit"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":1036,"cache_read_input_tokens":21685,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":1036},"output_tokens":22,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"d23c2775-fdbb-44fb-9928-2617b46120e4"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01KRJjUmSPiDuq91BEqHWDhH","type":"tool_result","content":"500","is_error":false}]},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"e842f492-45a9-45d6-9bdf-ac99e76cda77","timestamp":"2026-03-21T18:45:30.252Z","tool_use_result":{"stdout":"500","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01UMS5bgCunzQbyBSKtB3qbg","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01MMPCryCSdNUdZuiRAUVFFd","name":"Bash","input":{"command":"gh issue list --repo openclaw/openclaw --search \"rate limit\" --state all --limit 1000 --json number 2>&1 | python3 -c \"import json,sys; data=json.load(sys.stdin); print(len(data))\"","description":"Count total issues matching 'rate limit' with limit 1000"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":153,"cache_read_input_tokens":22721,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":153},"output_tokens":22,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"b77427fa-5fc4-4891-b0fd-e76018f8819c"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01MMPCryCSdNUdZuiRAUVFFd","type":"tool_result","content":"931","is_error":false}]},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"74d66d94-984a-4186-8658-177d46a392ae","timestamp":"2026-03-21T18:45:36.956Z","tool_use_result":{"stdout":"931","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01QKvHsJG6KQdKt7MjHJjYEK","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"So there are 931 total results. Now let me identify the 5 most recent ones. From the initial query with 100 results sorted by default (which seems to be by creation date descending or some relevance), let me get the top 5 most recent by createdAt.\n\nFrom the first query, the results don't appear to be sorted by date. Let me sort them and find the 5 most recent ones from the full set of 931.","signature":" "}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":156,"cache_read_input_tokens":22874,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":156},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"5a0f2d2d-0d48-4596-a8ca-75964ce239ab"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01QKvHsJG6KQdKt7MjHJjYEK","type":"message","role":"assistant","content":[{"type":"text","text":"Now let me get the 5 most recent by creation date from the full result set."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":156,"cache_read_input_tokens":22874,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":156},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"6a3503bd-2d9c-4cd5-88b5-8f562b37f8c5"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_01QKvHsJG6KQdKt7MjHJjYEK","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_014qs4bmQBsLaL6X7rKjE3Tt","name":"Bash","input":{"command":"gh issue list --repo openclaw/openclaw --search \"rate limit\" --state all --limit 1000 --json number,title,state,assignees,createdAt 2>&1 | python3 -c \"\nimport json, sys\ndata = json.load(sys.stdin)\nsorted_data = sorted(data, key=lambda x: x['createdAt'], reverse=True)\nfor issue in sorted_data[:5]:\n    has_assignee = len(issue['assignees']) > 0\n    print(f\\\"#{issue['number']} [{issue['state']}] {'Has assignee' if has_assignee else 'No assignee'} | {issue['createdAt'][:10]} | {issue['title']}\\\")\n\"","description":"Sort and show 5 most recent issues"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":156,"cache_read_input_tokens":22874,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":156},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"71cfb09c-cb88-4c94-9025-915ae49d6c95"}
{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_014qs4bmQBsLaL6X7rKjE3Tt","type":"tool_result","content":"#51767 [OPEN] No assignee | 2026-03-21 | sessionRetention does not apply to subagent sessions — only cron-run sessions are swept\n#51636 [OPEN] No assignee | 2026-03-21 | Discord WebSocket gateway disconnects every ~10 minutes (health-monitor restart loop)\n#51587 [OPEN] No assignee | 2026-03-21 | Bug: isRecurringTopOfHourCronExpr fails to match cron expressions with step values\n#51466 [OPEN] No assignee | 2026-03-21 | [Bug] Telegram /tts audio reaches TTS path but Edge provider times out; no voice note delivered on v2026.3.13\n#51383 [OPEN] No assignee | 2026-03-21 | Feature: Webchat project/thread system for parallel contexts","is_error":false}]},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"142c6e9c-2aab-406f-ac99-b53c2fca09a2","timestamp":"2026-03-21T18:45:50.053Z","tool_use_result":{"stdout":"#51767 [OPEN] No assignee | 2026-03-21 | sessionRetention does not apply to subagent sessions — only cron-run sessions are swept\n#51636 [OPEN] No assignee | 2026-03-21 | Discord WebSocket gateway disconnects every ~10 minutes (health-monitor restart loop)\n#51587 [OPEN] No assignee | 2026-03-21 | Bug: isRecurringTopOfHourCronExpr fails to match cron expressions with step values\n#51466 [OPEN] No assignee | 2026-03-21 | [Bug] Telegram /tts audio reaches TTS path but Edge provider times out; no voice note delivered on v2026.3.13\n#51383 [OPEN] No assignee | 2026-03-21 | Feature: Webchat project/thread system for parallel contexts","stderr":"","interrupted":false,"isImage":false,"noOutputExpected":false}}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_015JaE6vQxStAUgWkvCK5d9X","type":"message","role":"assistant","content":[{"type":"thinking","thinking":"There are 931 total results. The 5 most recent are all from 2026-03-21. None of them have assignees.\n\nLet me report the findings to the user.","signature":"ErQCCkYICxgCKkCOX6Jn7R0NRayKqBwIjJ+FgZEbe+a2aTP4OF8vG5ELOyDSqBaPrdWOguHJYQfMB5QC8K9T4D/72RkiYH5VYCdlEgwrqcCq4g5WBXmwTtoaDDc3EMFyFzyzwEsIRyIwiAROCDiO0E9sVRssJUygqbMDXslX2iLKyVg7Gn53ABr1mgXn00uSLuh9kHCNNmNQKpsB1k6xnu2VQWVbwH7KFymwyZlBILnOpcv3ZibPLB34okYgrJm4QYm7OqXAHy1a+puSTIumffr5vF3JXp3ouRVErf3s6NiqgJojk5/WkJmwXmNKtZPr/fidYSmvL7fgUmKctKgRhskCMo0H/awkl1kSrIqOnK6GQmWX1wB/KlVhAMkOK/t8xmoCVf15DhyUCJdCSTi/ZBVR/He4BQAYAQ=="}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":611,"cache_read_input_tokens":23030,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":611},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"93441db3-440c-4e36-868e-5fb1917ba753"}
{"type":"assistant","message":{"model":"claude-sonnet-4-6","id":"msg_015JaE6vQxStAUgWkvCK5d9X","type":"message","role":"assistant","content":[{"type":"text","text":"**Total results:** 931 issues mentioning \"rate limit\" in openclaw/openclaw.\n\n**5 most recent issues:**\n\n| # | Title | State | Assignee |\n|---|-------|-------|----------|\n| #51767 | sessionRetention does not apply to subagent sessions — only cron-run sessions are swept | OPEN | None |\n| #51636 | Discord WebSocket gateway disconnects every ~10 minutes (health-monitor restart loop) | OPEN | None |\n| #51587 | Bug: isRecurringTopOfHourCronExpr fails to match cron expressions with step values | OPEN | None |\n| #51466 | [Bug] Telegram /tts audio reaches TTS path but Edge provider times out; no voice note delivered on v2026.3.13 | OPEN | None |\n| #51383 | Feature: Webchat project/thread system for parallel contexts | OPEN | None |\n\nAll 5 are **open** and **unassigned**. All were created on 2026-03-21 (today)."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":1,"cache_creation_input_tokens":611,"cache_read_input_tokens":23030,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":611},"output_tokens":8,"service_tier":"standard","inference_geo":"not_available"},"context_management":null},"parent_tool_use_id":null,"session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","uuid":"5264d08f-fd8f-4b24-99bf-1ef9ffcbdb9b"}
{"type":"result","subtype":"success","is_error":false,"duration_ms":58931,"duration_api_ms":42508,"num_turns":6,"result":"**Total results:** 931 issues mentioning \"rate limit\" in openclaw/openclaw.\n\n**5 most recent issues:**\n\n| # | Title | State | Assignee |\n|---|-------|-------|----------|\n| #51767 | sessionRetention does not apply to subagent sessions — only cron-run sessions are swept | OPEN | None |\n| #51636 | Discord WebSocket gateway disconnects every ~10 minutes (health-monitor restart loop) | OPEN | None |\n| #51587 | Bug: isRecurringTopOfHourCronExpr fails to match cron expressions with step values | OPEN | None |\n| #51466 | [Bug] Telegram /tts audio reaches TTS path but Edge provider times out; no voice note delivered on v2026.3.13 | OPEN | None |\n| #51383 | Feature: Webchat project/thread system for parallel contexts | OPEN | None |\n\nAll 5 are **open** and **unassigned**. All were created on 2026-03-21 (today).","stop_reason":"end_turn","session_id":"34af0e75-3e4f-49bf-9fb5-069d3e4fe79e","total_cost_usd":0.12382905000000001,"usage":{"input_tokens":8,"cache_creation_input_tokens":15043,"cache_read_input_tokens":114846,"output_tokens":2196,"server_tool_use":{"web_search_requests":0,"web_fetch_requests":0},"service_tier":"standard","cache_creation":{"ephemeral_1h_input_tokens":15043,"ephemeral_5m_input_tokens":0},"inference_geo":"","iterations":[],"speed":"standard"},"modelUsage":{"claude-sonnet-4-6":{"inputTokens":8,"outputTokens":2196,"cacheReadInputTokens":114846,"cacheCreationInputTokens":15043,"webSearchRequests":0,"costUSD":0.12382905000000001,"contextWindow":200000,"maxOutputTokens":32000}},"permission_denials":[],"fast_mode_state":"off","uuid":"a6adc6e6-56a6-4584-9555-9b2cde0ed4c8"}
