YEN Terminal

GPU-accelerated terminal for macOS (13.0+ required). Install, configure (VT100 / xterm), and GLHF.

YEN is a personal side quest to build an easy-to-customize, fast, and incredibly performant terminal for macOS; I use it every single day.

Feedback is always welcome! Type chat or ping @yenFTW with thoughts.

Summarize via AI:

Get Started

StepAction
1. DownloadOpen the .dmg file
2. InstallDrag YEN to Applications
3. First launchRight-click YEN.app, click Open
4. UpdatesAutomatic via Sparkle (checks on launch)

Terminal History

Terminals have evolved dramatically over five decades. Each generation added capabilities — but also complexity, overhead, and distance from what makes a terminal great.

1978 — VT100

ANSI escape codes. Hardware standardization. The foundation every terminal still builds on.

1984 — xterm

Software terminal for X11. Proved the hardware could be virtualized without losing capability.

2008 — iTerm2

Tabs, profiles, split panes. macOS power users finally had options — but feature creep had begun.

2017 — Hyper

Electron. Web tech. Plugins. Beautiful themes — wrapped in 100MB+ of Chrome. Style over substance.

2021 — Warp, Fig, and others

AI assistance. Cloud sync. Account required. Your commands, sent to servers. The terminal became a product to monetize.

2026 — YEN

Back to fundamentals. GPU rendering. Native speech-to-text. No cloud lock-in. No account required for local desktop use. No AI watching what you type. Just a fast terminal that respects your privacy.

YEN doesn't reject progress — it rejects unnecessary complexity. Everything we add must make you faster without making you dependent on cloud services or AI subscriptions.

Terminal IDE

Most IDEs are text editors that bolted on a terminal panel. YEN takes the opposite approach — start with the fastest terminal on macOS, then add IDE capabilities around terminal-first workflows. No Electron. No web views. No second app to switch to.

The approach

Core actions stay in terminal context. Features that need richer UI (such as Settings, Scratchpad, and overlays) use native macOS panels anchored to active terminal workflow instead of browser-style views.

