What's new in v5.15.0
🔒 Security — SSH Password Encryption
SSH passwords are now stored encrypted at rest using AES-256-GCM. A persistent key is generated once and stored in data/hosts.key (permissions 0o600, excluded from git). Without this key, the encrypted values in data/remote-hosts.json are unreadable — if the data file is stolen, passwords remain protected.
🛠 SSH Reliability Fixes
- Hang fix: SSH process no longer hangs indefinitely — stdin is closed immediately after exec (mirrors
proc.stdin.end()in the local CLI engine) --verboseflag: Required by Claude CLI ≥ 1.0.x alongside--output-format stream-json; added to both local and SSH engines- Auto-create workdir: Remote project directory is created via
mkdir -pif it doesn't exist on the remote server - PATH resolution:
bash -lcwrapper sources login profile soclaudeis found even when installed via nvm/npm-global - Root support:
IS_SANDBOX=1allows Claude to run on remote servers where the SSH user is root
✨ UX Improvements
- Skills persist per session — active skills are now saved to SQLite when toggled, same as MCP servers
- Auto-Skill Mode — the top ⚡ button is the only toggle; selecting a skill manually disables Auto mode
- MCP settings modal — redesigned with key-value env editor (580px, scrollable), replaces raw JSON textarea
- MCP delete confirmation — confirm dialog before removing an MCP server
- Project rename — inline editing directly in the Projects list (click ✏ button)
- SSH hosts list — redesigned to match Projects panel style (name + host:port, action buttons on hover)
- Remote file browser — shows informational placeholder instead of returning 404
📝 Docs
- All three READMEs (EN/UA/RU) updated: SSH security section rewritten,
claude-ssh.jsadded to project structure
Update:
npx github:Lexus2016/claude-code-studio@latest