Minor release: Grove worktrees can redirect artifact directories out of the projected tree, optional subagent model inheritance is available, and agent communication/scratch-file guidance is tightened.
Changelog
[new]Grove artifact-directory redirections. Grove worktrees can redirect ignored artifact dirs (for example target, node_modules) to storage outside the projected tree. Manage them with grok worktree redirect:
add — declare a user redirect (bind or symlink) and apply it (--force, --strict)
del — remove a user redirect or exclude an automatic one
fixup — apply redirect policy and reopen a closed gate (--force, --strict, --only-repo-source)
unmount — take down one redirect, or every redirect on the mount when no path is given
[new]Clone-time redirect controls.grok clone accepts --redirect-ignored (enable the safe allowlist), repeatable --redirect-dir (allowlist entries; inert until redirects are enabled), and --no-redirects. GROVE_REDIRECTS=0 remains a runtime kill switch and is not saved as the clone’s redirect choice.
[new]Redirect cleanup via disk usage.grok du / grok disk-usage gain --clean (purge live redirect contents and ownership-proven orphan jails), --clean-orphaned, and --yes for irreversible cleanup confirmation.
[new]Optional subagent model inheritance. With features.subagent_model_inheritance = true or GROK_SUBAGENT_MODEL_INHERITANCE=1, when every model in the picker is an xAI model the spawn_subagentmodel argument is hidden and subagents always inherit the parent’s model; a spawn that still names a model fails and asks the agent to retry without it. Third-party models, undeclared families, or a still-loading catalog keep the argument. [subagents.models] pins, roles, and personas are unchanged. Read at session start (restart required after change).
[changed]Subagent message row labels. Transcript Message rows for steer/queue/interject now label the target from persona, role, tag, or a Subagent fallback (instead of preferring type).
[changed]Reasoning-effort menus from the endpoint. If model.<id>.reasoning_efforts is omitted, the menu is taken from the endpoint /v1/models row (reasoning_efforts, or capabilities.reasoning_effort). An explicit supports_reasoning_effort = false keeps the model out of menus it would otherwise inherit.
[changed]Agent scratch files and communication. Scratch helpers (drafts, logs, multi-line PR/commit bodies) belong under /tmp/ (or a user/project-specified place), passed by path and deleted when done. User-facing replies lean harder on standalone, affirmative wording; read_file always returns SKILL.md and AGENTS.md/CLAUDE.md in full (offset/limit ignored).
[changed] Shell completions (bash, zsh, fish, elvish, PowerShell) cover the new worktree redirect tree and related clone/du flags.
[changed] User guide updates for sessions (Grove redirections), subagents (model inheritance and labels), and the config reference (features.subagent_model_inheritance, reasoning-effort inheritance notes).
Under the hood
New Grove redirect ownership, CLI, and clone-progress paths, plus fast-worktree data-dir/artifact handling and pager disk-usage/redirect event support.
Subagent/task model-policy wiring for the inheritance feature, and session tool-call telemetry groundwork.
Turning features.subagent_model_inheritance (or GROK_SUBAGENT_MODEL_INHERITANCE) on or off requires starting a new session.
Existing Grove clones keep prior redirect behavior unless you enable redirects at clone time or run worktree redirect / fixup; use GROVE_REDIRECTS=0 only as a temporary runtime kill switch.