SSH client, connection manager, AI assistant, and file editor.
Tabs, split panes, broadcast mode, search, and a command palette. WebGL-accelerated rendering with Catppuccin Mocha theming.
Learn more →Claude, ChatGPT, Gemini, Mistral, Grok, Ollama, Bedrock, OpenRouter, and HuggingFace — talk to any AI provider with full terminal context. Choose your model, switch providers mid-conversation. Works great with Claude Code, Codex, Vibe CLI & Gemini CLI.
Learn more →Built-in SSH client, PostgreSQL, MySQL, SQL Server, MongoDB, and Redis — managed in one place. Remote sessions, encrypted credentials, and Tailscale integration.
Learn more →Free to use. No account required. Zero telemetry. Windows, macOS, and Linux. Install yaw →
A fast, cross-platform terminal built on xterm.js with WebGL rendering and a Catppuccin Mocha aesthetic. Tabs, split panes, search, broadcast mode, and a command palette.
Press Ctrl+Shift+P to open the command palette. Fuzzy-search any action — new tab, split pane, toggle settings, switch tabs, change font size, and more. Every action in one place.
Type once, send everywhere. Broadcast mode mirrors your input to all panes in the current tab simultaneously — useful for running the same command across multiple servers. Toggle it with Ctrl+Shift+B (Windows/Linux) or Cmd+Shift+B (macOS).
Search your git history without leaving yaw. Open the Git Change Search panel with Ctrl+Shift+K and search by commit message, code changes, or author. Results render with full ANSI color, a commit index sidebar for navigation, and search terms highlighted. Copy individual commits as text or PNG, filter by file path, and save frequent searches for one-click re-runs.
Save frequently used commands to the command palette with {{variable}} placeholders that prompt you for input when run. Tag commands to organize them by project or environment. Access them instantly from Ctrl+Shift+P.
Close yaw and reopen it — your windows, tabs, splits, and working directories are restored exactly as you left them. No lost sessions.
Images render directly in the terminal. Paste an image or drag-and-drop a file into a pane — it appears inline alongside your text. Useful for viewing plots, screenshots, and diagrams without leaving the terminal.
Toggle timestamps to see when each command's output started — Ctrl+Shift+Y (Windows/Linux) or Cmd+Shift+Y (macOS). One timestamp per command output burst — not every line, just the meaningful ones. Useful for tracking long-running builds, debugging timing issues, or reviewing when commands completed.
Every clipboard paste is saved. Press Ctrl+Shift+H to open your paste history, search through previous entries, and re-paste anything.
The yaw command lets you control yaw from any terminal you already have open. It's installed automatically when you install yaw — no separate setup needed.
Open yaw in the current directory:
yaw
Edit a file: Opens the built-in file editor inline — no new window, no GUI. When you're done, Ctrl+Q returns you to your shell.
yaw ~/.bashrc
yaw config.json
Open in a specific directory:
yaw dir ~/projects
Open and auto-run a command: yaw opens a new tab and immediately runs the command you specify.
yaw exec "npm run dev"
Snap the window and run a command: Combine snap positioning with exec to set up your workspace in one line.
yaw snap left exec "npm run dev" # Snap left half and run
yaw snap right # Snap right half
yaw snap maximize # Full screen
Choose a shell profile: Open yaw with a specific shell instead of your default.
yaw profile git-bash
yaw profile powershell
yaw profile wsl
See all options:
yaw help
The CLI is installed automatically on Windows via Scoop, macOS via Homebrew, and Linux via deb/rpm packages. If yaw is already running, the command sends instructions to the running instance. If it's not running, it starts a new one.
Every action has a keyboard shortcut. Windows uses Ctrl+Shift, macOS uses Cmd+Shift.
| Windows | macOS | Action |
|---|---|---|
| Ctrl+Shift+T | Cmd+Shift+T | New tab |
| Ctrl+Shift+N | Cmd+Shift+N | New window |
| Ctrl+Shift+W | Cmd+Shift+W | Close pane / tab |
| Ctrl+Shift+D | Cmd+Shift+D | Split vertically |
| Ctrl+Shift+E | Cmd+Shift+E | Split horizontally |
| Ctrl+Shift+F | Cmd+Shift+F | Search |
| Ctrl+Shift+P | Cmd+Shift+P | Command palette |
| Ctrl+Shift+, | Cmd+Shift+, | Settings |
| Ctrl+Shift+S | Cmd+Shift+S | Connections |
| Ctrl+Shift+A | Cmd+Shift+A | AI assistant |
| Ctrl+Shift+H | Cmd+Shift+H | Paste history |
| Ctrl+Shift+B | Cmd+Shift+B | Broadcast mode |
| Ctrl+Shift+R | Cmd+Shift+R | Remote sessions |
| Ctrl+Shift+I | Cmd+Shift+I | Install software |
| Ctrl+Shift+K | Cmd+Shift+K | Git Change Search |
| Ctrl+Shift+Enter | Cmd+Shift+Enter | Toggle full screen |
| Ctrl+Shift+] | Cmd+Shift+] | Next tab |
| Ctrl+Shift+[ | Cmd+Shift+[ | Previous tab |
| Ctrl+Shift+↑↓←→ | Cmd+Shift+↑↓←→ | Navigate panes |
| Ctrl+Shift++ / - | Cmd+Shift++ / - | Zoom in / out |
| Ctrl+Shift+0 | Cmd+Shift+0 | Reset zoom |
| Ctrl+Shift+Y | Cmd+Shift+Y | View Timestamps |
| Ctrl+Shift+M | Cmd+Shift+M | Context menu |
| Ctrl+Shift+G | Cmd+Shift+G | Snap grid layout |
| Ctrl+Alt+←→↑↓ | Cmd+Alt+←→↑↓ | Snap left / right / maximize / center |
| Ctrl+Shift+U / O / J / L | Cmd+Shift+U / O / J / L | Snap corners (TL / TR / BL / BR) |
| Ctrl+1-9 | Cmd+1-9 | Switch to tab |
| Ctrl+Tab | Ctrl+Tab | Next tab |
AI assistance built into your terminal — with any provider you choose. Auto-detects AI CLI tools like Claude Code and Codex, opens smart split-pane workflows, and keeps your API keys local. Bring your own keys — yaw never proxies or sees your AI traffic.
Install AI CLI tools with the built-in wizard, then run them with a smart split-pane workflow: yaw opens the CLI tool on the left and a new terminal in the same directory on the right. Need a quick manual edit? yaw has a built-in file editor. Toggle the split-pane workflow on or off in settings.
Anthropic's AI coding agent. yaw detects Claude Code and auto-snaps a side-by-side terminal for running suggested commands.
OpenAI's CLI coding agent. Launches in split-pane mode with a paired terminal so you can review and run changes.
Google's Gemini in the terminal. Opens with a companion pane for testing code and checking results side by side.
A fast, multi-provider coding CLI. Gets the same split-pane treatment — tool on the left, terminal on the right.
Connect to the AI provider you already use. Each provider uses its native API with streaming support.
Anthropic's Claude models via the Anthropic API. Supports Claude Opus 4.6, Sonnet 4.6, and Haiku 4.5.
OpenAI's GPT models via the OpenAI API. Supports GPT-5.4, GPT-5.4 mini, GPT-5.4 nano, o3, and o4-mini.
Google's Gemini models via the Gemini API. Supports Gemini 3.1 Pro, 3.1 Flash Lite, 2.5 Pro, and 2.5 Flash.
Mistral AI models via the Mistral API. Supports Mistral Large 3, Small 4, and Codestral.
xAI's Grok models via the xAI API. Supports Grok 4, Grok 4 Fast, and Grok 3.
Run models locally with Ollama. No API key needed — everything stays on your machine. Models are detected automatically.
Claude models via AWS Bedrock. Uses your existing AWS credentials — no separate API key needed. Credentials are validated before enabling.
Access hundreds of models through one API. Pick from popular models or enter any custom model ID.
Run open models via HuggingFace's Inference API. Llama, Qwen, Mistral, Phi, Gemma, and more — or enter any model repo.
AI can see what's on your screen. Select terminal output and send it to the AI as context — error messages, logs, command output. The AI dialog floats above your terminal so you can reference output while chatting. Resize it, move it, or press Ctrl+Shift+A to toggle it.
Select an error message or unexpected output, right-click, and choose Explain This or Fix This. yaw sends the selected text to your AI provider with the right context and returns an explanation or a fix — no copy-pasting into a separate chat window.
Switch between providers and models with a dropdown. Start a conversation with Claude Opus, switch to GPT-5.4 for a second opinion, try Ollama for a local answer — all in the same session. Each provider's API key is stored separately. The active model is always shown so you know what you're talking to. OpenRouter and HuggingFace support custom model IDs for anything not in the curated list.
API keys are encrypted with AES-256-GCM and stored locally, just like connection credentials. Keys are never sent anywhere except to the provider's own API endpoint.
A built-in SSH client and connection manager. Manage SSH connections, connect to databases, and organize remote servers — all from your terminal. Credentials are encrypted locally — nothing leaves your machine.
If you use Tailscale, yaw detects your tailnet and lists available machines. Connect to any Tailscale node by name — no IP addresses to remember. MagicDNS hostnames are resolved automatically.
Six built-in connection types, each with a dedicated interface optimized for that service.
Connect to remote servers with password or key-based authentication. The built-in SSH client opens sessions directly in a terminal tab — no external tools needed.
Connect to PostgreSQL databases. Run queries and browse results in a table view.
Connect to MySQL and MariaDB servers. Full query interface with result formatting.
Connect to Microsoft SQL Server instances with Windows or SQL authentication.
Connect to MongoDB databases. Browse collections and run queries with JSON output.
Connect to Redis instances. Browse keys, inspect values, and run commands.
All connection credentials are encrypted using AES-256-GCM before being stored on disk. Your passwords and keys never leave your machine in plaintext. Encryption keys are derived from your OS user profile — DPAPI on Windows, Keychain on macOS, and the secret service API on Linux.
Assign colors to connection tags and see them reflected in your terminal. Color-code production servers red, staging yellow, development green — know at a glance which environment you're working in.
Manage tmux and GNU Screen sessions on any SSH host without leaving yaw. Open the Remote Sessions panel with Ctrl+Shift+R to see all active sessions on the connected server. Start new sessions, resume detached ones, detach from running sessions, or kill them — all from a single panel. No need to remember tmux or screen commands.
Press Ctrl+Shift+S to open the connection manager. All connections are grouped by type and searchable — find what you need instantly even with dozens of saved connections. One-click connect opens a new terminal tab or database session.
Connect to any saved connection directly from the command line — no GUI needed. Runs inline in your current shell with zero startup overhead. Useful for scripting, quick checks, or when you just want to connect without opening the full app.
Connect to a saved connection: Works with all 6 connection types — SSH, PostgreSQL, MySQL, SQL Server, MongoDB, and Redis.
yaw connect prod-db
yaw connect staging-redis
yaw connect my-postgres
List all saved connections:
yaw connect list
SSH with auto-attach tmux/screen: Connects via SSH and automatically attaches to an existing tmux or screen session on the remote server. If no session exists, one is created for you.
yaw session bastion
yaw session prod-web
List saved SSH connections:
yaw session list
Both commands run without launching the Electron app — they execute directly in your current terminal. Connections are looked up from the same saved connections you manage in the GUI.
Edit files without leaving the terminal. yaw ships a built-in file editor powered by micro — preconfigured with the Catppuccin Mocha theme and sensible defaults. No setup required.
Type yaw filename to edit any file. Runs inline in your current terminal — no new window, no GUI overhead. When you're done, Ctrl+Q returns you to your shell prompt.
yaw ~/.bashrc # Edit a file
yaw config.json # Edit (creates if new)
yaw ~/projects # Opens yaw in that directory
yaw -- -weird-name.txt # Edit file starting with dash
Right-click in any local terminal pane to access the File Editor section. Create a new file, open an existing one with a file dialog, or pick from your recently edited files.
The editor ships ready to use with settings optimized for the terminal workflow:
( and get ()The editor's configuration lives at ~/.yaw/editor/, completely separate from any micro installation you might have. Your personal micro config stays untouched — yaw's editor is its own self-contained environment.
Free to use. No account required. Zero telemetry. Install yaw →