CapabilityShortcut
GPU terminal — Metal rendering, 60 FPSAlways on
Speech-to-text — on-device, 50+ languagesOption + Space
Settings — 460+ themes, fonts, cursor, opacity, padding, notifications, split layouts, permissionsCmd + ,
File browser — browsing, syntax-aware previews, bundled static theme/flavor defaultsCmd + Shift + O
Global Chat — built-in chat rooms (Lounge, Feedback, Show & Tell, Support)Type chat in YEN (or yen chat in any shell)
Local weather — Open-Meteo, coordinate-first with ASCII icons, 6-hour hourly forecast, and grouped outputType weather in YEN (or yen weather in any shell)
Screenshot — save window to file and clipboardCmd + Shift + S
Tab sidebar — vertical tab panel for visual tab managementCmd + Shift + B
Scratchpad — right-side quick notes panel with seeded helper copy, Cmd + C/Cmd + V, and highlight-to-auto-copyCmd + Shift + J
Quick Terminal — global hotkey dropdownCtrl + `
Split layout presets — 10 one-click configurationsCmd + Option + 1-0
Bundled tools — fd, rg, fzf, zoxide, bat, jq, and moreZero setup — no homebrew needed
Window state restoration — splits, tabs, positionsAutomatic
Shell integration — bash, zsh, fish, elvish, nushellAutomatic

New features ship weekly (sometimes daily)!

Traditional IDETerminal-First IDE (YEN)
Editor with a terminal panelTerminal with editing capabilities
Electron or web viewNative GPU rendering
Hundreds of MB at installLightweight from day one
Features you never asked forEach feature is opt-in
Cloud accounts, telemetryNo required desktop account. No desktop telemetry. Website uses anonymous aggregate analytics.

Speech-to-Text

On-device speech-to-text — no AI services, no cloud. Hold Option + Space in any app.

Hold Option + Space in any app — YEN, Safari, VS Code, Notes, anything — speak, and release. Your words appear at the cursor. Audio never leaves your Mac. Read more on the blog.

Works on macOS 13+. On macOS 26+, sessions are unlimited and missing language packs install automatically (foreground-gated; background attempts use non-modal recovery). Clipboard is restored after paste. Translate-on-Dictate (experimental, off by default) can translate transcripts before paste on macOS 26+ when translation assets are installed.

Recording indicator

A recording dot blinks in the menu bar while listening. Release to paste.

FeatureYEN
Privacy100% on-device (macOS Speech Recognition)
Binary sizeZero bloat — no AI models
Languages50+ (whatever macOS supports)
CompatibilityAny macOS app — Safari, VS Code, Notes, Slack, plus shell, vim, nano, ssh
CostFree forever
OfflineYes (macOS 13+, after language assets are installed)
DurationmacOS 26+: unlimited; older macOS: 60s (auto-pastes)

Pro tip: On older macOS, release and press again for longer content. Enable Launch at Login in Settings> Sounds > Speech Setup for dictation without a terminal window open.

Settings

Press Cmd + , to toggle Settings. Five tabs — General, Sounds, Workspace, Themes, Keyboard. Most changes apply in real-time across every open tab.

YEN Settings panel showing font, cursor, appearance, and dictation options

460+ bundled themes with live previews and instant apply. Comfort settings (font, cursor, opacity, padding) stay independent so you can switch themes without losing your preferred ergonomics. Window Border controls live in General > Appearance. Workspace includes instant toggles for Tab Sidebar (Cmd + Shift + B) and Scratchpad (Cmd + Shift + J).

The Sounds tab includes a Speech Setup section with live permission status for Accessibility, Microphone, and Speech Recognition. Use Cmd + Shift + P then type settings themes to jump directly to any tab.

The Keyboard tab includes reserved-shortcut disclosure, conflict detection, and inline shortcut recording with clear constraints: shortcuts must include Cmd/Ctrl/Option, Esc cancels recording, and capture times out after 10 seconds.

YEN Settings panel showing 460+ bundled themes with search and color previews

Advanced configuration:

Config path
~/Library/Application\ Support/com.yenchat.yen/config.yen

File Browser

Press Cmd + Shift + O to open the file browser. It launches inside the terminal — not in a floating window, not in a sidebar. Browse directories, preview files, and manage your project without leaving the terminal surface.

Terminal-native with cd-on-quit

Renders inside the terminal with async I/O — large directories load instantly. Press q to exit and your shell follows to the last directory you visited. Press Enter on code files for a colorized read-only view, or O for open-with.

FeatureDetails
Syntax-highlighted previewsCode, images, archives, videos, PDFs
Quick LookSpace for native macOS preview
Search and fuzzy find/ to search, z to jump to frequent dirs
File operationsCopy, move, delete, undo, bulk rename, archive extract
Vim + mouse navigationh/j/k/l, visual selection, click, scroll
Git status indicatorsModified, staged, untracked icons inline
cd-on-quitq to exit; shell follows to last directory
Open in editor / Findere for $EDITOR, g r for Finder
Full shortcut referencePress ? inside the file browser

Commands & Shortcuts

Keyboard shortcuts:

ActionKey
Command paletteCmd + Shift + P
SettingsCmd + ,
File browserCmd + Shift + O
Speech-to-textOption + Space
Split layout presetsCmd + Option + 1-0
Split horizontal / verticalCmd + D / Cmd + Shift + D
New tab / windowCmd + T / Cmd + N
Close tab / paneCmd + W
Quick TerminalCtrl + `
ScreenshotCmd + Shift + S
Tab sidebarCmd + Shift + B
ScratchpadCmd + Shift + J
Copy screen file pathCmd + Ctrl + Shift + U
Paste screen file pathCmd + Shift + U
Open screen fileCmd + Option + Shift + U
Copy-on-selectSelect text; hold Shift in TUI apps
Font size +/-Cmd + + / Cmd + -
Toggle fullscreenCmd + Enter

