Changelog

What we've shipped lately. superterm is actively developed — and funded by Professional subscriptions.

October 2026

Focusing on the impact with Artifacts + Dictation

Say what you want, end with "send it", and get back to thinking about the result instead of the keystrokes. Dictation goes straight into the coding agent in front of you, and when the work is better read as a page than as scrollback, the agent writes it up as a superterm artifact beside the terminal.

Sound on for this one. The clip starts from an empty superterm: a new session, a clone of the SlicerVM agent skills, and opencode on Qwen3.8 27B. Two spoken requests follow. The first asks for an audit of the skills, written up as an artifact with a summary and a table of findings. The second corrects it with something only the person knows, and asks for the fixes. Nine files change, and the artifact updates itself to match. The narration and the dictated lines are Alex's cloned voice; he didn't record them. Dictation is self-hosted (Parakeet plus a polish model), silent waits for the model are sped up and labelled, and everything spoken plays in real time.

  • Ctrl+Alt+M (Cmd+Option+M on a Mac) starts dictation in any session.
  • End with "send it" and it is sent: no click, no Enter.
  • The polished text is shown before it goes, so you can see what was heard.
  • Agents write artifacts with superterm artifact init: reports, status boards, and decks that render beside the terminal and refresh as they change.
  • Open an artifact full width when it deserves the whole screen.

Talk to your agents, and hear them answer

Turn on voice mode in a chat and talk to the agents doing your work. Ask what they are up to, tell one what to do next, and get a second opinion from another model, without touching the keyboard. When an agent you set to work mails back that it is done, superterm says so aloud, unprompted.

Sound on for this one. In the clip, superterm runs in a Slicer VM with two opencode agents. The chat runs on GLM-5.3 Flash, the second opinion is DeepSeek V4 Flash, and the speech is self-hosted: Parakeet listens, Kokoro answers. The person's lines are Alex's own voice, cloned from an 18-second recording; he didn't record them. Silent waits for the models are sped up and labelled; everything spoken plays in real time.

  • Ask what your agents are doing, and hear a summary read from their panes.
  • Hand an agent a job by voice. Its report comes back as mail, and is spoken the moment it arrives.
  • "Let's get a second opinion": the chat asks another model and gives you its answer, marked as that model's.
  • Talk over a reply to interrupt it. Mute, Skip, and End sit beside the voice strip, and a conversation left silent checks in, then hangs up.
  • Speech stays on your own hardware: superterm speechd init sets up the speech-to-text and the voice.

MCP support for chat agents

superterm's chat can now use tools from MCP servers. Name a server under chat.mcp in config.yaml, and its tools are offered to the model alongside the chat's own, named after the server: Jina's search_web becomes jina_search_web. The model reaches for them when a question needs them, as a coding agent would.

In the clip, superterm runs in a Slicer VM with two servers configured: Jina over HTTP for web search, and mcp-server-git started locally over stdio. After a restart, one chat searches the web for SlicerVM, then asks git what is uncommitted in a project, with DeepSeek V4 Flash answering both.

chat:
  mcp:
    jina:
      url: https://mcp.jina.ai/v1
      token_file: ~/.superterm/jina.key
      tools: [search_web, read_url]
    git:
      command: [mcp-server-git, --repository, ~/billing-api]
  • url reaches a remote server over streamable HTTP, with headers and a bearer from token_file; command starts a local server and speaks to it over stdio.
  • tools offers only the tools you name. Every tool's description is sent with each turn, so a short list keeps the prompt small.
  • A server that is down is retried in the background, and a local server that dies is started again on its next call.

Restore — shut the machine down, and your agents carry on

Shut a machine down, or lose tmux altogether, and superterm puts it back: the same sessions, windows, and splits, each pane in its own directory, and every coding agent resumed in the conversation it was having, by its id. There is nothing to run. When superterm starts and finds no tmux server, or sees the one it was watching disappear, it restores from its last snapshot.

