Awesome Tern
Plugins, apps, tools and resources for Tern, Stencil's terminal.
Tern is a Rust-native terminal from Stencil. Shells, omp agents and browser panes keep running in a daemon when the window closes, and come back after a reboot. One session can be open on the desktop app, on iOS and in a WebGPU browser tab at the same time; typing in one shows up in the others. tern remote serve serves a remote machine's sessions over QUIC.
Tern is in closed beta; request access through the waitlist, and join the discussion in the omp Discord.
Plugins are written in Luau and installed with tern plugin install github.com/OWNER/REPO (see the plugin CLI reference). Apps are standalone programs that draw their own UI in a Tern pane over the Tern Surface Protocol (TSP); install them as their README describes.
Each entry shows what kind of project it is, its GitHub stars and how long ago it was last updated; the legend explains the labels.
Contents
Agents
Coding agents that draw natively in Tern, extensions that make agents Tern-aware, and plugins for watching and steering them.
Coding agents
| Project |
About |
oh-my-pi (omp)

★ 38.5k today |
Stencil's coding agent that Tern is built around, drawing its transcript and UI natively, restoring sessions, and opening web pages as browser picture-in-picture panes.Screenshot |
Octet

★ 192 today |
Coding-agent shell rendering transcript cards, split diffs, pickers, and reports through TSP; Tern support is merged into the integration branch for 0.8.2 but not in the latest 0.8.1 release. |
Hermes for Tern

★ 22 2w |
Unofficial Tern frontend for Hermes Agent that draws the conversation, tool rows, subagents, buttons and a docked composer natively over TSP, and leaves the normal Hermes interface alone in other terminals.Screenshot |
saavy

★ 4 5w |
Persistent coding agent on Cloudflare with a native TSP frontend in Tern and a pi-tui fallback elsewhere. |
codex-tern

★ 1 13d |
Unofficial Codex GUI that talks to the official codex app-server and draws its interface natively in Tern, keeping your existing Codex login and config.Screenshot |
tern-agents-ui

★ 1 2w |
Native chat frontends for Claude Code (tclaude) and Codex (tcodex) that draw the conversation, tool cards, subagents, plans, permission prompts and a composer with model, effort and context chips over TSP, and report agent status to Tern's attention inbox.Screenshot |
Agent extensions
These run inside your coding agent rather than inside Tern.
| Project |
About |
omp-side

★ 12 2w |
Adds a /side command to fork the conversation into a child session and open it in a side pane in Tern, cmux, tmux, WezTerm, Kitty, and Ghostty. |
omp-stretch

★ 10 4d |
Shows each omp reply in Tern as its gist, with linked phrases that grow their detail in place when clicked, and tells the model which parts you opened.Screenshot |
pi-tern

★ 9 10d |
Makes the pi coding agent Tern-aware with the TSP handshake, native Mermaid diagrams, browser automation, pane capture and a session mirror. |
tern-omp-bridge

★ 6 2w |
Gives omp agents a tern_exec tool that runs Luau in the live Tern window to inspect and control it and to show native tables, charts and buttons. |
hermes-tern

★ 4 today |
Hermes Agent plugin that adds hermes tern, drawing the transcript, tool cards, approvals, subagents and pull requests as native Tern UI.Screenshot |
tern-control

★ 3 5w |
An omp and Pi extension giving agents tools to find Tern sessions, read transcript digests, follow daemon events, change layout, and type into terminals. |
tern-mcp

★ 2 5w |
Python MCP server over stdio wrapping the tern CLI with 14 tools for sessions, panes, capture, process inspection, input and layout. |
omp-thinking-translator

★ 1 3d |
An omp extension that translates visible thinking into collapsible native sections in Tern and plain ANSI output in other terminals. |
tern-omp-vimnav

★ 0 4w |
Vim-style navigation of the omp transcript in Tern, with block cursor, text selection and copying, search and Vimium-style hints for links, code blocks and buttons.Screenshot |
Usage and quotas
| Project |
About |
tern-plugin-omp-usage

★ 11 today |
Shows omp usage limits above the composer's context bar, with a meter, reset countdown and clock time for each window on hover.Screenshot |
CodexBar AgentView

★ 4 1d |
Shows Claude, Codex and other AI provider usage from the CodexBar CLI in the status line, with a dashboard that lists live and ended Claude Code, Codex, omp and pi sessions and focuses or resumes them in Tern tabs.Screenshot |
tern-ai-limits

★ 4 3w |
Side-column panel showing every usage window of your AI coding plans as a ring with its reset countdown, covering Claude, Codex, Cursor, Grok and anything omp tracks.Screenshot |
tern-omp-usage

★ 3 9d |
Shows Claude and Codex limits from omp in the status line as colored dots, with a work-week budget, alerts, a 7-day usage and cost dashboard and one-click updates.Screenshot |
tern-usage-monitor

★ 3 5w |
Floating or docked panel showing usage for every omp linked account, with per-account quota bars, auto-refresh, ordering and update-time settings. |
provider-quota

