{"id":47191946,"url":"https://github.com/pontasan/pterm","last_synced_at":"2026-04-01T20:04:22.640Z","repository":{"id":344145698,"uuid":"1180625810","full_name":"pontasan/pterm","owner":"pontasan","description":"A blazing-fast, memory-efficient terminal for macOS built with Swift and Metal.","archived":false,"fork":false,"pushed_at":"2026-03-21T07:43:57.000Z","size":46177,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-21T10:46:05.491Z","etag":null,"topics":["agent","ai","cli","command-line","gpu","llm","macos","macos-app","metal","mux","performance","pty","swift","terminal","terminal-emulator","tmux","zsh"],"latest_commit_sha":null,"homepage":"https://github.com/pontasan/pterm","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pontasan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-13T08:33:24.000Z","updated_at":"2026-03-21T07:44:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pontasan/pterm","commit_stats":null,"previous_names":["pontasan/pterm"],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/pontasan/pterm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pontasan%2Fpterm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pontasan%2Fpterm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pontasan%2Fpterm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pontasan%2Fpterm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pontasan","download_url":"https://codeload.github.com/pontasan/pterm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pontasan%2Fpterm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","ai","cli","command-line","gpu","llm","macos","macos-app","metal","mux","performance","pty","swift","terminal","terminal-emulator","tmux","zsh"],"created_at":"2026-03-13T11:00:42.852Z","updated_at":"2026-04-01T20:04:22.630Z","avatar_url":"https://github.com/pontasan.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pterm\n\n**A terminal built for the AI era — seamlessly integrated with AI, built entirely by AI.**\n\nAnalyze logs, get instant explanations, ask questions — all without leaving the terminal. pterm integrates with Claude Code, Codex, and Gemini so that AI assistance is always one right-click away.\n\n![AI agents running in parallel](Resources/demo2.gif)\n\n## AI Integration\n\n### Summarize Anything\n\nSelect any output — error logs, stack traces, command results — and let AI break it down instantly. Right-click, summarize, done.\n\n![AI Summarize](Resources/pterm4.gif)\n\n### Ask AI with Full Context\n\nOpen a chat dialog and AI sees everything: your working directory, running process, and recent output. No copy-pasting into a separate window. Multi-turn conversation, right where you work.\n\n![AI Chat](Resources/pterm5.gif)\n\n### Clipboard File Pipeline\n\nPaste or drop an image and pterm saves it to a managed store, inserting the file path inline — ready for AI tools that accept file references. Hover over the path to see a floating preview.\n\n[![Paste and preview images](Resources/pterm3.gif)](https://youtu.be/hHrQJYsN0gc)\n\n### Works with Your AI Tools\n\n- **Claude Code, Codex, Gemini** — choose your model in Settings \u003e AI\n- Responses in **40 languages** matching your macOS language\n- All processing runs through your locally installed CLI — **no data leaves your machine through pterm**\n\n### I/O Hooks — Tap Into Terminal Output\n\nHook into terminal I/O streams and pipe data to external processes in real time. Designed for TUI-based AI tools like Claude Code — capture responses for text-to-speech, completion detection, or audit logging without interfering with the terminal.\n\n![I/O Hooks Architecture](Resources/io_hooks_architecture.png)\n\nThree buffering modes for different use cases:\n\n- **immediate** — raw PTY bytes for custom parsers and byte-level analysis\n- **line** — clean text, line by line, for log files and grep\n- **idle** — screen snapshots on output pause with **LCS-based line diff** — sends only changed lines, eliminating TUI redraw noise\n\n**Example: Read AI responses aloud.** Configure an idle-mode hook matching `claude`, connect it to a TTS engine, and pterm streams only new response content — no duplicates from screen redraws, no prompt noise. Each chunk is NUL-delimited for easy parsing in shell scripts (`read -d ''`).\n\nZero overhead when disabled — the PTY read path is identical to a build without the hook feature.\n\n### MCP Server\n\nBuilt-in [Model Context Protocol](https://modelcontextprotocol.io/) server with 20+ tools. AI agents can list, read, and control terminals programmatically — enabling fully autonomous workflows.\n\n## One Window, Every Session\n\nSee all running terminals at a glance in the overview grid. Click to focus, Shift-select to split. No more window juggling.\n\n![Overview grid](Resources/demo.gif)\n\n![Split view](Resources/screenshot.jpg)\n\n- **Overview grid** — every session, live-updating, in a single view\n- **Split view** — Shift-click to select multiple terminals and work side by side\n- **Auto-cleanup** — terminals disappear on exit. Close button to stop a process and remove it\n\n## Bounded Memory — Stay Stable Under Heavy Output\n\npterm caps scrollback automatically — run `tail -F` for hours and memory stays flat. No bloat, no slowdown, no OOM surprises.\n\n![Stable memory under tail -F](Resources/pterm7.gif)\n\n## Full IME Support\n\nNative input method support for Japanese, Chinese, Korean, and other CJK languages. Inline composition, candidate windows, and cursor positioning all work correctly — even in split view.\n\n![IME input demo](Resources/pterm6.gif)\n\n## Performance\n\nMetal-accelerated rendering. Apple Silicon optimizations. Zero external dependencies. Built to handle high-volume output without dropping frames.\n\nAll benchmarks on **Apple MacBook Pro M1 Max (2021, 16-inch), 64 GB RAM, macOS 26 Tahoe**.\n\n#### Throughput — [kitten Benchmark](https://sw.kovidgoyal.net/kitty/performance/)\n\n```bash\nkitten __benchmark__ --render --repetitions 100\n```\n\n| Terminal | ASCII | Unicode | CSI codes | Long escapes | Images | Average |\n|---|---:|---:|---:|---:|---:|---:|\n| **pterm (0.3.2)** | 🥇 **126.0 MB/s** | 🥇 **143.1 MB/s** | 🥇 **114.8 MB/s** | 🥇 **527.4 MB/s** | 🥇 **354.2 MB/s** | 🥇 **253.1 MB/s** |\n| kitty (0.46.0) | 89.9 MB/s | 🥉 123.1 MB/s | 🥉 56.2 MB/s | 🥈 270.6 MB/s | 243.8 MB/s | 🥉 156.7 MB/s |\n| Alacritty (0.16.1) | 🥈 113.2 MB/s | 🥈 142.2 MB/s | 🥈 72.1 MB/s | 171.1 MB/s | 🥈 315.1 MB/s | 🥈 162.7 MB/s |\n| Ghostty (1.3.1) | 🥉 86.7 MB/s | 99.9 MB/s | 38.2 MB/s | 68.7 MB/s | 52.3 MB/s | 69.2 MB/s |\n| WezTerm (20240203-110809-5046fc22) | 25.5 MB/s | 38.4 MB/s | 17.9 MB/s | 🥉 238.9 MB/s | 🥉 295.1 MB/s | 123.2 MB/s |\n| macOS Terminal (2.15) | 27.5 MB/s | 41.1 MB/s | 30.4 MB/s | 93.5 MB/s | 62.3 MB/s | 50.9 MB/s |\n| iTerm2 (3.6.9) | 11.6 MB/s | 6.6 MB/s | 1.4 MB/s | 22.5 MB/s | 9.8 MB/s | 10.4 MB/s |\n\n#### `time seq 1 1000000`\n\n| Terminal | Time |\n|---|---:|\n| **pterm (0.3.2)** | 🥇 **0.799s** |\n| WezTerm (20240203-110809-5046fc22) | 🥈 0.839s |\n| kitty (0.46.0) | 🥉 0.886s |\n| Alacritty (0.16.1) | 1.016s |\n| Ghostty (1.3.1) | 1.021s |\n| macOS Terminal (2.15) | 1.158s |\n| iTerm2 (3.6.9) | 1.212s |\n\n[Watch the benchmark video on YouTube](https://www.youtube.com/watch?v=CV9ufPY-54A)\n\n[![Benchmark video](https://img.youtube.com/vi/CV9ufPY-54A/maxresdefault.jpg)](https://www.youtube.com/watch?v=CV9ufPY-54A)\n\n## Terminal Search\n\nCmd+F with match highlighting, VS Code-style scrollbar minimap, and circular navigation. Find what you need in thousands of lines of output instantly.\n\n## Terminal Compatibility\n\nFull VT escape sequence support — synchronized updates, double-width/height lines, grapheme clusters, color emoji, inline images, ANSI/256/truecolor. Drop-in replacement for your current terminal.\n\n## CLI Modes\n\n- `--cli` — headless bridging for scripting and automation\n- `--command` — launch a transient terminal that runs a single command\n- `--user-data-dir` — isolated profiles for separate environments\n\n## Security\n\nZero third-party dependencies. Every line of code is auditable. Code signed and notarized by Apple.\n\n## Requirements\n\n- macOS 26 (Tahoe) or later\n\n## Install\n\nDownload the latest `pterm-darwin-arm64.zip` from [Releases](https://github.com/pontasan/pterm/releases), unzip, and move `pterm.app` to `/Applications`.\n\n## Development\n\n100% AI-coded. Not a single line was written by hand. Every feature, every optimization, every Metal shader — generated entirely by [Claude Code](https://claude.com/claude-code) and [Codex](https://openai.com/index/codex/). A terminal built by AI, for the AI era — pushing beyond what manual engineering can achieve.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpontasan%2Fpterm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpontasan%2Fpterm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpontasan%2Fpterm/lists"}