Release Notes
Version 1.0.2-14
January 16, 2026
Background SSH Tunnels
- New profile mode for background SSH tunnels that maintain port forwards without a terminal UI. Includes auto-start on app launch, byte transfer statistics, and connection event history.
iOS Local Shell SFTP Client
- Interactive SFTP: Full command-line Swift native SFTP client with
sftp>prompt, line editing, command history, and tab completion for remote paths. - File Transfer Progress: Real-time progress display with percentage, throughput, and file counts for both SFTP and SCP transfers.
- Chunked Transfers: Chunked streaming for better memory efficiency on large files.
- CTRL-C Cancellation: SCP transfers can now be properly cancelled with CTRL-C.
iPad
- Touch Scrolling: Two-finger scroll now moves 2x faster with matching momentum deceleration for a more natural feel.
- Selection Fix: Text selection no longer triggers accidentally during two-finger scrolling.
- Empty State Shortcuts: Keyboard shortcuts (Cmd+T, Cmd+S, Cmd+N) now work when all terminal tabs are closed.
- Menu Organization: Shortcuts for Copy, Paste, scroll commands, and split navigation now appear in their proper menus instead of Help.
SSH
- Reconnection UI: Polished animated reconnection display with Braille spinner, theme-aware colors, rotating messages, and smooth countdown updates.
- Connection Health: Tab bar health indicator now requires sustained poor conditions (2 of 3 samples) before showing red, reducing false alarms.
Shaders
- Tesla Coil Cursor: New electric arc cursor shader effect with branching animation.
macOS
- Menu Compatibility: Fixed missing Terminal/Shell/Tabs menus on pre-macOS 26. Added Clear Screen, scroll commands, and Theme Picker to fallback menus.
Stability
- Fixed potential crashes from invalid tab index access during tab operations.
Version 1.0.2-13
January 12, 2026
Core Engine Update
- Upgraded libghostty to include all upstream changes as of January 12, 2026.
- Memory Leak Fix: Fixed a significant memory leak in the PageList data structure where non-standard (oversized) pages were incorrectly recycled, preventing their memory from being released. This leak was particularly triggered by terminals with heavy scrollback activity and multi-codepoint grapheme output. Read more
Tailscale Improvements
- Hostname Display: Tailscale devices now show their hostname instead of IP address in both the device list and SSH connections.
- Default Username: Tailscale SSH connections now default to your local username.
- Simplified Setup: Removed the requirement to provide a tailnet identifier.
Bug Fixes
- Unknown Host Handling: Fixed SSH disconnecting on first keypress when connecting to an unknown host that requires host key confirmation with iOS local shell.
- Touch Targets: Fixed touch targets on theme rows and other settings buttons that were difficult to tap.
- macOS: Fixed cursor tracking cleanup when changing cursor styles.
- SF Symbols: Fixed invalid SF Symbol reference in theme settings.
Version 1.0.2-12
January 11, 2026
Tailscale Integration
- Device Discovery: Added Tailscale as a cloud provider for discovering and connecting to devices on your tailnet. Add your account via Settings → Cloud Providers using OAuth authentication. Devices appear in tab completion and browse.
- No-Auth SSH: New "none" authentication method for SSH connections, designed for Tailscale SSH and networks where authentication is handled at the network layer.
Bug Fixes
- Tab Close: Fixed focus issue when closing the active tab
- Manual Reconnect: Fixed Enter key not triggering reconnect on disconnected sessions
- Clipboard Paste: Fixed pasted content showing URL-encoded characters instead of original text
Version 1.0.2-11
January 3, 2026
Performance
- Native VSync: Now uses CADisplayLink for vsync-synchronized rendering, replacing the deprecated CVDisplayLink in GhosttyKit. Improves frame pacing and reduces tearing, particularly on iOS where CVDisplayLink was unavailable.
- Background Tab Optimization: Tabs not visible now stop GPU rendering via occlusion API, significantly reducing GPU usage with multiple tabs open
- AI Agent Output: Reduced CPU usage during high-throughput command output by increasing UI update throttle and adding render coalescing
SSH
- Auto-start tmux: New toggle to automatically attach to or create a tmux session named "main" on connect. Falls back to default shell if tmux isn't installed.
Cursor Settings
- Cursor Effects: Warp, Sweep, Tail, Blaze effects with optimizations that idle cursor effect shader when not actively rendering
- Cursor Style: New setting for cursor shape (block, bar, underline, hollow block)
- Cursor Blinking: Configurable cursor blink (off by default)
Custom Shaders
- Shadertoy Compatibility: Import shaders directly from Shadertoy with full uniform support (iResolution, iTime, iTimeDelta, iFrameRate, iFrame, iMouse, iDate, iSampleRate)
- Animation Optimization: Shaders with DURATION constant auto-pause when animation completes, continuous shaders (using iTime without cursor) run at full frame rate
Bug Fixes
- Font Change Resize: Terminal grid dimensions now update correctly after changing font
- Status Bar Visibility: iPad status bar text color adapts to terminal theme luminance
Version 1.0.2-10
December 30, 2025
Bug Fixes
- OSC 52: Fixed clipboard read operations for terminal applications (vim, etc.)
Connection Profiles
- Saved Profiles: Save frequently used connections as profiles with custom names, tags, and folder organization
- iCloud Sync: Profiles sync across devices via CloudKit (toggle in Settings > Cloud Sync)
- Browse Profiles: New sheet for searching, filtering, and managing profiles (Cmd+Shift+P or Shell > Browse Profiles)
- Quick Connect: Profiles appear with highest priority in Quick Connect suggestions
Connection UI
- Type Selector: Replaced segmented picker with dropdown menu in navigation title bar
- Inline Profiles: Profiles browser available as first item in connection type menu
Profile Management
- Swipe Actions: Swipe left on profile rows for quick actions
- Advanced Settings: Access full connection settings from profile editor
Virtual Keyboard
- Double-Tap TAB: Double-tap the screen to insert a literal tab character when in virtual keyboard mode for easier access
Settings
- Window Settings: Tab bar visibility controls now available on all platforms
Version 1.0.2-9
December 29, 2025
Clipboard
- OSC 52: Fixed clipboard integration in tmux and others on iPad
Background Effects
- Video Resume: Video backgrounds now properly resume playback after returning from background state
macOS
- Titlebar Cursor: Added open hand cursor feedback when hovering over titlebar drag zones
- Cursor Reset: Fixed cursor not resetting to arrow when moving from terminal to title bar
Bug Fixes
- Session Health: Improved health monitoring for restored sessions with proper async state management
Version 1.0.2-8
December 28, 2025
Keyboard
- Delete Key: Normalized to send DEL on Magic Keyboard, resolving non-default tmux configurations from triggering active pane switch
iCloud Sync
- CloudKit Sync: Optional iCloud sync for SSH connection history and known hosts (Settings > iCloud)
- Records sync automatically with push notifications for real-time updates
Background Effects
- Toggle Shortcut: Cmd+Shift+L toggles background effect on/off
- Fireflies Effect: Glowing particles with customizable appearance
- Video Backgrounds: Play looping video files as terminal backgrounds
Bug Fixes
- Multi-Window Focus: Fixed cursor focus on iPadOS 26 when switching between windows using activeAppearance trait
- AI Streaming: Fixed content being cut off during AI streaming responses by moving throttle to view layer
Version 1.0.2-7
December 24, 2025
Terminal and Input
- Scroll events now target the correct area under the cursor (ie tmux pane etc)
- Momentum Scrolling: Custom physics for smooth scroll deceleration in mouse capture mode (tmux, vim)
- Native Trackpad Momentum: Magic Keyboard trackpad now uses native iOS scroll physics in non-capture mode
- Scroll Bars: Hidden automatically when mouse capture mode is active
- Fixed CTRL-arrow keys failing to capture
Session Persistence
- Window/Tab Restoration: Sessions now persist across app restarts. Tabs, splits, themes, and connections restore automatically on launch
- Disable Option: New "Restore Sessions on Launch" toggle in Settings > Sessions
Theme Customization
- Per-Tab/Window Themes: Override themes at tab or window level via Cmd+Shift+T picker (Tab > Window > Global priority)
- Favorite Themes: Star themes in Settings or picker for quick access
- Theme Indicator: Tabs with theme overrides show paintbrush indicator
- Toggle Transparency: Cmd+Shift+O toggles window transparency on/off (macOS)
Touch Input (iPad/iPhone)
- Text Selection: Single-finger drag to select text with iOS-native edit menu
- Scroll Gesture: Two-finger drag to scroll terminal history
- tmux Dividers: Single-finger touch in capture mode now drags tmux split dividers correctly
Keyboard Toolbar
- Glass Effect: Blur background with refined colors for light/dark mode
- Scrollable Layout: Right section merged into scrollable area for narrow windows
Window & Tab Management
- Tab Shortcuts: Optional Cmd+1-9 indicators on tabs (Settings > Appearance)
- Focus Fix: Keyboard focus now correctly granted after session restore
- Split Resize: Native splits now notify all terminals to resize properly
- Various layout fixes when virtual keyboard is active
Reliability
- Reconnection Logic: Uses SSH exit-status for deterministic user exit vs connection drop detection
- Helper Startup: Fixed local shell failing on restore when rootshell-helper not ready
Other Fixes
- Output Coalescing: Reduced visual flicker in mouse capture mode with DECSYNC batching
- Window Chrome: Tab bar background fills correctly without gaps
Version 1.0.2-6
December 22, 2025
Tab Bar Management
- Hide Tab Bar: New toggle to completely hide the tab bar via context menu or Cmd+Shift+B. Available in Terminal > Toggle Tab Bar menu. Setting persists across sessions.
- Tab Indicator Overlay: When switching tabs with hidden tab bar, a brief overlay shows current tab title and position dots
- Window Dragging: Allow window dragging in titlebar area when tab bar is hidden
- Titlebar Theming: Fixed theme background color not filling titlebar when "Tabs in Title Bar" is disabled
Terminal Mouse Support (tmux, vim, zellij, etc)
- Right-click in mouse capture mode: Right-click now sends events to terminal apps instead of showing iOS context menu
- Right-click drag: Full drag support for tmux menus on both iPad (trackpad) and macOS
- Scroll passthrough: Scroll events now sent to terminal when mouse capture is active
- tmux scroll fix: Fixed rubber band bounce at edges sending spurious scroll events
Known issue: tmux split resizing via mouse works reliably on macOS, but is currently unreliable on iPad
macOS
- Multi-window fix: Tab dragging in one window no longer affects other windows
- Single tab dragging: Window dragging now works correctly with only one tab
Font & Theming
- Font ligatures toggle: New setting to enable/disable ligatures (Settings > Fonts)
- Automatic day/night themes: Switch themes based on sunrise/sunset times from your location
Input & Keyboard
- iPad copy/paste: Fixed Cmd+C and Cmd+V not working on iPad hardware keyboard
- Control key repeat: Fixed control key repeat in keybind handling
Visual Effects
- Sun glow: Improved sun rendering with altitude-based compression and theme-aware blending
MCP Tools
- Added
cloud_list_instancestool for AI agents to search VMs by display name
Other Fixes
- Fixed local shell output normalization for full-screen apps in iOS local shell
- AI Agent sidebar divider now uses theme background color
Version 1.0.2-5
December 19, 2025
MCP Server for AI Tool Integration
Connect external AI assistants like Claude Code, Codex CLI, and Gemini CLI to Rootshell. The new MCP (Model Context Protocol) server allows AI tools to:
- Execute SSH commands on your saved hosts
- Access cloud instances and Kubernetes clusters
- Works with a secure connection approval flow - you approve each new AI tool before it can interact with your sessions
Enable it in Settings → MCP Server and follow the provided CLI commands to connect your favorite AI tool. Disabled by default.
macOS: Tabs in Title Bar
- A cleaner window design that integrates tabs directly into the title bar
- Now the default for new installs
- Toggle it in Settings → Window → Tabs in Title Bar
Keyboard Shortcut Customization
- Fully customize your keyboard shortcuts with immediate visual feedback
- Optional loading of ghostty configurable text file on all platforms
- Edit any shortcut in Settings → Keyboard Shortcuts
- Menu bar reflects your custom shortcuts in real-time
- Changed toggle_split_zoom default to Cmd+Shift+Return (was Cmd+Shift+Z, conflicting with Redo)
AI Agent Improvements
- Sidebar & Window modes - Choose between an integrated sidebar or a floating window (iPhone is integrated only)
- Web search & fetch tools - AI Agent can now search the web and read pages with search and page fetches taking place on your device
- Per-provider temperature settings - Fine-tune creativity for each AI provider
- Quick mode toggle in the AI Agent menu
- Text size settings for chat readability
- Gemini 3.0 Flash model support added
- macOS Agent now works with local shell sessions (not just SSH)
Bug Fixes
- Fixed crash when closing the last SSH session
- Fixed AI Agent chat flickering and scroll issues on iPhone
- Fixed AI Agent STOP button not properly cancelling operations
- Fixed thinking tags appearing in tool approval cards
Version 1.0.2-3
December 15, 2025
AI Agent
- New AI agent accessible via Cmd+I in SSH sessions
- Supports multiple AI providers: Anthropic (Claude), OpenAI, Google Gemini, and OpenRouter (400+ models)
- Custom OpenAI-compatible and Anthropic endpoint support for self-hosted models
- Streaming responses with inline markdown rendering
- Interactive ask_user tool for structured prompts
- Environment discovery and PATH injection for command execution
SSH Enhancements
- Port Forwarding - Local port forwarding (
-L) with full configuration UI - In-app Key Generation - Generate Ed25519 keys directly with public key export
- SSH URL Deep Links - Connect via
ssh://user@host:portURLs - Connection Health Monitoring - Real-time RTT and packet loss tracking with time series chart
- Full (optional) iCloud Keychain sync support for SSH keys
Native SCP Command in iOS Local Shell
- Built-in
scpcommand using SFTP backend - Tab completion and ghost text hints for paths
- Tilde (
~) expansion in remote paths
Solar Background Effects
- Moon Visualization - Astronomically accurate moon with phase-aware halo
- Bird Migrations - Species-specific bird flocks with anatomically distinct silhouettes
- Star Twinkling - Dynamic star animation with improved realism
- Ocean enhancements: wind-coherent waves, subsurface scattering, sparkles, textured foam
UI Improvements
- Right-click/long-press context menu throughout the app
- Per-point coloring in health time series charts
- Glassmorphism tab bar fallback for pre-iOS 26
- Hardware keyboard auto-focus improvements
Platform Fixes
- Fixed macOS drag/drop and paste for file URLs
- Fixed mouse cursor leaking beyond terminal view on macOS
- Fixed visionOS UIScreen unavailability in EffectManager
- IPv4 forcing for CGNAT addresses to fix VPN connection issues
Version 1.0.2-2
December 8, 2025
New Features
- Added word navigation bindings to Cmd-arrow keys and moved split navigation to Cmd-Option-arrow
- Added internal SSH client (
ssh user@host) in iOS local shell - Added realistic ocean wave simulation below horizon with Metal shader for solar background
- Added Starship-style prompt with theme selection and visual previews for iOS local shell
- Added swipe gestures for dual-text symbol keys on virtual keyboard
- Added OpenType font features for ligatures and stylistic sets
- Added Sparkle auto-update for Mac Standalone builds
- Added ASCII art animations for SSH connection failures
- Added theme browser redesign with terminal previews
- Added tab wiggle animation on bell events
- Added TLS/HTTPS support for curl in iOS local shell
- Added dynamic tab titles for local shell sessions
- Added desktop notification support (OSC 9/777)
- Added setting to toggle sun hotspot visibility in solar background
- Added latest 9.1 vim editor with syntax highlighting support to iOS local shell
- Added joe text editor to iOS local shell
- Added jq JSON processor to iOS local shell
Bug Fixes
- Fixed terminal responses not forwarding to running commands
- Fixed menu actions not routing correctly in multi-window mode
- Fixed SSH double error animation and improved failure visibility
- Fixed keyboard height detection when hardware keyboard connected
- Fixed Ctrl+C handling for embedded SSH and interactive programs
- Fixed backspace not visually removing characters in Starship prompt
- Fixed iOS local shell multi-line paste by auto-confirming unsafe pastes
- Fixed SSH connection timeouts for host key approval
- Fixed keyboard focus restoration after auth failure reconnection
- Fixed horizon glow synchronization with sun visibility
Version 1.0.2
December 3, 2025
- Menus on macOS and iPad now reflect actual available shortcuts
- New mDNS local network discovery of SSH servers
- New browse mode (Cmd + B)
- Flipped shortcuts: Cmd + T is now local shell, Cmd + S is SSH/console/k8s
- iOS tabs dynamically share colors with selected theme like macOS build
- Tab title race condition bug fix
Version 1.0.0
December 1, 2025
- Initial release