★ 2 1d |
Shows every omp provider's quota windows, balances and login problems in a dashboard that tags the one with the most headroom, with a status-line summary; the interface is in Chinese.Screenshot |
tern-omp-stats

★ 2 3w |
Dashboard block built from native components that turns the usage statistics in ~/.omp/stats.db into per-model and per-project tables with cost.Screenshot |
dora-tern-omp-usage

★ 1 3d |
Shows omp usage limits above the composer with a hover card, today's tokens and cost in the status line, a 7-day dashboard and per-host data for WSL and SSH.Screenshot |
LastFry

★ 1 2d |
Shows remaining API balance and plan windows for DeepSeek, OpenRouter, SiliconFlow, Kimi, Zhipu, MiniMax, Novita, StepFun and relays in a status-line segment and a manage block, with key import from omp.Screenshot |
omp-cache-meter

★ 1 13d |
Prompt-cache meter for omp with hits, writes and an expiry countdown, plus a Tern plugin that adds a status-line segment, tab countdowns and a toast before the cache goes cold.Screenshot |
tern-model-usage

★ 1 5w |
Shows omp coding-plan quota for each signed-in account in the status line and opens a canvas pane with provider cards and reset countdowns. |
tern-claude-usage

★ 0 4w |
Shows Claude Pro and Max usage limits in a panel and a status-line segment, with 5-hour and 7-day windows, per-model limits, pace tracking and reset countdowns.Screenshot |
tern-minimax-quota

★ 0 5d |
Shows your MiniMax Token Plan quota in the status line and refreshes it every five minutes.Screenshot |
tern-omp-usage-dashboard

★ 0 10d |
Native pane of omp provider quotas for every account, with remaining bars, reset countdowns and explicit login, stale and no-data states. |
tern-plugins (Emirfs)

★ 0 2w |
Collection with a pane of remaining limits for every account across omp profiles, a display of which omp profile each pane runs, and a split-columns layout helper. |
tern-quotadeck

★ 0 10d |
Shows remaining quota and reset countdowns for OpenCode Go, Claude, Codex, Copilot, Cursor, Gemini and DeepSeek in the status line, with a detail page, per-session context usage and network speed.Screenshot |
tern-usage-sidebar

★ 0 1d |
Shows each provider's 5-hour and weekly usage as a two-line bar in the status bar from ai-usagebar, with reset times on hover.Screenshot |
USAGE

★ 0 1d |
Shows how much of each AI subscription defined in SPAWN you have used, read headlessly through each provider's own CLI or account endpoint, in compact, wide and bottom views with reset countdowns.Screenshot |
Status and dashboards
| Project |
About |
tern-agent-progress

★ 2 4w |
Marks tabs that run omp agents with WoW-style quest marks and todo progress bars.Screenshot |
tern-software-factory

★ 2 1d |
Lists the agents on your Tern host and jumps to the pane of the one you select. |
tern-tab-status

★ 2 3w |
Colors tabs by whether their omp and pi sessions are working, waiting or need your attention.Screenshot |
Agents Hub

★ 1 3w |
Side panel for a self-hosted Agents Hub that lists Pi agent runs with status, cost and pull request, lets you accept or reject pending reviews, and adds a status-line count. |
omp Tiles

★ 1 4w |
Block with one colored tile per open omp session across all Tern sessions, showing the session title and whether it is working, waiting for you or idle. |
tern-omp-trajectory

★ 1 2w |
Turns omp session logs into a native trajectory viewer with a turn-grouped call ledger, per-entry inspectors and a token timeline. |
tern-periscope

★ 1 2w |
Lists the subagents of an omp session with live status, tool counts and cost, and opens any transcript as it is written. |
tern-agent-radar

★ 0 13d |
Lists every coding agent across sessions in one pane, ordered by who needs you, with a jump-to-agent picker, a status-line count and a toast when an agent starts waiting.Screenshot |
tern-claude-workflows

★ 0 2w |
Side block that follows the Claude Code workflows of the session in its tab, with phase timelines, an agent tree with model, tokens, tools and idle time, and a table of past workflows; it also works for ACP chats, which do not show workflow progress.Screenshot |
tern-control-room

★ 0 today |
Persistent block listing every pane of every session in the window, attention first, with failed commands, a peek at recent output, status-check requests to agents, interrupt and pin in a floating pane. |
tern-t3

★ 0 12d |
Reads, starts and replies to T3 Code agent threads in native Tern blocks.Screenshot |
Orchestration
| Project |
About |
Overseer

★ 103 1d |
Panel listing every branch in flight with its worktree, agents, pull request and ticket, where each worktree gets its own Tern session.Screenshot |
tern-agent-scheduler

★ 23 4d |
Schedules omp agent runs with cron, presets, plain-English or one-shot times, starts each in a background tab and keeps their results, failures and costs in a manager block, with status-line, notification and Carly support.Screenshot |
tern-agents

★ 3 4w |
Runs Claude Code, Codex, Gemini, OpenCode, Aider or any agent CLI as a Tern agent block, with profiles, run presets, a launcher and an Agents sidebar. |
tern-swarm

