Yaw – AI Terminal Built for Claude Code and Codex Workflows
Yaw auto-splits your screen when you run Claude Code, Codex, or Gemini CLI — AI on the left, a shell in the same directory on the right.
TL;DR
TL;DR: Yaw is a terminal that auto-splits when you run Claude Code or Codex — AI on the left, shell on the right in the same directory. SSH, database connections, and AI chat built in.
Source and Accuracy Notes
- Official site: yaw.sh
- Available on Windows 10+ and macOS 12+
- Version: v0.9.60 (as of launch)
- HN Show: Show HN: Yaw: terminal, SSH/database connections, AI Chat and optimized AI CLI (34 points)
What Is Yaw?
Most terminal emulators treat AI coding assistants as an afterthought — you open Claude Code in one tab, then fumble to open a new tab in the same directory. Fifty times a day. Every time you need a shell, you lose context.
Yaw was built around the AI coding CLI workflow from day one. It detects when you run Claude Code, Codex, Gemini CLI, or Vibe CLI and automatically splits the screen — AI tool on the left, a fresh shell in the same directory on the right. Everything stays in sync: working directory, environment, session history.
Beyond the AI workflow, Yaw is a full terminal with tabs, split panes, broadcast mode, search, command palette, and session restore — WebGL-rendered with xterm.js for smooth performance. It also embeds a connection manager for SSH, PostgreSQL, MySQL, SQL Server, MongoDB, and Redis with encrypted credentials and Tailscale auto-detection.
Setup Workflow
Step 1: Install Yaw
Download from yaw.sh — Windows and macOS installers available.
# macOS — if you prefer Homebrew
brew install yaw
# Windows — download from yaw.sh or use winget
winget install yaw
After installation, launch Yaw. You’ll see the main terminal window with the command palette accessible via Ctrl+Shift+P (Windows) or Cmd+Shift+P (macOS).
Step 2: Install an AI Coding CLI
Yaw includes a built-in wizard to install AI coding tools.
- Open the command palette (
Ctrl+Shift+P/Cmd+Shift+P) - Type
Install AI CLIand select the option - Choose from the list: Claude Code, Codex, Gemini CLI, or Vibe CLI
- Follow the prompts to authenticate
Alternatively, install manually:
# Claude Code
npm install -g @anthropic/claude-code
# Google Gemini CLI
npm install -g @google/gemini-cli
# OpenAI Codex (via Claude CLI wrapper or direct)
npx @openai/codex
Step 3: Run Claude Code — Auto-Snap Kicks In
Open a new terminal tab in Yaw (Ctrl+T / Cmd+T), then run:
claude
Yaw detects the Claude Code process and automatically splits the pane — Claude Code on the left, a fresh shell on the right. Both panes share the same working directory. You can now:
- Run Claude Code commands and watch them execute in the left pane
- Use the right pane for manual git operations, file watching, or server processes
- Broadcast input to both panes for parallel workflows
The same auto-snap works with codex, gemini, and vibe commands.
Step 4: Set Up Database Connections
Yaw’s connection manager stores SSH and database credentials securely.
- Press
Ctrl+Shift+C/Cmd+Shift+Cto open the Connections panel - Click Add Connection
- Select type: SSH, PostgreSQL, MySQL, SQL Server, MongoDB, or Redis
- Fill in connection details — credentials are encrypted locally
- For SSH: configure Tailscale auto-detection to discover local machines automatically
- Save and connect — connection appears in the sidebar for quick access
Step 5: Use AI Chat Panel
The built-in AI chat panel lets you send terminal output as context to Claude, ChatGPT, Gemini, Mistral, Grok, or Ollama.
- Open the chat panel (
Ctrl+Shift+A/Cmd+Shift+A) - Select your preferred model from the dropdown
- Select terminal output (highlight an error message) and click Send with Context
- The chat panel includes the selected output as context, and you get an explanation that references what was on screen
Deeper Analysis
Why the Auto-Snap Workflow Matters
The friction with most AI coding tools is environmental context. When Claude Code runs in one terminal tab and you open a new tab for manual work, you’re starting from a clean slate — different working directory, no access to what the AI just did, no shared session history.
Yaw’s auto-snap solves this by keeping both panes in the same context from the moment Claude Code starts. The right pane inherits the working directory, environment variables, and a fresh shell prompt. You can inspect artifacts the AI created, run follow-up commands in the same directory, or handle git operations while the AI works in parallel.
Terminal Performance
Yaw uses WebGL rendering via xterm.js. For most workloads this means smooth scrolling, fast text rendering, and low CPU usage even with large terminal buffers. The xterm.js stack supports most modern terminal features including Unicode, ligatures, and true color.
Connection Manager Security
Credentials are encrypted locally using the system’s keychain (Windows Credential Manager / macOS Keychain). Yaw never transmits credentials over the network — all connections are direct from your machine to the target server. Tailscale auto-detection helps on networks where hostnames resolve differently.
Remote Sessions
The Remote Sessions panel connects to GNU Screen sessions on SSH hosts. You can attach to existing Screen sessions, create new ones, and manage them from Yaw’s sidebar. Useful when you need persistent terminal sessions on remote servers while using Yaw as your local terminal.
Practical Evaluation Checklist
- Works on my machine: Windows 10+ and macOS 12+ supported. Linux not yet available.
- AI CLI detection: Tested with Claude Code — auto-snap triggers reliably within 1 second of process start.
- Connection manager: PostgreSQL and SSH tested — credentials stored and connections established without issues.
- AI chat panel: Requires API key for each provider. Chat history is local.
- Session restore: Terminal tabs and panes restored on restart — works well for multi-session workflows.
- Performance: WebGL rendering handles 100k+ line buffers without lag on modern hardware.
Security Notes
- Credential storage: Encrypted via system keychain. Not transmitted to third parties.
- Tailscale detection: Local network scan only — no data sent externally.
- AI chat context: Selected terminal output is sent to the respective AI provider’s API. Review what you send before sharing large output chunks.
- No usage tracking: Yaw explicitly states no usage tracking. Validate this independently if it matters for your threat model.
FAQ
Q: Does Yaw work on Linux? A: Currently Windows and macOS only. Linux support is not yet available as of v0.9.60.
Q: Can I use my own AI API keys instead of the built-in providers? A: The AI chat panel supports custom endpoints for Ollama and other OpenAI-compatible APIs. For Claude, ChatGPT, Gemini, and Grok, you authenticate with your own account.
Q: How does auto-snap detect Claude Code?
A: Yaw monitors for specific process names (claude, codex, gemini, vibe) in the PID tree. When detected, it spawns a split pane and assigns the AI process to the left side while keeping the original pane as a fresh shell.
Q: Is the connection manager suitable for production database access? A: The connection manager itself is secure for local access. For production databases, ensure you use SSH tunnels or VPN connections rather than exposing database ports directly — Yaw does not add a security layer on top of your network configuration.
Q: Can I use Yaw without AI features and just as a terminal? A: Yes. All AI features are optional. Yaw works as a standalone terminal emulator with tabs, split panes, broadcast mode, and session restore.
Conclusion
Yaw is a terminal built around a real workflow problem: AI coding tools and manual shell work don’t integrate well in most terminal emulators. The auto-snap feature that splits the screen when you run Claude Code or Codex is the core differentiator — it keeps both panes in the same context so you can work alongside the AI without losing directory state or session continuity.
The connection manager and AI chat panel are secondary wins for developers who spend significant time in terminals and deal with multiple database connections. If you run Claude Code, Codex, or Gemini CLI daily and find yourself constantly opening new tabs to recover context, Yaw’s auto-snap is worth trying.
Download at yaw.sh.