What's New in 0.20.0
Core
- Reliable interrupt and process kill — PID fallback, brute-force scan across sessions, drop messages from interrupted sessions (5s window)
- Large prompt stdin pipe (>100KB) avoids E2BIG on spawn
- 15-min inactivity timeout for subagents/teammates (bg agents exempt)
Agent Teams
- Rust backend + React panel for coordinated multi-agent tasks
- Agent/Teammate/TeamCreate/SendMessage tool support throughout UI
- Background agent permission modes, memory scope, auto-worktree cleanup
New Features
- File conflict detection across tabs with ConflictWarning UI
- Rules tab — .claude/rules/ CRUD with frontmatter parsing in settings
- Per-provider model picker with enable/disable and Claude 4.5 models
- Kiro provider support (model, CLI detection, provider selector, routing)
- Remote access foundation (?mobile=1 with device token auth, mobile CSS)
- HTTP hooks with SSRF protection + new subagent/teammate hook events
- Image compression pipeline (binary-search JPEG, progressive downscale) + thumbnails in chat
- NotebookEdit snapshot support
- Input area context menu + keyboard navigation for attachments
- CopyPickerModal, bash tool_use pending display
Pane Management
- Pane split state transfer on collapse/merge
- Separate F7 (combine) and F8 (split) instead of toggle
- /pane target, /pane-new, /pane-close commands
- tab-new/tab-dup/tab-dup-split commands
Performance
- Skip all polling when document.hidden
- Increased poll intervals (bg processes 3→10s, git 15→30s)
- Debounce window resize/move localStorage writes
- Incremental message analytics O(1) instead of O(N)
- Custom equality selector for SessionTabs (prevent re-renders during streaming)
- Provider detection cache (24h TTL)
- Bash output window reduced to 5 head + 15 tail lines
Windows
- Fix OS error 193 — filter extensionless claude paths, route .cmd/.bat through cmd.exe
- nvm4w (nvm for Windows) support in PATH building and CLI detection
- Suppress child process error dialogs (SetErrorMode)
- Timeout + retry for claude version check (broken .exe guard)
- Persistent file handle for bash stream monitor
- cmd.exe for foreground MCP bash (MSYS2 exit race fix)
- Wait for stream drain before resolving bash output
- Inject tee before pipes for real-time streaming
- Stagger deferred init, background orphan cleanup, defer server wait
Fixes
- Always emit streaming_end on process exit (fixes stuck streaming)
- Fix auto-scroll fighting user scroll-down
- Fix ANSI reverse video using proper fg/bg swap
- Fix pane collapse preserving vertical split state
- Fix pane oscillation (React error #185) via ref-synced setPaneCurrentSessionId
- Fix stale ref in auto-collapse after deleteSession
- Context bar warning thresholds lowered (75/80/85%)
- Local slash commands bypass streaming queue
- Effort level uses compact 1/2/3 toggle
- Detect provider CLIs directly instead of via yume-cli binary