★ 2 5w |
Kanban board that runs omp agents on its cards in separate git worktrees, runs your checks on their work and waits for your approval. |
tern-task-plugin

★ 1 4w |
Makes each task a session with its own branch, git worktree and default agent, with a kanban dashboard of pull request status.Screenshot |
Forge Projects

★ 0 4w |
Sidebar for parallel agent work that gives each git worktree its own Tern session, with agent status, pull request and Linear ticket on every row, and one box that opens or creates a worktree from a branch, ticket or pull request.Screenshot |
ORCH+

★ 0 1d |
Session-scoped orchestration on top of SPAWN, with durable controller ownership, managed dispatch, worker and coordinator rollover, an owner-approved landing queue and guided reload recovery. |
Roost (zerx-lab)

★ 0 1d |
Runs fixed omp and shell workflows on your machine from cron schedules or GitHub events relayed by a self-hosted GitHub App, with run logs, diffs, follow-ups and cost budgets, in a Chinese-language interface. |
SPAWN

★ 0 1d |
Keeps one saved launch record per provider account and starts your whole agent roster, or one account, in named and coloured tabs with a single action.Screenshot |
tern-dsh-web

★ 0 2d |
Starts the DeepSeek Harness web UI on demand from a status-bar menu and opens it in a browser block, with restart, stop and update actions.Screenshot |
Worktrees
| Project |
About |
tern-jj workspaces

★ 6 11d |
Creates, opens, removes, and inspects jj workspaces using Tern dialogs, tabs, and the status line, packaged with Nix inside a NixOS config. |
tern-worktree

★ 3 4w |
Lists, opens and creates git worktrees from the command palette using plain git, with jq and a POSIX shell as the only other requirements.Screenshot |
tern-worktrees

★ 3 4w |
Opens git worktrees as Tern tabs with a branch picker and teardown on close, backed by a tern-wt CLI and an omp skill for agents. |
Worktree Panel

★ 1 3w |
Pins a panel to every tab that lists the git worktrees of the focused repository with the state of the omp agents in each, moves agents waiting for you to the top, and focuses or opens a worktree's tab on click.Screenshot |
tern-worktree-sessions

★ 0 3d |
Gives each git worktree its own persistent session with tabs and panes you set in JSON, optional per-repository setup that asks questions before creating a worktree, and one-click push and pull request.Screenshot |
Notifications and alerts
| Project |
About |
tern-chirp

★ 3 4w |
Plays a short synthesized beep when an agent finishes or waits for you, with the sound's shape chosen by Jev to match how the turn went.Screenshot |
tern-chime

★ 2 4w |
Plays a configurable sound when a pane raises an unseen alert, an omp agent yields its turn, or a long command finishes, with bundled chimes and per-trigger overrides. |
tern-haptic-alert

★ 2 5w |
Sends a haptic pulse to a Logitech MX Master 4 when an agent finishes or is blocked waiting for input.Screenshot |
tern-attention

★ 1 2d |
Pins Tern's needs-attention inbox as an always-visible rail with a Later tab for deferred items, a workspace tree, a choice of placement and a read-only iPhone mirror; macOS only.Screenshot |
tern-bell

★ 1 2w |
Plays configurable sounds when a main agent completes, fails or needs input, with separate completion and failure selections, previewable macOS and custom sounds, and settings saved only on confirmation. |
tern-sidepulse

★ 1 3d |
Forwards the working, waiting, done and failed state of omp sessions to the SidePulse LED and menu-bar agent monitor on macOS.Screenshot |
tern-gpg-touch

★ 0 3w |
Shows a toast, and optionally plays a sound, when a typed command starts that will wait for a touch on your GPG security key, with per-folder rules.Screenshot |
tern-pushover

★ 0 2w |
Sends Pushover notifications to your phone when an agent needs you or finishes, or a long command ends, while you're away, with an Open Tern button. |
Workspace
Sessions, navigation and layout, remote hosts, and how Tern looks.
Sessions and sidebars
| Project |
About |
tern-projects

★ 19 3d |
Curated multi-folder projects, pinned chats, and search across OMP, Claude Code, Codex, Pi, OpenCode, and Cursor.Screenshot |
workspaces-sidebar

★ 7 7d |
Pins a workspace sidebar to every tab that lists sessions and their tabs as a tree, with live badges for waiting agents, running and failed commands, one-click switching, tab color tags, and attention-jump keybindings.Screenshot |
Kai

★ 4 3w |
Workspaces sidebar that shows each session as a card with its agents, files, git changes and branches.Screenshot |
Flock

★ 2 2w |
Groups omp agents, terminals and sessions by project and machine in a native sidebar, and opens an agent's git worktree in VS Code, locally or over SSH.Screenshot |
tern-agent-nav

★ 2 2d |
Simple session sidebar in the style of Herdr that lists omp, Codex, Copilot and Claude Code agents grouped by Tern session, with a click to focus one.Screenshot |
tern-plugins (Unravl)

★ 2 2w |
Collection with a left sidebar of sessions per host that shows omp agent status, and a fix that keeps the omp composer bar one band when macOS Reduce transparency is on. |
Agent Sessions