In the clip, superterm is running in a Slicer VM with two opencode agents that have just finished their tasks. The VM is shut down from the host and relaunched. No commands are typed after that: the sessions come back, and both agents are back in their conversations, on the same changes.

  • Snapshots are taken when superterm is stopped, so a reboot or shutdown is covered, as well as when the layout changes and every few minutes.
  • Claude Code, Codex, opencode, and Copilot resume by their exact conversation id. superterm agent-setup install adds the hooks that report it. An agent without an id gets its pane back with a note of how to resume.
  • Plain shells come back in their directory with their recent output. Background jobs are named in that note, and are not restarted.
  • A session you closed on purpose stays closed.
  • superterm restore --list shows the snapshots; superterm up --auto-restore=false turns it off.

September 2026

Artifacts — an agent's work, beside its terminal

An agent on a long job can now keep a page beside its terminal: a status board, a report, a slide deck. It writes plain HTML into a folder that belongs to its session, and superterm renders it next to the terminal on desktop, split with a draggable divider, or over it on a phone, reloading whenever the files change. The agent spends nothing on delivery; it writes files.

In the clip, an agent brings Qwen3.8-Flash-Next up on a pair of DGX Sparks while a readiness dashboard fills in beside it: the checkpoint staged and relayed, vLLM up with a 3.65M-token KV cache, a health check, a benchmark that draws its own chart. Then it writes a serving report as a second artifact, and the picker lists both, newest first.

  • superterm artifact init status --title "Onboarding progress" prints the folder; write index.html there and it appears.
  • Several per session, listed newest first with their ages, and they survive the agent exiting.
  • Open one on its own page, print it to a PDF that paginates, or download it: a single file as itself, a folder as a zip.
  • Private to your superterm login, and only that. The page runs sandboxed, confined to its own origin: no cookie, no API, no way out.
  • superterm skill artifacts tells an agent when and how to use it.

August 2026

Spell check with one-key acceptance

Is that word right? Press ^G w in the TUI — or Cmd+Alt+S on the web — and check it as you type. A built-in British English dictionary answers in under a millisecond, offline, with a red-line on the input and ranked suggestions. Press 1–5 to accept one and Enter to drop it straight into your session.

For jargon the dictionary has never met, a local language model is the second line — consulted only when the dictionary admits a blank, and never required: with no model configured, the dictionary is the whole answer.

Agent mail — second opinions without you in the loop

Sessions can now mail each other: durable messages with threads, read receipts, and a kernel-verified sender, stored on your server. A doorbell types the exact read command into the recipient's composer, so any agent knows what to do with no SDK and no glue code — and --await-reply lets a sender block until the answer lands.

In the clip, one coding agent asks a second model for a design review by mail, and gets it — while you watch, rather than relay.

Since then, addressing has grown pane-level precision: in a session shared by two agents, session.agent reaches exactly one of them, and replies come back pane-qualified automatically.

superterm-tui — a native terminal client

The whole of superterm, inside the terminal you already live in. superterm-tui up --url https://your-server attaches over the same server as the web UI: the session rail ranked by who needs you, the command palette, search, and voice dictation — all behind a single ^G leader that works in every terminal, including macOS Terminal and GNOME Terminal.

It ships alongside the server binary and stays in step with it via superterm update. Run it on the machine you sit at and the clipboard — and so image paste — stays local.

July 2026

Calmer readback, dictation without a GPU

Dictation runs on CPU by default — no GPU required — so speech-to-text works on any machine, with a GPU an optional speed-up rather than a prerequisite. The readback overlay swaps its sweeping flash for a calm accent border while speaking (the level bars carry the motion), and a new speech.readback_speed setting (0.5–2.0) controls the pace of spoken summaries.

Mobile — swipe, zoom, and attach

Swipe in from the left edge to reveal the session picker, and swipe it away again. New A-/A+ buttons in the header nudge the terminal text size and remember your choice, and a paperclip beside the microphone hands photos, text files, and PDFs straight to an agent (Pro).

Dictation capture was rebuilt for phones too: audio is processed off the main thread so recording never fights terminal rendering, streaming uses a third of the bandwidth, and your first words appear in under a second. Overview tiles no longer collapse to empty bars on small screens.

Session names that remember themselves

Typing a new session name now offers a proper combobox: a keyboard-navigable list under the field with the typed portion highlighted, prefix matches first. Names come from superterm's all-time record, so long-gone sessions are recalled on every device — handy when your names come in families like inlets-pro and inlets-uplink.

Picking a name that's already running switches to that session instead of creating a duplicate.

Sort the overview by what needs you

