Termilly
Features

Everything Termilly does.

Each feature links to the part of the docs that explains it.

Workspaces and layout

Group terminals by project, lay them out your way, and pick up where you left off.

Switching between the acme-api, web-dashboard and infra workspaces with Ctrl+Alt+1 to 3, each with its own terminals

Workspaces

CtrlShiftN

Keep each project's terminals in a workspace with its own name, colour and start folder. The others keep running out of sight.

How it works
Splitting a pane right and down, then dragging a terminal by its title onto another to dock it beside it

Drag panes to dock them

Drag a terminal by its header onto another. A guide shows where it will land: left, right, up, down or as a tab.

How it works
  • New workspace dialog

    Pick a name, colour and start folder. Start with a terminal in the shell you choose, or with nothing.

    How it works

  • Switch workspaces from the keyboard

    Jump to any of the first nine workspaces, or step to the next or previous one.

    CtrlAlt1 to 9 or CtrlTab or CtrlShiftTabHow it works

  • Workspace menu

    Right-click a workspace to rename it, add a note, change its colour, export its layout and more. Double-click the name to rename.

    How it works

  • Confirm before closing a workspace

    Closing a workspace with terminals still open asks first. You can turn that off in Settings.

    How it works

  • Sidebar

    All your workspaces and terminals in one list, with tags, agent state and activity. Drag the edge to resize it.

    CtrlShiftBHow it works

  • Peek into other workspaces

    Expand another workspace in the sidebar to see its terminals without switching.

    How it works

  • Splits

    Split any terminal right or down as often as you like. Drag the divider to resize.

    AltShift= and AltShift-How it works

  • Tabs

    Drop a terminal on the middle of another to share one spot as tabs. A tab whose agent is waiting for you is marked.

    CtrlPageDown or CtrlPageUpHow it works

  • Move focus between panes

    Move to the terminal on the left, right, above or below.

    AltArrow keysHow it works

  • Move terminals to tabs

    Turn all of a workspace's terminals into tabs in one go. Drag a tab out to split it off again.

    How it works

  • Move to workspace

    Send a terminal to another workspace, or a new one. It keeps running.

    How it works

  • Rename terminals

    Double-click a terminal's name to give it your own. Clear it to go back to the shell's name.

    CtrlShiftRHow it works

  • Tags

    Put coloured tags like prod, staging or dev on terminals. Search, broadcast, triggers, logging and production safety all use them.

    How it works

  • Notes

    Leave a note on a terminal, workspace or SSH host, like which database is read-only this week. Pin its first line to the header.

    How it works

  • Go to

    One fuzzy list of workspaces, recent folders, closed terminals and SSH hosts. Pick a folder to jump to its workspace or open a new one.

    CtrlShiftOHow it works

  • Workspace layouts as files

    Export a workspace's terminals, splits, shells, folders and start commands to a YAML file, and import it later. Secrets are never written.

    How it works

  • Project layouts in .termilly.yml

    Put a .termilly.yml in a project and Termilly offers its layout and snippets when you open it. Share it with your team in git.

    How it works

  • Recently closed

    Reopen a closed terminal and it comes back in its workspace, with its name, tags, folder and old output.

    How it works

  • Restore after a restart or crash

    Termilly brings your terminals back in their folders with their last output, and running Claude Code sessions pick up again.

    How it works

  • Keep shells running when Termilly closes

    Your terminals survive closing, crashing or updating the window. The next window picks them up where they were.

    How it works

  • Scratch terminal

    A floating shell above your layout for a quick command. Hiding it keeps it running.

    CtrlShift`How it works

  • Drop-down window

    Press a shortcut in any app and Termilly slides down from the top of the screen, and away again. Windows only.

    How it works

  • Open in Termilly

    Open a folder in Termilly from the Explorer menu on Windows, or with termilly followed by a folder.

    How it works

  • Listening ports

    Ports a terminal's programs listen on, like :3000, show on its row. Click one to open it in your browser.

    How it works

  • Activity at a glance

    A spinner while a command runs, a dot when a hidden terminal prints something, and a red border on errors.

    How it works

Shells and remote machines

Every shell, server, container and serial port you use, one click away.

The New terminal menu: Windows PowerShell, Command Prompt, Git Bash, Ubuntu on WSL, SSH hosts and a serial port

Shells found for you

PowerShell, Command Prompt, Git Bash and WSL on Windows, and your installed shells on Linux, ready in the + menu.

How it works
  • A shortcut per shell

    Open a terminal in your default shell, or in any of the first nine shells by number.

    CtrlShiftT or CtrlShift1 to 9How it works

  • Your own profiles

    Turn any command into a profile with its own folder, environment and tags, like docker exec -it or kubectl exec -it.

    How it works

  • SSH hosts from your config

    Hosts in ~/.ssh/config show up on their own and open with OpenSSH, so your keys and jump hosts just work.

    How it works

  • SSH connections

    Save connections with host, user, port and jump hosts. Sign in with ssh-agent, a key file, a security key, a stored password or 1Password.

    How it works

  • Import SSH sessions

    Bring over sessions from PuTTY, MobaXterm, SecureCRT and mRemoteNG. Passwords are never copied.

    How it works

  • Port forwards

    Save local, remote and SOCKS forwards through any SSH host, and start or stop them from Settings.

    How it works

  • Reconnect when the connection drops

    If the network drops or your PC sleeps, SSH terminals reconnect by themselves and go back to the folder they were in.

    How it works

  • Keepalives

    A dead SSH connection is noticed in under a minute instead of hanging.

    How it works

  • SFTP panel

    Browse the remote files of the SSH terminal you're in, following its folder. Drop files to upload, or download, rename and delete.

    CtrlShiftLHow it works

  • Attach tmux

    Each tmux window becomes a workspace and each pane a terminal, with Termilly's search and history. Closing detaches and tmux keeps running.

    How it works

  • Containers and pods

    Running Docker containers and Kubernetes pods show up in the + menu. Click one to open a shell inside.

    How it works

  • Serial ports

    Open a terminal on a COM port with its own settings. An unplugged adapter is retried until it's back, and each port can log to a file.

    How it works

  • Network consoles

    Reach console servers and devices over raw TCP or Telnet.

    How it works

  • Serial tools in the terminal menu

    Send Break, switch to hex view, or change what Enter sends.

    How it works

  • Remote section

    All the places you can open a terminal, from SSH hosts to serial ports, in the sidebar. Pin the ones you use most.

    How it works

  • Copy and paste

    Ctrl+C copies a selection, or stops the command when nothing is selected. Ctrl+V pastes.

    CtrlC or CtrlVHow it works

  • Drop files on a terminal

    Drop files on a terminal and their paths are typed in, quoted the way that shell expects.

    How it works

  • Restart a shell that exited

    A shell that fails stays on screen with its exit code. Press any key to start it again.

    How it works

Coding agents

Run many Claude Code sessions at once and always know which one needs you.

Claude Code working in one terminal with two subagents and changed files in the sidebar, while a second agent asks for permission and gets a yellow ring

Agent integration

Claude Code tells Termilly whether it's working, needs you, finished or failed. Your own hooks stay as they are.

How it works
The Notification center listing an agent waiting for permission and one that finished; Ctrl+Shift+J jumps to the one that needs you

Notification center

CtrlShiftA

Every agent waiting for you, failed or finished, most urgent first, with how long each has waited.

How it works
Opening the files Claude changed and stepping through their diffs in the change preview

Change preview

CtrlShiftD

See every edit Claude Code makes, with colours, as a diff or the whole file. Open it as a pane, side panel or window.

How it works
  • Agent activity line

    One dim line under each agent in the sidebar shows what it's doing or waiting for.

    How it works

  • Next terminal that needs you

    One key takes you to the next agent waiting for an answer, in any workspace.

    CtrlShiftJHow it works

  • Global shortcut

    Jump to the next agent that needs you from any app. Turn it on in Settings. Windows only.

    CtrlAltJHow it works

  • Desktop notifications

    Get notified when an agent you can't see needs you, fails or finishes. Click the notification to go straight there.

    How it works

  • Stop an agent

    Interrupt Claude Code or Codex with one click, or stop every agent in a workspace at once.

    How it works

  • Subagents

    Claude Code's subagents show under their terminal while they run, with what each is doing and for how long.

    How it works

  • Claude session in the header

    A small chip shows the model, how full the context is and tokens used. Click it for more.

    How it works

  • Plan usage limits

    See your Claude plan's 5-hour and weekly limits and when they reset.

    How it works

  • Agent cost

    See what each agent has cost, plus totals for today and this week, in dollars or tokens. On Pro and Max it's API value, not a bill.

    How it works

  • Live agents limit

    Too many sessions open? Idle ones in other workspaces go to sleep and resume the same conversation when you return.

    How it works

  • New agent in worktree

    Start an agent on a new branch in its own git worktree, so its work stays apart from yours.

    How it works

  • Clean up worktree

    See if the branch is merged and what's uncommitted, then remove the worktree and, if you like, the branch.

    How it works

  • Changed files list

    Every file Claude changed in a terminal, listed on its header. Step through them with N and P.

    How it works

  • Wrap long lines

    Wrap long lines in the change preview and Git diffs. Termilly remembers your choice.

    How it works

  • Ctrl+click a path

    Ctrl+click any file path in a terminal to open it in the change preview.

    How it works

  • Where changes come from

    Track changes by copying files before and after each edit, or compare against git with no copies. Shell edits are caught too.

    How it works

  • Results

    Pull requests, issues, dev-server addresses, commits and pushes your commands produced, gathered in one list on the header.

    How it works

  • Send to agent

    Paste a command's output into an agent's prompt, labelled and ready for your question.

    How it works

  • Other agents

    Agents without hooks, like Codex or Gemini CLI, still show as waiting when they ring the bell or send a notification.

    How it works

  • Resume after a restart

    A Claude Code session that was running when Termilly closed picks up again in its folder, even over SSH.

    How it works

  • Record agent terminals

    Record a terminal whenever its agent starts working, so you can see later what it did.

    How it works

  • Phone check-in

    Check your terminals and waiting agents from your phone on the same Wi-Fi. If you allow it, approve or reject prompts. Off by default.

    How it works

Git

Changes, history and branches, right next to your terminals.

Ctrl+Shift+G opens the Git window on acme-api: an edit not staged yet as a diff, a commit in History with its changes, then a search for hmac that finds it in two changed files, a commit message and the code a commit added, each opened with the matches marked

Git window

CtrlShiftG

Your changes, history and branches with every diff, in one window. Open it from a branch in the sidebar.

How it works
  • Search the repository

    One box searches changed files, commit messages, authors, hashes, diffs, branches and tags.

    How it works

  • Stage, restore and switch

    Right-click a file to stage, unstage, restore or ignore it, and switch branches from the list. Anything destructive asks first.

    How it works

  • Images as pictures

    Changed images show as pictures, before and after side by side.

    How it works

  • Agent changes in the Git window

    Every file Claude changed, as a tree that updates while it works.

    How it works

  • Git branch in the sidebar

    Every workspace shows its branch, uncommitted changes and ahead/behind right in the sidebar. Click it to open the Git window.

    How it works

Find and reuse

Find any command, output or terminal again, and save the ones you repeat.

Searching for webhook across open and closed terminals, then narrowing to tag:prod

Search everything

CtrlShiftF

Search open and closed terminals, workspaces and commands by name, tag, note or output. Narrow it with tag:, ws: and shell:.

How it works
JSON log output opened in the output viewer, filtered for webhook and then to errors only

Output viewer

Read long output in a panel that filters, follows, wraps and pretty-prints JSON. Copy it or save it to a file.

How it works
The Snippets window: picking a snippet, running it, filling in its value, and the command running in the terminal

Snippets

Saved commands with {{placeholders}}, run in one terminal or many at once. The form remembers your last values.

How it works
Rewinding a terminal plays back its last minutes of output in a player with speed controls

Rewind

Scrub back through the last few minutes of a terminal to see how the screen looked. Kept in memory only.

How it works
  • Command history

    Every command you ran, with exit code, duration and folder. Press Enter to put one back at the prompt.

    CtrlShiftHHow it works

  • Prompt marks

    Each command gets a green or red mark on the scrollbar. Hover for its exit code, and jump from prompt to prompt.

    CtrlShiftUp or CtrlShiftDownHow it works

  • Shell integration

    Termilly knows where each command starts and ends in PowerShell and bash. Your prompt and profile stay as they are.

    How it works

  • Copy the last command's output

    Copy just what the last command printed, without the prompt.

    How it works

  • Keyboard hints

    Every link, path and hash on screen gets a short label. Type it to open or copy it.

    CtrlShiftEHow it works

  • Clickable links

    Ctrl+click web addresses and links programs print to open them.

    How it works

  • Snippets window

    All your snippets in one searchable window, to edit, duplicate, delete or run.

    How it works

  • Save as a snippet

    Turn the last command you ran into a snippet in one click.

    How it works

  • Snippets at the prompt

    Type snippet: at the prompt to pick one from a list. Nothing you type there reaches the shell.

    How it works

  • Recordings

    Record a terminal to an asciicast file and play it back with a timeline of commands. Your keystrokes are never saved.

    How it works

  • Session logs

    Log a terminal's output to a plain file for audits and tickets, with optional timestamps and secrets redacted.

    How it works

  • Captured lines

    Lines your triggers catch are kept in one list, so no error scrolls past unseen.

    How it works

Safety and production

Termilly knows which terminals are on production and asks before anything risky reaches them.

Tagging a terminal prod gives it a red frame and a PROD badge; tagging it dev instead takes them off

Production and staging terminals

Terminals on production or staging get a coloured frame and a PROD or STAGING chip, by tag or by host name.

How it works
  • Host patterns

    Choose which host names count as production or staging, with * as a wildcard.

    How it works

  • Ask before pasting

    Choose when pasting into production asks first. Broadcasts, snippets and scripts always ask.

    How it works

  • Tint the background

    A faint wash of the environment's colour over the whole terminal.

    How it works

  • Check before pasting several lines

    Pasting several lines shows a preview first, so nothing runs by accident.

    How it works

  • Who may read and type

    Choose which terminals agents may read and type into. Remote, production and sensitive terminals are off by default.

    How it works

  • Access marks and log

    A terminal's header shows when an agent reads or types into it, and every access is logged.

    How it works

  • Output marked as untrusted

    What agents read from other terminals has secrets redacted and is marked as output, never instructions.

    How it works

  • Clipboard writes only

    Programs like neovim and tmux can copy to your clipboard if you allow it, but can never read it.

    How it works

  • Production-safe broadcast

    Terminals tagged prod join a broadcast only after you confirm.

    How it works

Scripts and automation

Scripts, agents and plugins can drive Termilly, within the limits you set.

A script types npm test into the tests terminal through termilly send and waits for the result

The termilly command

From any terminal, list and open terminals, type into them, run snippets and search history.

How it works
A command prompt outside Termilly runs termilly list and termilly read; the pane it read gets a mark

Read and wait on other terminals

Read another terminal's last output, or wait until its command finishes or a line appears, like a server saying it's ready.

How it works
Claude Code reads the dev server through the termilly MCP server, sets a status, fixes an import and waits for the reload

MCP server for coding agents

Let agents see your terminals, read their output and use your snippets. Typing and opening only if you allow it.

How it works
  • Let scripts and agents type

    Off by default. Turn it on and choose which terminals scripts and agents may type into.

    How it works

  • Terminal ID

    Copy any terminal's id from its menu, to use with the termilly command or MCP server.

    How it works

  • Broadcast input

    Type once into every terminal in a workspace, every terminal with a tag, or the ones you pick.

    CtrlShiftIHow it works

  • Broadcast compose

    Write multi-line text, then send it to every broadcast terminal at once.

    How it works

  • Triggers

    Watch output for patterns and highlight, capture or notify on a match. Start from ready-made ones for errors and builds.

    How it works

  • Alert me

    Get one alert when a terminal's command finishes, goes quiet, or prints something.

    How it works

  • Start commands

    A layout can give each terminal a command to run when it starts.

    How it works

  • Plugins

    Add colour themes and palette commands with plugins. Plugin scripts run sandboxed, with no network.

    How it works

Look and feel

Colours, fonts and terminal details, changed instantly.

Settings, Appearance: clicking through Midnight, Deep Ocean, Classic Blue, Green Phosphor, Sunset, Paper and Glacier

Themes

Dark, Light, System and 20 colour themes, each previewed before you pick it.

How it works
  • Themes from the palette

    Switch theme, or between light and dark, from the command palette.

    How it works

  • Terminal and app fonts

    Pick any monospace font for terminals and any installed font for the rest of the app.

    How it works

  • Text size

    Make terminal text bigger or smaller with the keyboard, the mouse wheel or a slider.

    Ctrl or Ctrl- or Ctrl0 or CtrlWheelHow it works

  • Line height and cursor

    Pick a line height, a bar, block or underline cursor, and whether it blinks.

    How it works

  • Text smoothing

    Choose crisp greyscale or ClearType text. Windows only.

    How it works

  • Terminal colours from plugins

    Use a theme plugin's colours in your terminals, or keep the app theme's.

    How it works

  • Inline images

    Images programs print with Sixel or iTerm2's protocol show right in the terminal.

    How it works

  • Modern terminal support

    Wide emoji, progress reporting, terminal notifications and the bell all work as programs expect.

    How it works

  • Its own title bar

    One slim bar with your workspace, search, splits, notifications, snippets and settings, the same on Windows and Linux.

    How it works

Privacy and sync

Everything is encrypted on your PC, and nothing leaves it unless you say so.

  • Encrypted on this PC

    Your workspaces, history and saved output are encrypted on your PC, unlocked by your Windows account or, on Linux, a key file only you can read.

    How it works

  • Recovery code

    A code that unlocks your history if your Windows password is reset or the Linux key file is lost.

    How it works

  • Locked history

    History that can't be unlocked is set aside until you enter its recovery code.

    How it works

  • History settings

    Choose how long closed terminals are kept, from 7 days to a year, or clear everything.

    How it works

  • Redact secrets

    Tokens, keys and passwords can be hidden from history, logs and recordings. What agents and phones see is always redacted.

    How it works

  • Passwords outside Termilly's files

    SSH passwords and your AI key live in the system's credential store, never in Termilly's files.

    How it works

  • Sync between PCs

    Share command history through a folder you already sync, like OneDrive or Dropbox. It's encrypted with a code only you know.

    How it works

  • Updates only when you choose

    Termilly tells you when a new version is out. Nothing is downloaded or installed until you click.

    How it works

Everything else

The rest of the toolbox.

Settings: searching for cursor and history, then the Terminal and Privacy sections

Settings

Ctrl or

Changes apply at once. Search every setting, or open one straight from the palette.

How it works
  • Command palette

    Every command, setting and snippet in one list, each with its shortcut.

    How it works

  • AI assistant

    Optional. Ask about the terminal you're in, using your own Anthropic key or a local model. It only does what you allow.

    CtrlShiftKHow it works

  • Keyboard shortcuts list

    Every shortcut, grouped and listed in Settings.

    How it works

  • Guided tour

    A short walk past the things you'll use every day, offered on first start.

    How it works

  • Memory report

    See how much memory the app and each terminal use right now.

    How it works

  • Lighter terminals out of sight

    Terminals in other workspaces can keep fewer lines to save memory.

    How it works

  • Windows and Linux

    The same app on Windows 10 and 11, and on Linux with a .deb package.

    How it works

Download

Download Termilly

Windows 10 (version 1903 or later) and Windows 11, 64-bit, or Debian and Ubuntu.

The latest release. SHA-256 checksums

  • WindowsFull installer

    About 270 MB. Carries .NET and WebView2, so it works without an internet connection.

    Download
  • WindowsOnline installer

    About 10 MB. Downloads .NET and WebView2 from Microsoft while it installs.

    Download
  • LinuxDebian and Ubuntu package

    About 1 MB. apt installs .NET and WebKitGTK with it.

    Download

Or install from a terminal

  • WindowsPowerShell

    irm https://termilly.com/install.ps1 | iex
  • WindowsCommand Prompt

    curl.exe -fsSLo install.cmd https://termilly.com/install.cmd && .\install.cmd && del install.cmd
  • LinuxTerminal

    curl -fsSL https://termilly.com/install.sh | sh