★ 1 4d |
Canvas that gathers Claude Code, Antigravity, Pi and omp session histories into one searchable list, with tags, aliases, hidden sessions and one-click resume in a new tab.Screenshot |
Agent Deck

★ 0 1d |
Sidebar in every tab that groups your omp agents and their subagents by project, puts the agents that wait for you first, and pins, renames, copies or resumes sessions with a click.Screenshot |
Jumpr

★ 0 today |
Keyboard-driven list of the omp agents you start from it, grouped by project with one list per machine, where moving through the list brings each agent's tab to the front as a live preview.Screenshot |
OMP Sessions

★ 0 today |
Adds per-pane omp status icons and saved conversation names to Tern's vertical-tabs sidebar, with a pane jumper and a searchable session history that resumes in a new tab.Screenshot |
Roost

★ 0 4d |
Left panel that groups every session by its folder, with folder badges, the agent each one runs, time since last activity, optional git branch and worktree rows, and a Settled shelf that restores closed sessions.Screenshot |
session-root

★ 0 1d |
Gives each session a root directory that new tabs open in, shown in the status line, with a command that starts a session at a folder. |
tern-omp-groups

★ 0 3w |
Groups omp chats by the code at the start of their titles and lists every saved chat under its group, reopening a closed one in that group with a click. |
tern-workspaces

★ 0 1d |
Project sidebar with separate sessions, root-locked new tabs, case-insensitive name or path filtering, live omp status, and agent chat resume. |
tern-workspaces-sidebar

★ 0 3w |
Sidebar that lists every session as a workspace with nested tabs, git counters and agent state, plus a small runtime that gives omp, Claude Code and Codex the same status. |
WORK

★ 0 1d |
Native pane listing your active Glitch workspaces, with GitHub links and a button that opens your default agent beside it already running /work-on.Screenshot |
Navigation, layout and input
| Project |
About |
tern-ide layout

★ 6 11d |
Window plugin with an IDE-style four-pane layout, set split ratios, and an omp pane, packaged with Nix inside a NixOS config. |
pane-highlight

★ 4 2w |
Marks the active split with a border and tint, dims the others, and recolors a pane by user or host, such as red for prod-* hosts. |
tern-plugins (mreishus)

★ 1 3w |
Collection of small plugins, including one that moves the tab bar to the bottom in the tiles, studio and float layouts and one that opens a pane's scrollback in nvim. |
tern-tab-search

★ 1 2w |
Searches tabs across sessions in a native popup, with session:tab filtering and no changes to tab titles or pane layouts. |
tern-close-plugin

★ 0 5w |
Adds palette commands that close the other tabs and the split blocks left, right and around the focused block, each row hidden while it would close nothing. |
tern-extrakeys

★ 0 3w |
Termux-style bar of buttons for Esc, Ctrl, Alt, Tab, arrows and more that types into a pane you choose, using Termux's extra-keys config format. |
tern-grid-layout

★ 0 3w |
Arranges the panes of a tab into equal-width columns when the window resizes or on request, keeping manual divider changes in between. |
tern-herdr-keys

★ 0 2d |
Herdr-style spaces with ⌘⇧1…9 session jumps, a ⌘W that closes the block, then the tab, then the session, and a pinned default session per host; command titles are in Korean. |
Integrations
Plugins that make Tern fit a setup you already work in, such as a multiplexer, editor, window manager or browser.
| Project |
About |
neotern

★ 9 4w |
Neovim drawn as a native Tern surface in the style of Neovide, with a native command palette and picker; alpha and tuned to the author's own dotfiles.Screenshot |
tern-herdr

★ 7 5w |
Shows Herdr as native Tern tabs, splits and a sidebar, with tabs colored by agent state and Herdr's prefix keys working. |
herdr-tern-plugin

★ 3 5w |
Adds an Open Herdr Session command that picks an existing herdr session and attaches to it inside Tern without copying or converting workspaces.Screenshot |
Forge Omarchy

★ 0 4w |
Makes Omarchy's window keys act on Tern panes first and fall through to Hyprland at the edges, in the style of vim-tmux-navigator, with desktop notifications when agents finish or wait for you. |
Herd

★ 0 5d |
Watches and steers herdr-core terminals and agents in a block, with a status tree, needs-you filters, an activity inbox, logs, toasts and confirmed send and interrupt actions. |
tern-browser-profiles

★ 0 3w |
Opens a Chrome, Brave or Edge profile on macOS inside Tern as an isolated browser signed in with that profile's cookies. |
tern-vimnav

★ 0 4w |
Brings vim-tmux-navigator to Tern so Ctrl+H/J/K/L moves between Neovim splits and Tern panes. |
Remote hosts
Working across machines: connecting to hosts, and moving files, clipboard images and links between local and remote panes.
| Project |
About |
tern-remote-open

★ 4 1d |
Opens file links, localhost URLs and OAuth loopback sign-in links from remote ssh panes on your Mac, where the file or port would not otherwise exist. |
tern-ssh

