Skip to content

Introduction

OxideTerm is an AI-native workspace for remote servers, not just a terminal. Connect to a server once, then work around it in one place: SSH shell, SFTP, port forwarding, trzsz transfers, lightweight editing, local shell, remote desktop, and OxideSens AI.

OxideTerm is a pure Rust desktop application built with GPUI. GPUI draws the interface directly on a GPU surface; there is no browser runtime, DOM, JavaScript frontend, or system WebView. Release packages are typically 50–70 MB and are available for macOS, Windows, and Linux on x64 and arm64.

The core workspace is local-first: SSH, files, forwarding, local shells, saved connections, and settings do not require an OxideTerm account. OxideSens is BYOK, so requests go only to the provider you configure.

Pain PointOxideTerm’s Answer
Remote server work is split across too many toolsOne node workspace: terminal, SFTP, forwarding, IDE, monitoring, remote desktop, and OxideSens stay attached to the same node
You still need a local shellIntegrated local terminal: zsh, bash, fish, pwsh, WSL2, and platform shells sit beside remote sessions
Reconnect means losing active workGrace Period reconnect: OxideTerm probes the old SSH connection before replacing it and restores dependent tools when a new connection is required
Remote file editing needs a heavyweight remote IDENative lightweight IDE: a GPUI editor and SFTP-backed file tree, with an optional Linux remote agent for project search and file watching
Every tool opens another SSH connectionShared connection registry: terminal, SFTP, forwards, and IDE consumers reuse the node’s managed SSH connection
SSH libraries add OpenSSL deployment frictionPure Rust SSH: russh with ring, without an OpenSSL runtime dependency
Browser-wrapped desktop apps add another runtimeNative GPUI shell: GPU-rendered Rust UI with no WebView
Automation should not require the desktop appStandalone oxideterm CLI: direct headless access to settings, connections, backups, cloud sync, diagnostics, and other persisted domains

OxideTerm keeps the desktop UI and domain services in one native process:

┌───────────────────────────────────────────────┐
│ GPUI render loop │
│ Workspace · tabs · sidebars · native views │
└──────────────────────┬────────────────────────┘
│ in-process Rust calls
┌──────────────────────▼────────────────────────┐
│ Domain services │
│ NodeRouter · SSH registry · SFTP · forwards │
│ TerminalState · IDE · AI · plugins · sync │
└───────────────────────────────────────────────┘

Terminal bytes are parsed into Rust-owned terminal state. GPUI reads snapshots of that state and issues GPU draw calls. Management actions call Rust services directly in-process, so terminal traffic and UI actions do not cross a serialization bridge.

The standalone oxideterm CLI follows the same ownership model. It links the relevant domain crates and reads the same persisted stores as the desktop app; it does not contact a desktop-side RPC server.

LayerTechnologyPurpose
Desktop UIGPUINative windows, input, layout, and GPU rendering
Async runtimeTokioSSH, transfers, forwarding, monitoring, and background work
SSHrussh + ringPure Rust SSH, SFTP channels, agent support, and ProxyJump
Terminal statealacritty_terminalVT parsing, grid, scrollback, selection, and search state in Rust
Local PTYportable-ptyLocal shells and Windows ConPTY workflows
EditorNative GPUI editorRemote editing, syntax highlighting, folding, search, and multi-cursor state
EncryptionChaCha20-Poly1305 + Argon2idEncrypted .oxide exports and sealed local connection data
StorageJSON stores + redbSettings, connections, runtime state, history, and indexes
PluginsManifest-only, process, and Wasm/wasmtimeNative extensions through typed, permission-gated host APIs
CLIoxidetermDirect headless management through shared Rust domain crates
CategoryFeatures
TerminalLocal PTY, SSH, Telnet, serial, split panes, broadcast input, recording/playback, Sixel/Kitty graphics, and render profiles
SSH & AuthConnection reuse, ProxyJump, Grace Period reconnect, Agent Forwarding, password/key/certificate/SSH Agent/keyboard-interactive auth, and known-host verification
SFTPDual-pane browser, transfer queue, previews, bookmarks, archive operations, and reconnect-aware sessions
IDENative editor, remote file tree, project search, multi-tab workflow, conflict detection, and optional remote agent
Remote DesktopNative RDP and VNC tabs with keyboard, pointer, clipboard, resize, and reconnect handling
Port ForwardingLocal, remote, and dynamic SOCKS5 forwards with saved rules and reconnect-aware restore
AI (OxideSens)BYOK providers, MCP, local knowledge retrieval, redacted context, and approved workspace actions
PluginsWASM runtime, typed host capabilities, plugin settings, enable/disable controls, and custom surfaces
SecurityOS keychain, encrypted local connection data, encrypted .oxide exports, host-key TOFU, and secret zeroization
  • Core remote workflows work without an OxideTerm account or subscription.
  • Credentials and API keys are stored through the operating system keychain.
  • OxideSens sends context only when you invoke it and only to your configured provider.
  • The CLI and desktop app share persisted data, so scripts can inspect and manage OxideTerm without keeping the GUI running.
  • Cloud sync is optional; local operation remains the default.
  • Installation guide — download, install, or build OxideTerm
  • Terminal — native terminal features and rendering
  • SFTP — file management over SSH
  • IDE Mode — remote editing in the native workspace
  • Port Forwarding — SSH tunnels
  • OxideSens AI — BYOK AI for remote-server work
  • CLI — headless management and automation
  • Security — encryption, credentials, and process boundaries