The overview now ranks Activity properly — running state first, then live CPU, then output — so a busy session surfaces instead of sinking into an alphabetical list. Idle flips to show the most recently active session first, and Starred keeps your favourites on top.

Pick a mode from the header (it's remembered), and the order freezes while you look — tiles rank meaningfully without jumping around under you.

Screen readback — hear what your agent is up to

Ask superterm to read a session back to you: it summarises what's on the agent's screen and speaks it aloud, so you can catch up on a run without wading through scrollback.

The summary comes from the polish LLM you already configured for dictation, and it scales to the content — dense screens keep their substance rather than being squashed into a headline. Voice is an optional extra via a text-to-speech endpoint (Kokoro works well); without one, the summary arrives as text instead.

Set up dictation with one command

superterm speechd init takes local transcription from a hand-built Python environment to a single command: it checks prerequisites, prints the exact install commands for anything missing, creates the environment, and writes a ready-to-run config.

The default engine is now ONNX — a ~250 MB, CPU-only setup that transcribes a 96-second dictation in about 2 seconds, no GPU required. Got one anyway? init spots it and recommends --gpu. Add --systemd to install everything as user services that survive a reboot, and if you already run llama-server or vLLM for another model, the polish step can point at that endpoint instead of needing its own.

Clipboard copy that repairs itself

Copying out of full-screen TUIs depends on tmux's set-clipboard option, which could silently end up off if tmux started before superterm wrote its config. superterm now verifies the live tmux server on start and re-applies its settings whenever they disagree — so copy from TUIs keeps working without a manual restart.

Talk to your agents — voice dictation

Dictate to a session instead of typing. Speech streams over the WebSocket and is transcribed live, with a preview you can edit before it sends — handy on mobile, or when a prompt is faster spoken than typed.

Since the first cut, the whole flow has been hardened for daily use. Previews now transcribe the full recording, so what you see converges on the final text, and your manual edits are never overwritten by a late result. The review toast is down to three actions — Cancel, Add, and Send — where Add dictates a further segment onto what you've already reviewed, so a long prompt no longer has to land in one take.

Under the hood, transcription moved to Parakeet TDT 0.6B, which emits punctuated, capitalised text natively, and the polish step now refuses to drop terms like MCP from a correct transcript. It's private by default: audio is transcribed on your own machine and never leaves it — no cloud, no API keys, no third parties.

Paste and upload images straight to your agent

Drop a screenshot, mockup, or error dialog right into the composer — no more describing what's on screen. Works with any agent that accepts image input.

You can also drag an image from anywhere on your desktop straight onto the terminal — a drop zone appears, and the file lands where the agent can read it.

June 2026

Queued send — agents pick back up on your schedule

Out of credit until your top-up lands in a few hours? Queue the message now and superterm sends it at the time you set, so the agent carries on the moment it can — no babysitting, no missed window.

Sends are smoothed out to avoid the flicker you'd otherwise see when keys are replayed into a session.

Update superterm from inside the app

superterm now spots when a newer build is available — both the binary and the client — and surfaces an update banner. Update in place from the banner without dropping into a shell, and your tmux sessions keep running through it.

Copy and paste that works across browsers — and inside TUIs

Switch machine or agent and copy/paste usually breaks. Not any more. Selection now copies cleanly in every browser, and you can grab the terminal selection as Markdown, HTML, or plain text.

It even works in and out of full-screen TUIs like opencode and amp, where the terminal normally swallows your selection. Multi-line pastes no longer get mangled by editors, and Esc is snappy in TUIs.

True colour in the terminal

Managed tmux sessions now run with 24-bit RGB (truecolour) enabled, so themes, syntax highlighting, and agent output look the way they're meant to — no more washed-out 256-colour approximations.

Sharper attention signals

Bell detection now reads tmux's native window flag instead of polling a shell loop in every pane — so "needs you" alerts are more accurate and a lot lighter. The attention view picks up finished and waiting agents more reliably as a result.

Lighter on your CPU

Background monitoring got a lot cheaper. tmux pane queries are batched into a single list-panes call, process sampling now uses a cached gopsutil sampler instead of forking ps, and superterm skips the tmux inventory entirely when you have no sessions running. Less fan noise, more battery.

Get every improvement, all day.

Professional unlocks the full experience — and keeps this list growing.

See pricing