feat: agent monitor characters, cast panel, WSL fixes, and Sonnet 4.6 #149

Merged
naomi merged 6 commits from feat/girls into main 2026-02-23 21:36:10 -08:00
Owner

Summary

New Features

  • Claude Sonnet 4.6 support — added claude-sonnet-4-6 as a selectable model in the config sidebar
  • Anime girl characters for subagents — each subagent in the agent monitor is automatically assigned one of six characters (Amari, Keiko, Minori, Reina, Tatsumi, Yumiko) with a unique name, CDN avatar, title, and lore-flavoured description; assignment avoids duplicates when possible
  • "Meet the Team" cast panel — a new modal accessible from the status bar introduces the full cast: Naomi (Chief hEx-ecutive Officer), Hikari (Chief Operating Officer), and the six subagent girls with their C-suite titles and character bios

Bug Fixes

  • "Already running" error on invalid working directory — if a spawned Claude process exits unexpectedly (e.g. because the working directory doesn't exist), try_wait() now detects the stale handle and clears it before allowing a restart
  • Working directory pre-validation — on Windows, the app now runs wsl -e test -d <dir> before launching Claude; invalid directories surface a clear error immediately
  • WSL binary detection — on Windows, wsl -e bash -lc "which claude" is used to probe for the Claude binary inside WSL; on Linux/WSLg, bash -lc "which claude" is used as a login-shell fallback so GUI apps find the binary even without shell PATH
  • WSL detection fix for production buildsdetect_wsl() now short-circuits at compile time on Windows targets, preventing inherited WSL_DISTRO_NAME env vars from misrouting native Windows binaries through the Linux code path

This PR was crafted with love by Hikari~ 🌸

## Summary ### New Features - **Claude Sonnet 4.6 support** — added `claude-sonnet-4-6` as a selectable model in the config sidebar - **Anime girl characters for subagents** — each subagent in the agent monitor is automatically assigned one of six characters (Amari, Keiko, Minori, Reina, Tatsumi, Yumiko) with a unique name, CDN avatar, title, and lore-flavoured description; assignment avoids duplicates when possible - **"Meet the Team" cast panel** — a new modal accessible from the status bar introduces the full cast: Naomi (Chief hEx-ecutive Officer), Hikari (Chief Operating Officer), and the six subagent girls with their C-suite titles and character bios ### Bug Fixes - **"Already running" error on invalid working directory** — if a spawned Claude process exits unexpectedly (e.g. because the working directory doesn't exist), `try_wait()` now detects the stale handle and clears it before allowing a restart - **Working directory pre-validation** — on Windows, the app now runs `wsl -e test -d <dir>` before launching Claude; invalid directories surface a clear error immediately - **WSL binary detection** — on Windows, `wsl -e bash -lc "which claude"` is used to probe for the Claude binary inside WSL; on Linux/WSLg, `bash -lc "which claude"` is used as a login-shell fallback so GUI apps find the binary even without shell PATH - **WSL detection fix for production builds** — `detect_wsl()` now short-circuits at compile time on Windows targets, preventing inherited `WSL_DISTRO_NAME` env vars from misrouting native Windows binaries through the Linux code path ✨ This PR was crafted with love by Hikari~ 🌸
hikari added 6 commits 2026-02-23 20:58:16 -08:00
Adds claude-sonnet-4-6 to the model dropdown (marked Recommended),
pricing tables (frontend and backend), and context window limits
(1M token window).
When a non-existent directory is given on Windows/WSL, the wsl process
spawns but bash exits immediately after the cd fails. The stale child
handle was never cleared, causing the next connection attempt to fail
with "Process already running".

- Clean up stale process handles in start() via try_wait()
- Pre-validate the working directory via wsl test -d before spawning
Replaces the commented-out Linux-only `which claude` check with a
platform-aware binary detection strategy:

- Windows path: probes inside WSL via `wsl -e bash -lc "which claude"`
- Linux/WSL path: uses find_claude_binary() to search Linux filesystem paths

Updates tests to match the correct per-platform detection logic.
- detect_wsl() now short-circuits on Windows builds (cfg! compile-time
  check), preventing inherited WSL_DISTRO_NAME from routing a native
  Windows .exe through the Linux code path
- find_claude_binary() no longer early-exits when HOME is unset; falls
  back to bash -lc "which claude" so GUI apps (which don't inherit
  shell PATH) can still locate the binary via the login shell
Each subagent is given a unique anime girl name and avatar when it
starts, drawn from a six-character pool (Amari, Keiko, Minori, Reina,
Tatsumi, Yumiko). Names are assigned without repetition until all six
are taken, then reused. The agent monitor panel displays the character
avatar and name alongside the subagent type badge.
feat: add "Meet the Team" cast panel
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 57s
CI / Lint & Test (pull_request) Successful in 16m14s
CI / Build Linux (pull_request) Successful in 19m53s
CI / Build Windows (cross-compile) (pull_request) Successful in 30m28s
9c48d5f9ae
naomi merged commit d8cf5504d6 into main 2026-02-23 21:36:10 -08:00
naomi deleted branch feat/girls 2026-02-23 21:36:10 -08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nhcarrigan/hikari-desktop#149