★ 4 4w |
An ssh host manager that runs as a Tern pane. It lists the hosts of an ssh config, connects to them, and adds, edits and removes hosts without leaving Tern.Screenshot |
tern-file-paste

★ 1 2w |
Uploads copied local files from macOS, Linux, and Windows to remote hosts over SSH and inserts their paths into Tern panes. |
remote-image-paste

★ 0 4w |
Uploads a macOS clipboard image to the focused remote host over SSH and pastes the server path into the current pane. |
tern-paste-image

★ 0 4w |
Pastes Windows clipboard screenshots into local or remote Tern terminals with Ctrl+Alt+V, uploading over SSH and inserting the quoted path without pressing Enter. |
tern-remote-paste

★ 0 4w |
Makes Ctrl+V in an ssh pane upload a Mac clipboard image to the remote host and paste its path for agents such as omp and Claude Code. |
tern-remote-ports

★ 0 3d |
Forwards ports from ssh hosts to localhost by picking one of the ports listening there, with a panel to open or stop each forward and a status-line count. |
Companion apps
Apps that reach Tern's sessions or agents from outside Tern, on the web, a phone or the desktop.
| Project |
About |
tern-awui

★ 7 1d |
Phone and browser web app for the omp agents running in Tern, reached over Tailscale, with sessions grouped by project and two-way control for prompts, questions, model choice, rewind and push notifications.Screenshot |
Themes and appearance
| Project |
About |
omaterm

★ 6 5w |
Matches Tern's background, foreground, window chrome and ANSI colors to your active Omarchy theme. |
tern-mizu

★ 5 4w |
Paints the Mizu Icons VS Code file icon theme over the Files pane, with 893 icons covering 847 file names, 947 extensions and 1457 folder names. |
tern-tab-spinner

★ 3 13d |
Sends a moving accent highlight around the icon of each working tab in the native vertical sidebar, with no extra panes or polling.Screenshot |
tern-vscode-dark

★ 2 3w |
Paints Tern with VS Code's Dark Modern theme, covering window chrome, terminal colors and the file editor's syntax colors. |
font-default

★ 1 5w |
Makes the Reset font size command return to your configured size instead of Tern's built-in default. |
Night Drive

★ 0 1d |
Synthwave theme with square tiles, flat mono tabs and a pink and cyan frame on the focused pane, with a setup script for the matching window settings.Screenshot |
Spine Tweaks

★ 0 1d |
Replaces your avatar in Spine chats with a picture of your choice and puts a tinted, rounded background behind your own messages. |
tern-backdrop

★ 0 today |
Puts an animated gradient, an image or a looping video behind the whole window, with bar tints and controls for how Tern's panels sit over it.Screenshot |
tern-custom-background

★ 0 4w |
Puts a dithered picture behind the whole window, with a settings page to pick the image and how it is drawn. |
tern-kami

★ 0 3w |
Warm-paper theme with parchment backgrounds, ink-blue accents and serif type, inspired by Kami.Screenshot |
tern-omp-layout-fixes

★ 0 4w |
Widens omp transcripts to the full pane and adds spacing above the composer, touching only omp session surfaces. |
tern-pulse-skin

★ 0 4d |
Three full skins, Amber Phosphor, LCARS Deck and Neon Command, that restyle fonts, shapes, tabs, panel headers and decoration across Tern and its plugins, switched from a top-bar toggle.Screenshot |
tern-wide-autocomplete

★ 0 2w |
Widens omp's native autocomplete menus and lines them up with the composer in Tern's Reader layout. |
Localization
| Project |
About |
tern-zh-cn

★ 11 3w |
Partial Simplified Chinese translation with Chinese titles for over 50 built-in palette commands and CSS replacement of the palette tabs and tab-bar buttons.Screenshot |
omp-tern-korean

★ 0 today |
Korean translation of omp's interface text as drawn in Tern, with Korean command-palette rows and a Korean-friendly font, leaving conversations and code untouched. |
Development
Version control, code review, issues and tasks, and tools for files, infrastructure and data.
Git
| Project |
About |
tern-jj

★ 2 5w |
Displays jj status and jj st output as a read-only native card with added, modified and deleted files colored to match the Tern theme. |
tern-jj-diff

★ 1 4w |
Renders jj diff and jj show output as a native view with summary badges and one collapsible section per file, filling the gap left by Tern's built-in jj st and jj log views. |
TernGitButler

★ 1 2w |
GitButler workspaces in Tern, with a status-bar segment, a workspace block with one lane per branch stack and a diff block.Screenshot |
Review and feedback
| Project |
About |
PR Guide

★ 6 2w |
Walks through a GitHub pull request one change at a time with the code beside a plain explanation, then lets you comment and post a single review.Screenshot |
tern-annotate

★ 5 4w |
Prototype for commenting on a snapshot of any block and sending the edit comments to an agent in batches. |
tern-margin

★ 4 4d |
Renders a Markdown file block by block so you can leave CriticMarkup comments on any paragraph, list, table or code block, and hands them back to the agent that opened it.Screenshot |
Tern Reviewr

