Skip to content

tracking: retire Claude Code upstream-bug workarounds shipped in v0.35.3 #571

Description

Type: Tracking / audit. Source: systematic sweep of the v0.35.3 CHANGELOG for workarounds Untether ships against upstream Claude Code / Anthropic-API defects.

Goal

Catalog every Claude Code upstream-bug workaround shipped in v0.35.3, map each to its root cause + real upstream status + existing tracker, and drive each toward a proper fix so the workaround can be retired (or codified as permanent where upstream declined to fix).

Audit (every v0.35.3 Claude Code workaround → root cause → tracker)

Upstream states checked 2026-05-29.

Workaround (v0.35.3) Root cause Upstream status Tracker Verdict
Auto-continue / auto-resume (#551; lineage #167, #322) Claude exits after tool_result without processing the turn; ResultMessage sometimes never emitted claude-code#34142 COMPLETED (fixed); #30333 NOT_PLANNED GAP → #568
Post-result idle watchdog + subcountdown + SIGTERM (#333, #470) & stuck-after-tool_result detector (#322) stream-json hangs — process stops emitting and never exits claude-code#39700 NOT_PLANNED #527 (partial) GAP → #569 (keep + escalate)
ExitPlanMode progressive cooldown / rapid-retry auto-deny (#126 lineage) Claude re-issues control_request immediately after denial (v2.1.72–2.1.74 loop) memory says fixed — UNVERIFIED GAP → #570
Stall-suppression matrix (#481), post-result stall noise (#470), approval-pending demotion (#526), cpu_active/approval-aware copy (#494) Claude emits no progress during legitimate long waits n/a (Untether-side detection) #527 tracked
ScheduleWakeup dead-wakeup shortcut (#507/#544); loop ownership (#289) ScheduleWakeup is a no-op outside /loop dynamic; --resume doesn't restore session-scoped scheduled tasks n/a (CLI limitation) #289 + #374 tracked
Background-handle clear-on-first-tool_result (#544/#507) non-terminal tool_result semantics per primitive n/a #374 tracked
MCP catalog proactive refresh notify_catalog_refresh + debounce (#365/#497) Claude MCP catalog goes stale / servers disconnect mid-session cosmetic upstream #372 + #268 tracked
Stream-idle timeout configurable + Type-A/B classification (#438) Anthropic API SSE stalls on long opus runs upstream Anthropic API #438 (closed) keep-it mitigation; auto-retry = separate deferred enhancement (upstream-blocked)
Bash interim-delta streaming proxy (#481) Claude Bash tool_result has no interim stdout deltas upstream feature request #482 tracked
config.loaded N-reparse demote (#498) Untether-internal (not a Claude bug) n/a #506 tracked (internal)
ExitPlanMode plan-body re-emit / verbosity tuning (#508/#515/#510) plan body disappears after approval (ExitPlanMode UX); concurrent-stream race partly upstream ExitPlanMode #510, #515 tracked (mostly Untether-side)

Genuine gaps — new investigation issues

Already tracked (no new issue needed)

#527 (unified stall detector — supersedes the whole stall/post-result/wakeup whack-a-mole family), #289 (full /loop), #374 (bg-handle lifecycle), #372 + #268 (MCP catalog/disconnect), #482 (Bash interim deltas), #506 (settings caching), #510/#515 (ExitPlanMode verbosity/race).

Not retire-able (keep)

Metadata

Metadata

Assignees

No one assigned

    Labels

    engine:claudeClaude Code CLI (Anthropic)enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions