A fast, secure, and memory-efficient terminal emulator for macOS.
- Single window, multiple terminals — Manage multiple shell sessions in one window with an integrated overview grid.
- Memory-controlled scrollback — Unlike macOS Terminal, scrollback memory is capped and automatically rolled. No more runaway memory from
tail -F. - Metal-accelerated rendering — GPU-rendered terminal with sRGB color management, glyph atlas caching, and offscreen thumbnail compositing.
- Shell flexibility — Defaults to your system shell (typically zsh), with automatic fallback to bash and sh.
- Full IME support — Japanese and other multi-byte input via macOS Input Methods with correct cursor positioning.
- Workspace management — Organize terminals into named workspaces with persistent notes.
- Dark theme — Black background, optimized for CLI tools like Claude Code.
- Code signed and notarized — Distributed with Developer ID signature and Apple notarization for Gatekeeper compatibility.
- Zero external dependencies — Built entirely on macOS system frameworks (AppKit, Metal, Security). No third-party libraries.
- macOS 26 (Tahoe) or later
- Xcode Command Line Tools (for building from source)
Download the latest pterm.zip from Releases, unzip, and move pterm.app to /Applications.
Debug build:
make debug
open .build/pterm.appRelease build:
make buildmake build runs the full regression test suite before producing the release app bundle.
Run tests:
make testProfile CPU hot paths:
make profile-cpuSign with a Developer ID certificate:
make sign IDENTITY='Developer ID Application: Your Name (TEAMID)'Build, sign, notarize, and package in one step:
make notarize \
IDENTITY='Developer ID Application: Your Name (TEAMID)' \
NOTARY_PROFILE='your-notarytool-profile'The notarized app is stapled and verified automatically. Distribute .build/pterm.zip.
This application was built with Claude Code and Codex.
