| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
The SSH terminal that Apple Vision Pro deserves.
A native visionOS terminal built from scratch for spatial computing. Float truly transparent terminal windows in your space, then tune opacity and blur independently. AI runs privately on your device. Connect to your Tailscale network, transfer files, and record sessions without a subscription.
glas.sh | GitHub Sponsors | MIT Licensed
A live htop session floating in your space — full PTY, truecolor, glass ornament controls.
Warning
Pre-alpha. glas.sh is under active development and not yet released on the App Store. It builds and runs on Apple Vision Pro today, but expect rough edges, incomplete features, and breaking changes between updates. Bug reports and feedback are very welcome — open an issue.
If glas.sh saves you time or brings you joy, consider sponsoring the project.
Every other SSH client on visionOS is a port from iPad. glas.sh is purpose-built for spatial computing — designed for eye-and-hand interaction, glass-first UI, and features that only make sense when your terminal floats in 3D space.
| glas.sh | La Terminal | Prompt 3 | Termius | |
|---|---|---|---|---|
| Native visionOS | Yes | Yes | No | No |
| On-device AI | Foundation Models | Cloud API | No | No |
| Tailscale auto-discovery | Yes | No | No | No |
| Immersive focus mode | Yes | No | No | No |
| Session recording | Yes | No | No | No |
| Spatial widgets | Yes | No | No | No |
| SFTP with batch ops + search | Yes | Basic | No | Yes |
| Remote + SOCKS forwarding | Yes | No | No | Yes |
| Multi-hop jump hosts | Yes | No | No | Yes |
| True Secure Enclave signing | Yes | No | No | No |
| Open source | MIT | No | No | No |
Full PTY interactive sessions with ANSI/truecolor rendering via SwiftTerm. Dynamic resize, cursor styles, visual + audio bell, in-terminal search, and command snippets with usage tracking. Per-session window overrides for opacity, glass material density, and color tint. Keyboard stays active — a focus maintenance system prevents visionOS from silently dropping input after idle.
Powered by Apple's Foundation Models framework. Everything runs on your Vision Pro. Nothing leaves your device.
Plain English in, a risk-rated shell command out — running entirely on-device.
Connect your entire Tailscale network. Enter your API key or OAuth credentials once, and glas.sh discovers every device on your tailnet. Tap a device, enter SSH credentials, and you're in. Mobile devices (iOS, iPadOS, Android) are automatically filtered out.
Server management with favorites, tags, search, and recent connections. Quick connect bar parses user@host:port on the fly. Host key verification with fingerprint display. Layout presets reopen saved groups of server sessions — open your production stack with one tap.
Connections: favorites, recents, tags, and one-tap Tailscale discovery in a glass sidebar.
Single-hop or multi-hop chains. Configure A → B → C with a reorderable hop list. Cycle detection prevents infinite loops. Backward compatible with single-hop configurations.
Full directory browsing with breadcrumb navigation. Tap files to select, batch download or delete, pick your destination folder first then stream with progress. File info sheet shows permissions, uid/gid, timestamps, and raw listing. Show/hide hidden files. Client-side filter for the current directory, or press Return to run find on the server via SSH for deep recursive search.
The SFTP browser opens right over your session — breadcrumbs, filtering, and batch transfers.
Asciicast v2 format (NDJSON), compatible with asciinema. Recording is output-only by default; input capture requires explicit consent for each recording and stays visibly disclosed while active. Recordings are protected on disk and stop at a 512 MiB safety limit.
Exponential backoff (1s → 2s → 4s → 8s → 16s, up to 5 attempts). Cancel button in the connection label ornament. Keepalive timer with failure-based timeout detection — no more false disconnects from idle sessions.
glas.sh uses one native Swift 6 application target, one @main, one product identity (sh.glas.app), and one shared glas.sh scheme across Apple Silicon Mac, iPhone, iPad, and Apple Vision Pro. Shared connection, credential, trust, session, terminal, workgroup, theme, and appearance state stays authoritative in the application core. Each platform composes that state with its native UI: AppKit/SwiftUI workspaces on Mac, adaptive navigation on iPad, compact navigation on iPhone, and spatial windows and ornaments on visionOS. Mac is native, not Mac Catalyst.
glas.sh/ Shared application core and platform scenes ├── glas_shApp.swift Sole @main and native scene composition ├── ConnectionLibrary.swift Shared Library projection and filtering ├── ConnectionManagerView.swift Native connection navigation and actions ├── Models.swift SSH sessions, connections, server config ├── SessionManager.swift Authoritative session lifecycle ├── ServerManager.swift Server CRUD + shared App Group defaults ├── KeychainManager.swift GlasSecretStore integration boundary ├── TerminalWindowView.swift Shared terminal scenes and controls ├── SessionRecorder.swift Protected asciicast v2 recording ├── SFTPBrowserView.swift Safe file browsing and transfer ├── PortForwardManager.swift Local / Remote / Dynamic (SOCKS5) tunnels └── AIAssistant.swift On-device command and error assistance Platforms/macOS/ Native Mac implementation boundary ├── MacWorkspaceView.swift Adaptive tabs, sidebars, and splits ├── MacWorkspaceController.swift Window and workspace lifecycle ├── MacLocalTerminalPaneView.swift Local PTY terminal └── MacTerminalWindowPolicy.swift AppKit window policy and materials glasWidgets/ WidgetKit extension ├── ServerHealthWidget.swift Timeline provider + widget views └── glasWidgets.swift Widget bundle entry point Packages/ ├── RealityKitContent/ Cross-platform SwiftTerm host boundary ├── Citadel/ Vendored SSH client library └── swift-nio-ssh/ Vendored NIO SSH compatibility layer GlasSecretStore Pinned shared package for credentials and host trust
| Layer | Technology |
|---|---|
| SSH protocol | Citadel + vendored swift-nio-ssh |
| Terminal rendering | SwiftTerm behind the RealityKitContent host/engine boundary and native UIKit/AppKit representables |
| Input path | SwiftTerm delegate → raw bytes → SSH channel |
| Output path | SSH channel → buffered chunks → SwiftTerm feed(byteArray:) |
| Resize | SwiftTerm callback → TerminalSession → remote PTY resize |
| AI | Foundation Models (LanguageModelSession) with deterministic response parsing and mandatory user confirmation |
git clone https://github.com/msitarzewski/glas.sh.git
cd glas.sh
open glas.sh.xcodeproj
# Select the shared glas.sh scheme (not glasWidgets)
# Select My Mac, an iPhone/iPad simulator or device, or Apple Vision Pro
# Build and run (⌘R)The same application scheme builds every supported destination; the former glas.sh Mac application target and scheme have been retired. The widget remains a separate, platform-filtered extension.
Command-line Release builds use the same shared scheme:
xcodebuild -project glas.sh.xcodeproj -scheme glas.sh -configuration Release -destination 'platform=macOS,arch=arm64' build
xcodebuild -project glas.sh.xcodeproj -scheme glas.sh -configuration Release -destination 'generic/platform=iOS' build
xcodebuild -project glas.sh.xcodeproj -scheme glas.sh -configuration Release -destination 'generic/platform=visionOS' buildA successful build proves compilation for that destination, not runtime or physical-device behavior. Release evidence records builds, test counts, simulator runtimes, physical-device checks, and distribution validation separately.
glas.sh — lightweight project site via GitHub Pages (docs/).
glas.sh is free, open source, and built by one person. If it's useful to you:
MIT License. Copyright 2026 Michael Sitarzewski.
Built with care for Apple Vision Pro.
Built with Agency Agents.
Sponsor · Website · Issues
| Back | FazBrowse Home | New Git URL |