cd /news/developer-tools/hyperia-0-12-7-is-released-an-agenti… Β· home β€Ί topics β€Ί developer-tools β€Ί article
[ARTICLE Β· art-34972] src=github.com β†— pub= topic=developer-tools verified=true sentiment=↑ positive

Hyperia 0.12.7 is released: an agentic terminal for agents and humans

Hyperia 0.12.7, an agentic terminal for agents and humans, has been released with Stream Deck Plus support, a first-class MCP client, shell integration, and agent focus features. The update includes code-signed builds for Windows and macOS, structured extraction using JSON-schema, and improved pane management. This release marks the first under the Hyperia-Terminal name, distinguishing the terminal app from its hyperia-sidecar backend.

read9 min views1 publishedJun 20, 2026
Hyperia 0.12.7 is released: an agentic terminal for agents and humans
Image: source

0.12.7 #

The first release under the Hyperia-Terminal name β€” the terminal app, now named distinctly from its hyperia-sidecar

backend. Same application, updates in place (app identity unchanged, so existing installs auto-update). Windows is code-signed (Azure Trusted Signing), macOS is signed + notarized, Linux ships as AppImage + deb.

Highlights #

πŸŽ›οΈ Stream Deck Plus supportβ€” a new companion daemon (tools/deck-mcp

) turns a Stream Deck Plus into a physical control surface: focus/split/new-tab your panes from the touch strip and dials, switch apps from the keys.βŒ¨οΈβ€” a first-class MCP client for scripts and lightweight agents: curated verbs (hyperia

CLIstatus

,run

,split

,focus

,open

,cd

, …), adoctor

health check, and aguide

. Build standalone withyarn build:cli

.🐚 Shell integrationβ€” panes report live working directory and running app, with safecd

from the picker and agents.🎯 Agent focus that moves the paneβ€”terminal_focus

(and the CLI / Stream Deck) now switch to the owning tab and focus the terminal, entirely in-window β€” no OS-window stealing.🧠 Maximus structured extractionβ€” tool-result extraction uses JSON-schema structured output, reliable across models.

Terminal & panes #

  • Pane focus fix: terminal_focus

selects the pane's tabandfocuses it; consent requests switch to the target pane so the prompt is visible. - Panes/tabs are addressed by name or id onlyβ€” the positionala/b/c

labels are gone (they confused agents). - Web panes show load status in the label ( 404 / Unreachable / page title / host) instead of a placeholder; split + remount fixes. - Picker: cd

via the shell-state dispatcher, recent-path filtering.

  • New tool cleanly separatesrequest_access

identity(who you are) fromaccess(consent to act on a pane). - Consent panel is a contained card; consent-wait timing fixed; secret-redaction hardening.

Windows polish #

  • Taskbar/window/tray icon fixes: AppUserModelId

set before window creation, tray usesicon.ico

, explicitwindow.setIcon()

, PNG→nativeImage

decode.

Build & CI #

  • Windows signing degrades gracefully to unsigned (with a loud warning) if Azure Trusted Signing is unavailable, so an outage never blocks the macOS/Linux release. fail-fast: false
  • resilient release gate β€” one platform failing no longer drops the others.

Downloads #

Windows:Hyperia-Terminal-0.12.7-x64.exe

(signed)macOS:Hyperia-Terminal-0.12.7-mac-x64.dmg

·…-mac-arm64.dmg

(signed + notarized)Linux:Hyperia-Terminal-0.12.7-x86_64.AppImage

Β·Hyperia-Terminal-0.12.7-amd64.deb

Nightly Build (unsigned) #

Automated unsigned nightly build from canary

(2b4acd59aeaaa09085a2bd4b55890f908cd6da07

).

These installers are not code-signed. Expect OS security prompts:

Windowsβ€” SmartScreen warning; chooseMore info β†’ Run anyway.macOSβ€” Gatekeeper block; right-click β†’Open, or run

xattr -dr com.apple.quarantine /Applications/Hyperia.app

.

For signed, notarized releases use the tagged versions on the Releases page.

0.11.1 #

v0.11.1

Hyperia v0.11.1 β€” containerized sidecar deployment (Topology A) + use…

0.10.32 #

This release provides certificate signing for Mac and Windows as well as native Mac chip support for newer OSs.

Lots of new fixes, including colored tabs, shell pickers, Stickys notes and more.

v0.10.9 β€” Local model reliability + LAN-reachable sidecar #

Co-developed live with Antigravity (Gemini 3.5 Flash) over a shared workspace pane.

Highlights #

Local model reliability β€” structured JSON + parallel candidates + "none"

tool sentinel

OllamaProvider::stream

now constrains Ollama's output to a strict JSON schema (thought

  • optional tool_call

  • optional reply

) via Ollama's format