CLI commands:

Commands run immediately inside YEN. In external shells, run yen init zsh or yen init bash once, then restart the shell so wrappers like y, chat, mail, and weather, btop, and fastfetch route to YEN.

CommandDescription
chatGlobal chat rooms (Lounge, Feedback, Show & Tell, Support)
mail (email)Gmail client (compose, reply, forward, labels, search)
calendarGoogle Calendar (agenda, month, day, week views; RSVP)
weatherLocal weather ( --city, --metric/--imperial)
btop (monitor, resources)System monitor TUI (bundled btop)
fastfetch (fetch)System info snapshot (bundled fastfetch)
biosSystem info snapshot with YEN BIOS branding
browse (files, fm)File browser
yFile browser with cd-on-quit
yengit (lazygit, gitlazy, gityen)Git TUI (bundled lazygit)
yen helpFull command reference and aliases
yen +list-themesList all 460+ bundled themes
yen +edit-configOpen config in $EDITOR
yen init zshShell integration for external zsh
yen init bashShell integration for external bash
yen updateCheck for a newer release
yen --versionShow version

App keys (Chat / Gmail / Google Calendar defaults):

ActionKey
Chat
Switch roomsTab / Shift + Tab
Send / new lineEnter / Option + Enter
Quit / change handle/q / /h
Paste imageCtrl + V or drag file
Mail
Open / archive / trashEnter / e / #
Reply all / undoa / z
Next / previous email (reader)j / k
Calendar
Create / open eventc / Enter
Navigate / todayj/k / t
Switch viewsa/m/d/w

Need the complete command + alias reference? Run yen help. For full file browser shortcuts, press ? inside the file browser.

Custom keybindings:

Open Settings > Keyboard to view all shortcuts, detect conflicts with popular apps, and re-record editable shortcuts inline. For advanced config, edit the config file directly.

Troubleshooting

  • App won't open: Right-click YEN.app → Open, or allow in System Settings → Privacy & Security.
  • Commands not found: YEN commands only work inside YEN terminal, not Terminal.app.
  • Speech-to-text not working: Grant Accessibility, Microphone, and Speech Recognition permissions in System Settings → Privacy & Security. Dictation listens to exact Option + Space only (no Cmd/Ctrl/Shift). Check the menu bar dropdown for blocked-state recovery actions.
  • Permissions granted but still blocked: In Settings > Sounds > Speech Setup, check Local Speech status and use Re-check.
  • Option + Space conflicts: Check for conflicts with input source, Spotlight, Alfred, or Raycast shortcuts. Use Settings > Keyboard for fixed-shortcut conflict guidance.
  • Layout shortcut not firing: Use exact Cmd + Option + 1-0 with no extra modifiers, and keep terminal focus (Settings intentionally does not consume layout shortcuts).
  • Cursor style/blink not previewing: Changes are applied, but preview appears after you refocus a terminal window (unfocused terminals show a hollow block cursor).
  • Opacity slider looks unchanged: Background opacity applies after app restart. Use Window Border for an immediate focus cue.
  • Dictation menu shows blocked: Check the menu bar dropdown for recovery actions. In Settings > Sounds > Speech Setup, use Re-check to verify local speech service status.
  • Layout shortcuts not working in Settings: Cmd + Option + 1-0 is intentionally ignored while Settings is focused. Click a terminal window first.
  • File browser not opening: Verify the terminal window is focused, not the Settings panel or another window.
  • "command not found: y": Shell integration isn't active in this shell. In external shells, run yen init zsh (or bash) and restart that shell. In YEN, this usually means integration was disabled; use browse instead.
  • mail / chat / weather / btop / fastfetch runs a system command: Your shell integration is missing/outdated. Re-run yen init zsh (or bash) in external shells, then restart the shell.

Reset config to defaults:

Terminal
$ rm ~/Library/Application\ Support/com.yenchat.yen/config.yen