Skip to content

Releases: diegopetrucci/the-last-harness

v0.39.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 12:31

Added

  • pi-transcribe is now bundled by default.
  • ~/.claude/skills and project .claude/skills skills are now read.
  • Bundled the/show-me skill for visual explanations with diagrams, code-shape sketches, and focused HTML artifacts.
  • [Beta] OpenRouter is now supported as a primary provider.
  • Installation should be faster.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.39.0/CHANGELOG.md

v0.38.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 15:48

Fixed

  • Fixed async subagent widgets that could show stale activity or health warnings after continuing a run.
  • Update-available warnings now reappear on every interactive launch until the release is installed.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.38.1/CHANGELOG.md

v0.38.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 22:22

Added

  • At launch, TLH now shows what’s eating up your context.
  • TLH now warns you if a provider you've logged in with needs you to re-authenticate.
  • The /annotate-last-message window is now prettier because it renders Markdown and includes other niceties.
  • Changing /model, /thinking, or /effort now asks you whether it should apply to only that session, or to all sessions.
  • TLH now bundles skills for using Herdr, Cmux, and Tmux.

Changed

  • /fast now supports both OpenAI and Anthropic models.
  • Bumped the pinned Pi runtime to 0.84.2.
  • Various improvements to how subagents look in the TUI, and how they report issues to the primary agents.
  • The installer's default output is now more concise.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.38.0/CHANGELOG.md

v0.37.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 16:15

Model defaults

  • repo-scout, web-scout, librarian, and diff-summarizer now use gpt-5.6-luna medium, instead of gpt-5.4-mini high.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.37.0/CHANGELOG.md

v0.36.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 13:23

Added

  • When TLH ships changes in the default models/thinking levels, it now offers the user to /reconcile them.
  • Bumped Pi to 0.84.1.

Removed

  • Removed a lot of dead schemas, tools, code, etc. TLH is now using even fewer tokens per run.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.36.0/CHANGELOG.md

v0.35.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 07:20

Added

  • While a subagent is reasoning (no active tool), the live-progress display now shows a whimsical phrase from a pool of ~200 entries.

Fixed

  • I believe Pi has a bug causing some unnecessary cache misss. We can't fix it, but we can work around it with a tiny fake message from subagents to the primary agent. You will start seeing a one-line message after subagent completion because of it.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.35.0/CHANGELOG.md

v0.34.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 21:35

Added

  • You can now more easily edit subagent models/effort via the built-in /subagent-settings command. I believe TLH offers the best defaults, but you should be able to tweak them as you wish.
  • TLH now sends provider/model/effort of the session's primary + secondary agents in a single, anonymous, event at launch. Opt-out.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.34.0/CHANGELOG.md

v0.33.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 20:32

Fixed

  • Architect steering of async child runs now actually works at runtime.
  • The librarian subagent tool budget was raised from soft 20 / hard 30 to soft 30 / hard 60 so external GitHub research tasks are less likely to end early on budget exhaustion.
  • The architect cleanup guidance now spells out how to delete tk tickets.

Minor details

  • tlh update now automatically reclaims disk space left behind by retired bundled extensions.

Removed

  • Removed the wait tool (extensions/subagents/src/runs/background/wait.ts, 390 LOC) and all wiring: WaitParamsSchema/WaitParams from schemas.ts, WaitToolConfigObject/WaitToolConfig/waitTool config field from types.ts, and the waitToolConfig const plus pi.registerTool(waitTool) call from index.ts. Removed the wait section from docs/subagents.md. This is a user-visible removal for any non-TLH consumer; TLH could not reach the tool (TLH's primary-agent tool allowlist excludes it, no TLH agent declares it, TLH never sets config.waitTool or PI_SUBAGENT_WAIT_TOOL_ENABLED). Test deletions: wait.test.ts (whole file) and exactly one it() in index-child-registration.test.ts.
  • Removed the mcpDirectTools allowlist resolver (extensions/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts, 365 LOC) and the mcpDirectTools?: string[] frontmatter field threading from all call-site files: no TLH agent declares the field. Kept: env.MCP_DIRECT_TOOLS = "__none__" is still set unconditionally in pi-args.ts; the sentinel tells @diegopetrucci/pi-mcp-adapter (bundled in TLH) not to bootstrap direct MCP tools in child subagents — an unset var means "bootstrap everything configured" and would silently widen every child's tool surface. This sentinel must not be removed by a future cleanup pass.
  • Removed the agent-memory module (extensions/subagents/src/agents/agent-memory.ts) and its test (extensions/subagents/test/unit/agent-memory.test.ts): no TLH agent declares the memory frontmatter field, and TLH is the only consumer. The AgentMemoryScope type, AgentMemoryConfig interface, and memory field are removed from AgentConfig; the buildAgentMemoryInjection call sites are removed from execution.ts and async-execution.ts.
  • Removed the subagent RPC bridge (extensions/subagents/src/extension/rpc.ts, 384 LOC) and its tests (rpc.test.ts, rpc-gate.test.ts). The bridge let a co-installed Pi extension drive subagents over the in-process event bus via ping/status/spawn/interrupt/stop. Its spawn path called executor.execute() directly, bypassing TLH's tool-call allow-list guard — which is exactly why it shipped default-off. Nothing in this monorepo enables or references it. Removing it eliminates the possibility of a stray PI_SUBAGENTS_RPC_ENABLED=1 or config typo silently reopening that bypass. RpcBridgeConfig and the rpc? member of ExtensionConfig are also removed from types.ts.
  • The fff (npm:@ff-labs/pi-fff) extension has been removed.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.33.0/CHANGELOG.md

v0.32.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 15:47
0574328

Added

  • In the footer, TLH now shows how much context MCPs are consuming.

Model defaults

  • The developer subagent now defaults to gpt-5.6-luna max for OpenAI, sonnet-4-6 medium for Anthropic.
  • The Architect, Product, Bug-hunter, code-reviewer, oracle, and contrarian now use opus-5.0 high for Anthropic, gpt-5.6-sol high for OpenAI.
  • All 12 bundled agents now declare thinking levels independently per provider instead of sharing a single level.

Removed

  • Removed RTK from TLH (see this analysis as to why).
  • Removed the pi-intercom dependency. The little we used of it is now folded into pi-subagents. This also reduces how many tokens TLH consumes.

Fixed

  • Installing TLH from main no longer fails npm peer-dependency resolution; repository tooling now consistently uses the TypeScript version supported by typescript-eslint.
  • Subagents now have two timeout caps: a soft one at ~4m30s where the architect checks on them, and a hard one with a bigger timeout that pauses them. They also support steering, and have tighter system prompts. This should make them much more responsive.
  • TLH now works a bit better with Herdr.

Other minor things

  • /tokens now reports median observed wall-clock latency per tool alongside the existing cost and token data. Latency is the interval between the recorded call and result events and includes any queueing or paused-run time.
  • /annotate-last-message now sends submitted feedback directly to the agent as a follow-up message instead of appending it to the TLH editor buffer.
  • /annotate-git-diff now sends review feedback to the agent when you click Submit. Closing the review window with unsent comments still appends a recovery draft to the editor instead of sending, so an accidental close cannot trigger an agent turn.
  • Bumped the bundled Pi to 0.83.0.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.32.0/CHANGELOG.md

v0.31.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 08:50

Changed

  • The currently worked on tk ticket now shows in the footer.
  • Bumped Pi to 0.82.1.

Full changelog: https://github.com/diegopetrucci/the-last-harness/blob/v0.31.0/CHANGELOG.md