★ 1 4w |
Reviews staged, unstaged, and untracked Git changes in a native Tern diff view, sends line-anchored comments directly to an agent, and tracks per-file review progress. |
tern-difftastic

★ 1 1d |
Reviews jj and git changes as difftastic's structural side-by-side diffs in a block, with search across both sides of every file and seen and reviewed marks on hunks that survive rebases.Screenshot |
tern-pr-tour

★ 1 2w |
Step-by-step tours of a pull request that can answer questions inline, with a matching pr-tour agent skill.Screenshot |
tern-azdo

★ 0 1d |
Lists the active Azure DevOps pull requests of a whole organization, with diffs, comment threads, votes and a one-click AI review that starts a coding agent in a new block.Screenshot |
Issues and tasks
| Project |
About |
tern-kata

★ 7 2d |
Browses and edits kata issues in a native pane opened with F9 or the palette, with Markdown issue bodies, priority and label chips, and kata links from agent chat that open the issue.Screenshot |
tern-todo

★ 4 3w |
Task manager with tasks linked to terminal panes and agent sessions, kept in a JSON file and installable on remote hosts.Screenshot |
tern-objectives

★ 1 1d |
Links objectives to the tabs where their work happens in a graph that jumps to any tab or pane and marks omp chats that need you, then brings finished objectives back for spaced-repetition review, rated Hard, Good or Easy.Screenshot |
tern-tracker

★ 1 3w |
Lists the GitHub issues and pull requests of the repository in the focused pane's directory, with comments and a form for creating issues, in English or Chinese. |
beads-tern

★ 0 4d |
Native Beads board with board and table views, search and filters, dependency navigation, and create, edit, claim and close actions through your installed bd; built from source and still pre-release.Screenshot |
jira-tern

★ 0 4w |
Native Jira browser that reads and posts issue comments, runs status transitions, and opens a Git worktree or jj workspace with an omp agent tab for an issue. |
tern-notion-kanban

★ 0 8d |
Shows a Notion board view as a native kanban pane with the view's columns, filters and sorts, and lets you move, create and open cards.Screenshot |
tern-plugin-beads

★ 0 12d |
Task board for the Beads bd issue tracker with Ready, In Progress, Blocked and Done filters, actions to claim, close and reprioritize issues, and a project switcher. |
TODO

★ 0 1d |
Read-only native checklist of the agreed checkpoints in an agent's canonical /glitch-plan plan, read locally or over SSH.Screenshot |
File viewers and notebooks
| Project |
About |
tern-pencil-preview

★ 8 2w |
Previews pen.dev (Pencil) .pen designs in a block, rendering every top-level frame in one pen CLI run into a disk cache so switching frames is instant, with a layer list, an inspector and re-renders on save.Screenshot |
tern-obsidian

★ 5 11d |
Recognizes Obsidian vaults and opens their notes, Bases and JSON Canvas files in native reader blocks. |
tern-video-block

★ 4 5w |
Opens video files in a block with mpv sound, frame stepping and synced side-by-side playback using ffmpeg and the kitty graphics protocol. |
tern-office-preview

★ 3 5w |
Previews Word and Excel files natively in a block using a Rust renderer, with no Office, browser or LibreOffice involved.Screenshot |
tern-rmd

★ 2 3w |
Opens R Markdown files as notebooks, running chunks in one live R session with plots and paged data frames shown under each chunk.Screenshot |
tern-canvas-viewer

★ 1 3w |
Opens .excalidraw and .tldraw drawings as a rendered picture in a block instead of their JSON source.Screenshot |
tern-csv

★ 1 4w |
Shows CSV and TSV files as a native keyboard-driven table with a Table and Text switch.Screenshot |
tern-js-lib-versions

★ 1 8d |
Opens package.json as a dependency table with the newest minor and major versions your package manager's minimum release age allows, workspace catalogs resolved, and per-package or update-all buttons.Screenshot |
kedi-tern

★ 0 4w |
Read-only viewer for .kedi files that highlights them in a native Tern editor using tree-sitter, without running the embedded Python. |
tern-pdf

★ 0 13d |
Opens PDFs in a native pane that reloads when LaTeX or Typst rebuilds the file, with page navigation and in-pane zoom, rendered by a Rust helper using Poppler. |
Cloud and data
| Project |
About |
tern-grafana

★ 14 1d |
Grafana and Prometheus-compatible backends as native blocks for PromQL queries, dashboards, alerts and silences, logs and traces; pre-release.Screenshot |
tern-kube

★ 10 7d |
Renders kubectl output as sortable, filterable native views, with a live Explore block, one-key pod shells and logs, previewed and confirmed changes, and GitOps drift against your manifests.Screenshot |
tern-netsuite

★ 4 1d |
Native views for the NetSuite SuiteCloud SDF CLI with a production deploy guard, a project explorer and read-only SuiteQL execution logs and account health; public beta.Screenshot |
Grafana for Tern

★ 3 today |
Reads Grafana dashboards in a native pane on Grafana's grid, with stat, table, logs, time series, state timeline, bar chart and alert list panels and a keyboard crosshair that shows values at one shared time.Screenshot |
tern-bigquery

