Repository navigation
v0.1.11 — Recovery scopes, drag-drop, ANSI strip
Highlights
Missing-executable recovery, expanded
When a tool's executable can't be found, the recovery dialog now offers six scopes (was: just "replace path"):
- Replace path stored in this tool's .scriptree (v1 behavior)
- Add folder to ScripTree session PATH (transient, lost on exit)
- Add folder to this tool's .scriptree path_prepend (per-tool, persistent)
- Add folder to this tree's .scriptreetree path_prepend (per-tree, persistent — new tree-level field)
- Add folder to user PATH (HKCU registry; default-denied, admin opt-in)
- Add folder to system PATH (HKLM registry; default-denied, admin opt-in)
Per-file scopes get an "apply to all in sidebar" checkbox so a single dialog interaction can fix every loaded tool/tree at once. Five new permission capabilities gate the scopes individually — system/user PATH ship default-denied for safety; an admin enables them by creating the matching empty file under permissions/.
The recovery dialog's path field is now editable + drag-drop — type a path, paste a path, drop a file from Explorer, or click Browse. Press Enter to apply.
For non-REPLACE scopes the .scriptree's tool.executable is rewritten to the basename so OS path lookup actually engages, and argv[0] for the immediate run is pinned to the absolute path so the in-progress run succeeds without waiting for search-path propagation.
Drag-and-drop file paths
Every text and path widget in the runner and editor accepts file/folder drops from Explorer:
- Single-line text / file / folder fields — drop a file to fill the field
- Multi-line textarea fields — drop one or more files to insert one path per line at the cursor (composes naturally with auto-split repeatable-flag patterns)
ANSI color noise, gone
ScripTree now publishes NO_COLOR=1, TERM=dumb, CLICOLOR=0, FORCE_COLOR=0 to every child process so well-behaved CLIs emit plain text. Any escape sequences that slip through (some tools force colors regardless) are stripped from the output pane before display, so you'll never see literal @[31m...@[0m glyphs again.
Tree-level path_prepend
.scriptreetree files now carry an optional path_prepend list applied to every tool launched via the tree. Useful when several tools all need the same vendored binary directory on PATH — set it once on the tree instead of copying into every leaf.
Tests
655 tests passing. New coverage for path-env helpers, drop-aware widgets, recovery routing per-scope, and dialog UX (editable field, scope-picker reveal, drop integration).
Permissions
Three new default-allowed permission files ship in this release. Two new capabilities (add_to_user_path, add_to_system_path) ship default-denied — file the matching capability under permissions/editing/ to enable. See help/security.md.
Help docs
Updated: environment.md, tool_runner.md, tool_editor.md, quickstart.md, features.md, LLM/param_types_widgets.md, LLM/scriptreetree_format.md. See README.md.
Demo apps: see https://github.com/KenM76/scriptree-demos — the parfit/agg/bat/dog/dust/fd/hyperfine READMEs are updated in the same release window to reflect that the v0.1.3 auto-split actually makes the repeatable-flag pattern work.