You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Windows compatibility — cross-platform fixes so the package installs and runs on Windows:
Machine profile auto-detection: detect_machine_profile() reads the AI_HOST env var
(falls back to socket.gethostname()) and maps sys.platform to a human-readable os_type ("windows", "macos", "linux"). ensure_machine_profile_registered()
writes host_id and os_type to config.toml on first load_config() call — no
manual config edit needed on first run.
Cross-platform root check: replaced os.getuid() == 0 with _is_root() helper
(ctypes.windll.shell32.IsUserAnAdmin() on Windows, os.getuid() on POSIX).
Replaced POSIX find/rm pycache cleanup with Path.rglob("__pycache__") + shutil.rmtree.
is_cc_active_locally() uses psutil.process_iter() on Windows instead of pgrep.
Remote SSH transport (os.execvp("zsh", ...)) exits with a clear error message on
Windows rather than crashing.
DEFAULT_CONFIG written with encoding="utf-8" (fixes UnicodeEncodeError on
Windows CP1252 locales when the config contains non-ASCII characters).
Fixed
iTerm2 pane-header drift on session re-attach (AI-CLI-59, final). The pane is
now renamed by resolving the tmux session's live client tty at set-name time
(tmux list-clients → tty → iTerm2 session with that tty), instead of a stored ITERM_SESSION_ID GUID. tty is 1:1 with a physical pane, so cross-session
clobbering (two tmux sessions sharing one pane GUID) is now impossible. Removed
the racy dual-GUID tracking: deleted _evict_iterm2_guid and _get_current_iterm_session_id, and the ITERM_SESSION_ID env-propagation from
the launch/re-attach path. Panes display the engine-prefixed session id
(c-sw-3 for Claude, g-… for Gemini/agy) so sessions stay visually
distinguishable by engine.
Removed
ai gemini command and the underlying gemini.py / research.py modules deleted.
Migration: use a Gemini CLI tool directly for research queries.
Contract tests for GeminiResult, AttemptLog, and run_gemini() in test_public_api.py
removed (symbols no longer exist).
Changed
ai spend gemini help text updated to clarify it reads historical local JSONL logs only.