Skip to content

Releases: sausheong/hand

v0.3.4

Choose a tag to compare

@github-actions github-actions released this 11 Sep 16:16

Hand v0.3.4 fixes silent empty answers and improves the interactive terminal. It pins Harness v0.4.2.

  • Empty and output-truncated answers no longer report successful completion. Generic empty responses get one bounded retry; explicit output-limit failures explain what happened.
  • Set the output allowance with --max-output or max_output in configuration. /timing records the allowance and provider stop reason.
  • Bash calls show the first five command lines when the arguments arrive, including in saved-session replay.
  • Raw interactive diagnostic logs go to private ~/.hand/logs/interactive-*.log files. Results, status and input have clearer separation.
  • Press Esc to cancel the current turn, including while an approval or output viewer is open.
  • Use /permissions skip and /permissions ask to control approvals for the current session, or launch with --dangerously-skip-permissions. No grants are saved by this setting; execution isolation remains active.
  • Routine skipped context-cleanup notices stay quiet. Truncated summaries retain the original conversation history.

In iTerm2, keep mouse scrolling on and hold Option while dragging to select text. For ordinary dragging, disable “Report mouse clicks & drags” while leaving wheel reporting enabled.

Archives include matching Linux tool workers for execution isolation. Download the archive for your operating system and architecture; verify it against SHA256SUMS.

Hand v0.3.3

Choose a tag to compare

@github-actions github-actions released this 11 Sep 04:49

Changes

  • Restore mouse wheel and trackpad scrolling, including the full tool-output viewer. Use /mouse off for native text selection and /mouse on to restore scrolling.
  • Make /skills easier to scan with bold blue names, separate descriptions and muted source paths. Long lists open at the heading.
  • Load skill instructions on demand, supporting files up to 1 MiB while reading only the discovery frontmatter at startup.
  • Add /timing with per-request connection, first response, first text, stream duration, usage and turn phase measurements. Reports are saved in session annotations.
  • Simplify completion, error, summarisation and execution-mode messages.
  • Show the configured context capacity before token usage is available.

Compatibility

Uses Harness v0.4.1. Existing structured outcomes and configuration formats remain compatible. Mouse capture is enabled by default; keyboard scrolling remains available in either mouse mode.

Timing reports measure Hand's client-side observations. They cannot split the provider's internal queue and model processing, and they exclude application startup.

Release archives include the matching Linux tool worker and SHA256 checksums.

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 10 Sep 09:44

Persistent Bash approval

Run this while Hand is idle to allow all Bash commands in the current project:

/permissions allow bash --project

The permission persists across restarts for the current configuration. No settings file or legacy migration is needed. Repeating the command does not create duplicate grants.

Inspect with /permissions, or revoke with:

/permissions revoke project-bash

Revocation affects future approval checks and leaves separately granted permissions intact. Execution limits still come from the configured backend.

Clearer approval prompts

Bash approval now says always this command, distinguishing exact-command approval from the project permission. Long tool names are shortened to preserve decision controls.

Validation

Permission, TUI, and approval-hook race-enabled tests passed against the published Harness v0.4.1 dependency. Full Linux validation passed: 1,923 tests, zero failures or skips, and 82.0% statement coverage. Release archive smoke tests passed.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 10 Sep 08:49

Fixes

  • Discover OpenRouter model context and output limits from its public catalogue instead of always using the conservative fallback. Explicit configuration still takes precedence.
  • Avoid announcing or attempting preventive compaction when the conversation is too short to compact.
  • Handle repeated terminal stream frames without emitting duplicate tool calls.
  • Preserve the underlying cancellation cause so malformed provider tool calls produce a useful error instead of a generic context canceled message.

Uses Harness v0.4.1.

Validation

  • Linux validation: 1,918 tests passed, zero failures or skips; 81.9% statement coverage.
  • Local simulated-provider regressions cover normal tool execution, repeated finish frames, and malformed tool-call IDs. No paid provider calls were used.

The exact triggering frame in the original OpenRouter session could not be confirmed without its stream capture.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 07:23
995117e

What's Changed

New Contributors

Full Changelog: v0.2.1...v0.3.0

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 15:08

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 06:08

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 01:38