by peters
GPU-accelerated terminal board that puts all your sessions on an infinite canvas
# Add to your Claude Code skills
git clone https://github.com/peters/horizonLast scanned: 8/14/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-14T05:37:17.384Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}horizon is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by peters. GPU-accelerated terminal board that puts all your sessions on an infinite canvas. It has 696 GitHub stars.
Yes. horizon passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/peters/horizon" and add it to your Claude Code skills directory (see the Installation section above).
horizon is primarily written in Rust. It is open-source under peters on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh horizon against similar tools.
No comments yet. Be the first to share your thoughts!
Tabbed terminals hide your work. Tiled terminals box you in. Horizon gives you a canvas — an infinite 2D surface where every terminal lives as a panel you can place, resize, and group however you want.
Think of it as a whiteboard for your terminal sessions with a structured workflow on top. Start with color-coded workspaces, launch preset panels, jump with Quick Nav, and fit the active workspace whenever you want a clean overview.
Pan and zoom freely across a boundless workspace surface. Place terminals anywhere. A minimap in the corner keeps you oriented — click it to jump.
Group related panels into color-coded workspaces. Auto-arrange with three layout modes — rows, columns, grid — or drag panels freely.
24-bit color, mouse reporting, scrollback, alt-screen, and Kitty keyboard protocol. Powered by the Alacritty terminal engine — the same one behind the fastest terminal on the planet.
First-class Claude Code, Codex, OpenCode, Gemini CLI, and KiloCode integration. Session persistence and resume work where the underlying agent CLI supports it. A live usage dashboard tracks token spend across agents.
A built-in git status panel watches your repo in the background. See changed files, inline diffs, and hunk-level detail — no context switching.
Ctrl+click a URL to open it. Hover a file path and click to jump to it. Horizon sees what your terminal prints and makes it interactive.
Ctrl+Shift+H opens a fast overlay that discovers hosts from SSH config and Tailscale. Search, filter, and connect instantly. Type user@filter to override the SSH user. Connected sessions are grouped into a Remote Sessions grid workspace.
Open the config with Ctrl+Shift+, — a side panel with YAML syntax highlighting and live preview. Toggle between light and dark themes or follow the system; every change applies instantly to the canvas behind it.
Close Horizon, come back tomorrow. By default, your sessions, panel layouts, scroll positions, and terminal history are restored exactly as you left them. An opt-in setting can organize attached workspaces into a horizontal row after restore.
Drop a .md file onto the canvas or create one from the command palette. Split view with syntax highlighting and live preview, saved with Ctrl+Shift+S.
Grab the latest release from Releases — no dependencies needed.
| Platform | Raw binary | Surge installer | |
|---|---|---|---|
| Linux x64 | horizon-linux-x64.tar.gz |
horizon-installer-linux-x64.bin |
Extract and run, or use the installer for managed stable updates |
| macOS arm64 | horizon-osx-arm64.tar.gz |
horizon-installer-osx-arm64.bin |
Extract and run, or use the installer for managed stable updates |
| macOS x64 | horizon-osx-x64.tar.gz |
horizon-installer-osx-x64.bin |
Extract and run, or use the installer for managed stable updates |
| Windows x64 | horizon-windows-x64.exe |
horizon-installer-win-x64.exe |
Run the raw binary directly, or use the installer for managed stable updates |
Homebrew and other package-manager installs keep using the package manager's own upgrade flow. Horizon only offers the in-app update prompt for installs created by the Surge installer.
Stable releases are available through the peters/horizon tap on macOS and Linux x64:
brew install peters/horizon/horizon
If you prefer to add the tap explicitly first:
brew tap peters/horizon
brew install horizon
To update or remove it later:
brew upgrade horizon
brew uninstall horizon
brew untap peters/horizon
Stable releases are submitted to the official Windows Package Manager catalog. After a release's manifest PR is approved, install, upgrade, or remove Horizon with:
winget install Peters.Horizon
winget upgrade Peters.Horizon
winget uninstall Peters.Horizon
Stable releases are also published to the Snap Store on Linux x64 as a classic snap:
sudo snap install horizon-ui --classic
snap refresh horizon-ui
snap remove horizon-ui
Classic confinement is intentional. Horizon launches host shells and host tools such as ssh, git, xdg-open, pgrep, lsof, and optional tailscale helpers, so a strict sandbox would compromise core workflows.
git clone https://github.com/peters/horizon.git
cd horizon
git lfs install
git lfs pull
cargo run --release
Requires Git LFS for bundled assets and Rust 1.88+. Linux needs system headers for GPU rendering — see AGENTS.md for per-distro install commands.
Most app shortcuts use Ctrl+Shift to avoid conflicts with shell programs (Ctrl+C, Ctrl+K, Ctrl+B, etc.) and OS-level bindings. Canvas zoom keeps the standard Ctrl/Cmd+0, Ctrl/Cmd+Plus, and Ctrl/Cmd+Minus bindings. They are configurable through the shortcuts: block in your config file and editable from the built-in settings panel.
Duplicate or overlapping bindings are rejected, including near-conflicts such as Ctrl+B and Ctrl+Shift+B.
| Shortcut | What it does |
|---|---|
| Ctrl+Shift+K | Quick-navigate to any workspace |
| Ctrl+Shift+N | New terminal panel |
| Ctrl+Shift+W | Focus the active workspace at the current zoom |
| Ctrl+Shift+9 | Fit the active workspace into view |
| Ctrl+Shift+H | Open Remote Hosts overlay |
| Ctrl+Shift+J | Open the sessions picker |
| Ctrl+Shift+B | Toggle sidebar |
| Ctrl+Shift+U | Toggle HUD |
| Ctrl+Shift+M | Toggle minimap |
| Ctrl+Shift+A | Align visible attached workspaces into a horizontal row |
| Ctrl+Shift+, | Open settings editor |
| Ctrl+Shift+F | Focus the terminal search bar |
| Ctrl+0 | Reset canvas zoom to 100% |
| Ctrl+Plus | Zoom canvas in |
| Ctrl+Minus | Zoom canvas out |
| F11 | Fullscreen the active panel |
| Escape | Exit active panel fullscreen |
| Ctrl+Shift+F11 | Toggle window fullscreen |
| Ctrl+Shift+S | Save the active Markdown editor |
| Ctrl+Shift+C | Copy the current terminal selection |
| Ctrl+Shift+V | Paste into the focused terminal |
| Ctrl+Shift+R | Reconnect the focused disconnected SSH panel |
If you do not want to start by dragging panels around the canvas, use Horizon like this:
| Interaction | What it does |
|---|---|
| Middle-mouse drag | Pan the canvas |
| Space + Left-click drag | Pan the canvas |
| Minimap click-and-drag | Jump to that area of the canvas |
| Ctrl+Scroll | Zoom around the cursor |
| Ctrl+Click | Open URL or file path under cursor |
| Ctrl+double-click canvas | Create a new workspace |
| Ctrl+double-click inside a workspace | Add a new terminal |
On macOS, substitute Cmd for Ctrl. Copy and paste use the standard Cmd+C / Cmd+V bindings, and on Windows you can also use Ctrl+Insert / Shift+Insert. The SSH reconnect shortcut is contextual and is disabled if another global shortcut overlaps with Ctrl+Shift+R.
The settings editor writes back to the same config file Horizon loaded. By default that is ~/.horizon/config.yaml, and config.yml is also supported when discovered or passed explicitly. You can define workspaces, panel presets, feature flags, and keyboard shortcuts:
appearance:
theme: auto # auto, light, or dark
shortcuts:
command_palette: Ctrl+Shift+K
new_terminal: Ctrl+Shift+N
focus_active_works