★ 0 3w |
BigQuery browser built on the bq tool, with project search, dataset and table navigation, schema inspection and scrollable data previews. |
tern-datablender

★ 0 10d |
Viewer for NetCDF, HDF5 and MATLAB data fields with a node-graph editor for filters, FFT and time shifts, blended layers and hover values, shipped as prebuilt binaries.Screenshot |
tern-mssql

★ 0 1d |
SQL Server client with an object explorer, a T-SQL editor that completes from the live catalog and a spreadsheet-style results grid, read-only until you unlock writes.Screenshot |
System and developer tools
| Project |
About |
rmon

★ 11 5d |
Resource monitor for Linux and macOS with CPU, GPU, memory, network, disk and process panels and a disk benchmark, drawn natively in Tern over TSP.Screenshot |
mantern

★ 6 5w |
Drop-in man replacement that draws pages natively in Tern over TSP, with a synopsis card, option cards, tables, foldable sections and clickable SEE ALSO links, and falls back to the system man elsewhere.Screenshot |
tern-find-in-files

★ 2 4w |
VS Code-style search across the files under a folder, powered by ripgrep, with results updating as you type. |
tern-go-navigation

★ 2 8d |
Go definitions, references and project-wide symbol search in Tern's native editor, with source-line previews and a persistent gopls index.Screenshot |
tern-clock

★ 1 3w |
Live system clock in the tab bar, in 12- or 24-hour format with optional seconds and a choice of four positions. |
tern-java-navigation

★ 1 8d |
Java and Kotlin definitions, references and project-wide symbol search in Tern's native editor, backed by Eclipse JDT LS and the JetBrains Kotlin LSP. |
tern-jobs

★ 1 2w |
Lists your systemd user timers and failed user services in a block with each job's last result and next run, shows the journal of its last run, starts a job on a double s press and toasts when a job fails or recovers. |
tern-ports

★ 1 5d |
Shows every listening TCP port on your machine and marks the ones an omp process started.Screenshot |
tern-status

★ 1 5w |
Status line in the style of tmux with CPU, memory, battery, network, disk and clock segments drawn with Tern's own icons and theme tones. |
Search Everywhere

★ 0 today |
PyCharm-style search bar on a double Shift that finds files, classes, functions and variables under the focused pane's folder, with camel-hump fuzzy matching, Class.method and file:42 jumps, and grows from a bar to fit the results.Screenshot |
tern-dbgview

★ 0 3w |
Shows Windows debug output as it is produced, from kernel-mode DbgPrint and user-mode OutputDebugString. |
tern-nom

★ 0 3d |
Shows nix-output-monitor as a live native card with builds, downloads, flake updates and nh's closure diff, and runs the plain program outside Tern. |
tern-sysmon

★ 0 9d |
Btop-style system monitor block with per-core CPU, GPU, memory, network, disk I/O, volumes and a sortable process table, backed by a small native collector on Windows, macOS and Linux.Screenshot |
Test Explorer

★ 0 today |
Finds pytest, unittest, vitest and jest tests, runs them with each failure's trace beside its source line, and opens beside an agent to show the pytest and unittest runs it starts as they happen.Screenshot |
Media and fun
Music, games, toys, and whatever doesn't fit anywhere else.
Music and media
| Project |
About |
tern-spotify

★ 4 4w |
Player block for the Spotify desktop app with cover art, playback, seeking and volume controls on macOS, Windows and Linux.Screenshot |
tern-spotify (Windows)

★ 4 5w |
Floating player for the Windows Spotify desktop app with cover art, playback controls, search, keyboard shortcuts and the current track in the status line.Screenshot |
tern-CDP-tidal

★ 2 3w |
Player block for the TIDAL desktop app, driven over the Chrome DevTools protocol, with cover art, playback, seeking, volume, shuffle, repeat and line-based search. |
tern-spotify (kyle-elliott)

★ 2 4w |
Spotify player pane with album art, queue, library, search and device picker, plus a floating mode, status-line track and palette commands for playback. |
NetEase

★ 1 4d |
Player block for the NetEase Cloud Music desktop app on Windows with cover art, playback, per-app volume and a picture-in-picture mode, driven through the app's own global hotkeys.Screenshot |
Warble

★ 1 2w |
Spotify player block that controls any Spotify Connect device through the Web API, with cover art, seeking, volume, shuffle, repeat, a device picker and search; macOS only for now.Screenshot |
tern-spotify (taooceros)

★ 0 10d |
Spotify player backed by a librespot daemon that shows up as a Connect device, with your library, album pages and synced lyrics; needs Spotify Premium.Screenshot |
Fun
| Project |
About |
tern-cat

★ 8 3w |
Adds a pixel-art menace that naps in your panes, swats at your pointer, stares when you sudo and dives through portals when you switch panes.Screenshot |
Ternatro

★ 4 4w |
Plays Balatro in a Tern pane, running the game's own Lua code from your copy of Balatro.exe and drawing its layout, card motion, particles and shaders natively; you need to own the game. |
Toons

