---
title: "0.26.0"
description: "Smithers becomes the durable control plane for the Hermes agent runtime, every built-in workflow run now prints a useful result, and memory list works across all namespaces."
---

Smithers 0.26.0 is a feature release. It adds first-class support for the Hermes agent runtime, makes every built-in workflow print something useful when it finishes, and fixes a few rough edges in the CLI.

This release also rolls up the output-task and run-output work that was prepared as 0.25.5 and 0.25.6 but never published to npm, so npm goes straight from 0.25.4 to 0.26.0.

---

## Agent integrations

Smithers now drops into the Hermes agent runtime, in both directions: the agent operates durable Smithers workflows, and a Smithers workflow can delegate a task back to the agent.

- **Hermes** ([Nous Research](https://github.com/NousResearch/hermes-agent)) gets a **native Smithers plugin**, which is richer than a bare MCP entry. It adds slash commands (`/smithers run|ps|inspect|approve|deny|watch`) usable in the Hermes CLI and every gateway it speaks to, a `pre_llm_call` hook that injects live run status and pending approval gates into Hermes on every turn, the `smithers_run` / `smithers_ps` / `smithers_inspect` / `smithers_approve` / `smithers_deny` / `smithers_output` / `smithers_human_answer` tools, and a bundled `smithers:orchestrate` skill. A new `HermesCliAgent` also lets a workflow `<Task>` delegate to the Hermes agent itself.

See [Hermes](/integrations/hermes) for setup.

## Every workflow run prints a useful result

A finished run used to print `output: null` even when the work produced something. Now it does not.

- The `workflow run` / `up` summary prints the run's output cleanly. It strips the internal `run_id` / `node_id` / `iteration` columns, unwraps a single row, and omits the field entirely when there is nothing to show, so a successful run never prints a noisy `output: null`.
- **Every** built-in init-pack workflow, both the seeded ones (`hello`, `create-workflow`, `route-task`, and the rest) and the legacy-inline ones (`plan`, `implement`, `review`, `debug`, `audit`, and the rest), now ends with a deterministic `output` task that aggregates its genuinely useful terminal result: files changed, the plan steps, the chosen route, reviewer verdicts, the greeting, and so on. Add a final `output` task to your own workflows to control what their run prints.

## CLI

`bunx smithers-orchestrator memory list` now works with no namespace. It lists every fact across all namespaces, grouped by namespace, instead of failing with a raw validation error. Passing a namespace still scopes to that one. The memory store gains a `listAllFacts()` method (and its `listAllFactsEffect` twin) that backs it.

## Migration notes

No breaking changes are identified in 0.26.0. The new agent integrations and output tasks are additive; workflows that already ended with their own `output` task are unaffected. Because 0.25.5 and 0.25.6 never reached npm, installing `0.26.0` from `0.25.4` picks up all of their changes at once.