field, and runs N=3 parallel candidate generations at different temperatures (0.2 / 0.7 / 0.9). The first candidate whose JSON validates against the active tool schema wins; the rest are aborted via tokio::select!

to free GPU memory.

A "none"

sentinel was added as a valid tool_call.name

value, so when the model has nothing to call it must explicitly select "none"

instead of inventing a tool name. Validation + event emission both short-circuit when name == "none"

, so the agent loop only sees real tool calls. (Commits 5ae64a2a

for the structured + parallel core, b2ab8e65

for the "none"

sentinel refinement.)

Why it matters: in v0.10.8, small local models (gemma4:e2b, etc.) routinely freelanced β€” inventing google:search

, refusing to acknowledge prior conversation context, or emitting tool-call-shaped prose without firing a real call. Schema-constrained decoding eliminates the freelance path. Parallel sampling at varied temperatures gives at least one candidate room to thread the needle on hard prompts. The "none"

sentinel closes the remaining gap where the model wanted to reply but felt obligated to put something in tool_call.name

.

Implementation scope is contained to provider.rs

. agent.rs

and api.rs

are unchanged β€” the structured response is translated back into the same ProviderEvent

stream (TextDelta

/ ToolCallStart

/ ToolCallDelta

/ ToolCallEnd

/ MessageStop

) the agent loop already consumes.

Other fixes since v0.10.8

(--bind <ip>

flag +HYPERIA_BIND

env var5ae64a2a

) β€” sidecar can now listen on0.0.0.0

(or any specific IP) for LAN-reachable MCP. Default stays127.0.0.1

. Replaces the userland Python forwarder workaround that was needed to expose the sidecar across machines. When bound to a non-loopback address, the sidecar emits a startup WARN β€” Hyperia's tools are full RCE, so the operator is told they're now exposed. - Legacy ghost.ts BrowserWindow deleted(acba2a2d

, 1289 β†’ 53 lines) β€” the agentic chat surface is fully unified on the shell pane (sidecar-served HTML at/shell

, hosted in a HyperiawebUrl

pane). The legacy IPC channel still routes β€”Ask Hyperia

menu entries open the shell pane in the focused window. Reset/continue/auto-reset/window.onerror ported to the shell before deletion so no regressions vs the old window. - Stateless MCP transport(3ee2f446

) β€”rmcp::StreamableHttpServerConfig::stateful_mode = false

. Sidecar restarts (hot-swap, crash + respawn, fresh install) no longer break Claude Code's MCP client. Previously every restart returned HTTP 404 on every call until the user manually/mcp

β†’ Reconnect; now restarts are invisible. - Slow MCP calls fixed(0a043c79

) β€”get_screen

404 was emitting WARN through the shared tracing pipeline; a background poller asking for a long-closed tab generated 858/1000 log entries and serialized real MCP calls behind log I/O. Demoted todebug!

. Throughput restored. - (.deb

postinst sets chrome-sandbox setuid7782331e

) β€” fresh Ubuntu 24.04 installs of v0.10.8 crashed immediately withFATAL setuid_sandbox_host.cc:166

. Electron-builder doesn't apply the setuid bit by default; the .deb'safter-install

script now runschown root:root && chmod 4755 /opt/Hyperia/chrome-sandbox

. Also fixed the broken/usr/local/bin/hyperia

symlink that pointed at a non-existent path. - (install.sh

Linux branch6e723b18

) β€”site/install.sh

now detects dpkg-based systems and downloads + installs the.deb

(with apt-get fallback), or falls back to the universal.AppImage

. Previously the Linux branch was a hardcoded "Linux builds are not yet available" message dating to v0.5.x.NOTE: the script in this repo is fixed; the public copy athyperia.nuts.services/install.sh