★ 4 4w |
Draws cartoons of what the agent is doing while commands run, as a port of claude-toons to Tern's native UI. |
tern-pokemon

★ 3 4w |
Ports vscode-pokemon to a block where Pokémon walk, sit and get petted on themed beach, forest and castle scenes, drawn natively with animated GIF sprites and no web view. |
tern-git-fx

★ 2 4w |
Plays a small pixel-art animation in the pane corner while a git command runs, then a success or failure ending based on its exit status.Screenshot |
TernMeOn

★ 2 4w |
Controls Buttplug devices from Tern, with haptic patterns written as code and feedback when long commands finish.Screenshot |
power-surge

★ 0 4w |
Neovim plugin that shows sparks on every text change with a combo meter and screen shake, with a Tern command and chord for it. |
tern-balatro

★ 0 2w |
Balatro jokers wander a card table, shop or blind and pop +Mult when clicked, with sprites cut from your own copy of the game, in the style of tern-pokemon. |
Other
Plugins and apps that don't fit another section yet.
| Project |
About |
Terngram

★ 4 5w |
Unofficial keyboard-driven Telegram client built on TDLib and omp's UI toolkit, also installable as a Tern plugin. |
tern-rss

★ 3 4w |
Follows RSS and Atom feeds in a block with expandable previews, articles in a docked reader browser, toasts for starred feeds and a catch-up line instead of an ever-growing unread count.Screenshot |
tern-pomodoro

★ 2 4w |
Minimal timer block with 25-minute focus and 5-minute break defaults, adjustable durations and a quiet progress line, using no network or subprocesses.Screenshot |
Carly Switch

★ 1 3w |
Switches Carly's native realtime voice between Doubao and OpenAI from a compact panel, including a connection test that does not start the microphone. |
tern-hue

★ 1 5d |
Controls Philips Hue rooms, zones, scenes and lights through the local bridge in a native pane, with palette commands and a status-line count of lit and offline lights.Screenshot |
Forge Meetings

★ 0 4w |
Lists Granola and Fireflies meetings, email threads over IMAP and local transcript exports in one keyboard-driven block, and pastes the ones you pick into the agent's composer as a summary or full transcript.Screenshot |
Building for Tern
Documentation, SDKs and starting points for writing your own Tern plugins and apps.
Documentation
| Project |
About |
Tern plugin book
 |
Official documentation covering host and window runtimes, lenses, blocks, native views, styling, and TSP. |
Getting Started
 |
Walkthrough of building a lens and palette command, then linking, type-checking, and reloading. |
Command Lenses
 |
Explains how to turn command output into native views using manifest globs and host callbacks. |
Debugging
 |
Covers toasts, logs, Luau typing, handler budgets, and scripted window control. |
Plugin CLI
 |
Reference for tern plugin list, install, link, unlink, remove, reload, dir, and types. |
Tern Surface Protocol
 |
Specifies the in-band protocol where CLIs, TUIs, and agents send UI trees that Tern lays out and draws natively. |
SDKs and protocol libraries
| Project |
About |
tern-sdk

★ 125 1d |
Official repository of Surface Protocol SDKs for Rust, Python, Go and TypeScript, plus the Luau type definitions (tern.d.luau) and example plugins. |
@oh-my-pi/pi-wire

★ 38.5k today |
TypeScript package implementing the TSP wire format: APC framing, component types, frame operations, handshake and events. |
@oh-my-pi/pi-tui

★ 38.5k today |
TypeScript UI toolkit from omp for rendering transcripts, chat, dashboards, and pickers natively over TSP. |
octet-tern

★ 192 today |
A Rust TSP client built into Octet with wire types, APC chunking, tty flow control, and scene builders. |
Plugin templates and tooling
| Project |
About |
tern-plugin-base

★ 0 4w |
Minimal starting point for a Tern plugin to copy, with package, config and dev commands and an example that logs a greeting on load. |
Packaging and dotfiles
Tern builds are behind a sign-in, so these Nix setups expect you to download the build yourself.
| Project |
About |
pelikanade/flake

★ 12 3d |
Nix packaging guide covering signed-in downloads, requireFile, graphics libraries, and updating. |
plumj-am/nixos

★ 6 11d |
NixOS module that manages Tern settings, theme, tmux-style keybindings, the omp launch command and plugins. |
tdortman/dotfiles

★ 1 1d |
A Nix package with desktop entries, an update script finding new builds via a Stencil browser session, and a KDE Plasma Home Manager module where Meta+Return focuses Tern or starts it. |
theoparis/nix-tern

★ 1 3w |
Nix flake that packages a hand-downloaded Tern tarball and keeps it from being garbage collected. |
Legend
| Label |
Meaning |
 |
Luau plugin |
 |
App drawn natively over TSP |
 |
Runs inside your coding agent |
 |
Runs outside Tern |
 |
SDK or protocol library |
 |
Nix package or dotfiles |
 |
Documentation |
★ 36.4k 3d |
GitHub stars and time since the last push |
inactive archived unavailable |
No push in six months, archived, or the repository is gone |
Contributing
Suggestions are welcome as pull requests. Read the contribution guidelines first.