still needs to be redeployed (task#48).

Migration notes #

Conversation memory is now reset on shell-pane reopen if the sidecar still thinks a prior agent run is in flight. This prevents stuck sessions but means a planned "leave it running in the background then come back" workflow won't survive a refresh β€” by design, since the in-flight run is from a previous pane lifecycle.now open the shell pane instead of the legacy 520Γ—700 popup window. Visual change; functional parity confirmed.Ask Hyperia

menu entriesis applied automatically on/opt/Hyperia/chrome-sandbox

permission fix.deb

install. Existing v0.10.8 installs that already worked around the bug manually can leave their4755

chmod in place β€” no conflict.

Signing status #

Windowsβ€” Signed via Azure Trusted Signing (publisher: DeepBlue Dynamics LLC). Built locally..exe

macOSβ€” Developer ID Application signed + notarized..dmg

/.zip

(x64 + arm64)Linuxβ€” Unsigned (typical for these formats)..deb

+.AppImage

Known issues / open follow-ups #

  • Task #48β€”site/install.sh

deploy tohyperia.nuts.services

still pending. OPEN

issues#62-66 (Maximus stack: Streamable HTTP proxy, tool-interception list, status tool, settings UI) β€” not part of this release; tracked separately.

πŸ€– Drafted with Claude Code, co-developed with Antigravity (Gemini 3.5 Flash) over shared workspace pane c.

v0.10.8 β€” Agentic shell pane + tool_mount + model picker #

Highlights #

Agentic shell pane

The chat surface is now a Hyperia pane (webUrl

pane type, served from the sidecar at /shell

) rather than a separate BrowserWindow. Right-click anywhere β†’ Hyperia Shell. The legacy ghost BrowserWindow is kept as a fallback for one more release.

tool_mount

SSE event

The agent can ship a self-contained HTML+CSS+JS widget into the chat scrollback. Iframe-hosted with postMessage

RPC; widgets fetch data via GET /api/ghost/widget/:id/data

and queue actions for the agent's next turn via POST /api/ghost/widget/:id/action

. Foundation for downstream features (DOM inspector, thermodynamic bookmark graph).

Model picker + ollama auto-scan

  • Capabilities endpoint calls ollama's /api/tags

and lists installed models. - Clickable model

field in the shell's status strip opens an inline picker; selection writesconfig.agent.{provider,model}

viaPOST /api/ghost/set-model

. - When ollama is reachable and no model is configured, the sidecar auto-picks the first installed non-specialist model. No more hardcoded llama3.2

fallback that 404s when not pulled.

Bootstub Level-0 micro-agent

Pure Rust state machine, no LLM dependency. Runs when /api/ghost/capabilities

reports level: "none"

β€” recognizes install ollama

, paste anthropic token sk-ant-…

, what's possible

, show config

, etc. The shell is always interactive, even on a fresh install.

Hardwired typed commands in the shell

Phrases that match a UI affordance fire it deterministically β€” no LLM round-trip, no hallucinated tool names:

change model

/switch model

/pick model

β†’ opens the pickerlist models

/show models

β†’ installed ollama listshow config

/doctor

/version

/commands

Pasted/dropped assets

Paste a screenshot (Win+Shift+S then Ctrl+V) or drag a file onto the shell. Image/PDF/text assets land in ~/.hyperia/assets/<id>.<ext>

and render inline as asset rows with thumbnail for images.

Fixes since v0.10.7

terminal_run Enter not submitting in TUIsβ€” Claude Code, vim, and other input-mode TUIs sometimes swallowed the trailing\r

. Now command + Enter ship in one atomic PTY write.Tab nameβ€”'''

bugauto_describe

now strips smart quotes, double quotes, backticks, and sentence-ending punctuation in one pass instead of a brittle chain.Conversation memory + tool honesty in agent system prompt β€” small local models stop refusing to use what the user told them, stop hallucinatinggoogle:search

.- Dropped dead hasAgentConfigured()

helpers and unsafe-any

rpc casts (lint clean).

Signing #

Windowsβ€” Signed via Azure Trusted Signing (publisher: DeepBlue Dynamics LLC). Built locally and uploaded; CI is not yet wired with the signing secret..exe

macOSβ€” Signed with Developer ID Application + notarized, uploaded separately from the Mac build..dmg

πŸ€– Generated with Claude Code

v0.9.0 β€” Maximus tokenmax layer #

What's new #

Maximus tokenmax β€” iterative Ollama-powered compression for tool results

  • Ghost agent tool results now run through a 3-stage pipeline: classify content type β†’ derive extraction strategy β†’ apply iteratively until stable (up to 3 passes)
  • Annotates every result with [tokenmax type=X pattern=Y src=ollama/Ni Aβ†’Bchars]

so agents always know what was filtered - Adaptive hints in output: raw=true

to get full content,maximus_explain

to see the strategy used - Ferricula-backed pattern memory β€” learned extraction patterns persist across sessions

  • Offline heuristic fallback (cargo-test, JSON, git-diff, Rust compiler output, HTTP responses) when Ollama is unavailable maximus_explain

tool β€” see content type, strategy, compression ratio, and iteration count from the last extractionraw=true

param added toterminal_run

,terminal_screen

,file_read

,tab_snapshot

,shell_state

  • External MCP agents get the same tokenmax treatment via the Hyperia MCP server

Installation #

Download and run Hyperia-0.9.0-x64.exe

. Signed with Azure Trusted Signing.

── more in #developer-tools 4 stories Β· sorted by recency
── more on @hyperia 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/hyperia-0-12-7-is-re…] indexed:0 read:9min 2026-06-20 Β· β€”