Patch release 1.0.7: clearer workflow browse vs run surfaces, safer Bash allow rules, status-line polling, and per-command “Always allow” on by default.
Changelog
[changed]Workflows UI split./workflows now opens the extensions modal on a browse-only Workflows tab (built-ins, project .grok/workflows/, and user ~/.grok/workflows/). Live runs move to /workflow runs (fullscreen run dashboard; text overview in minimal / non-TUI). Bare /workflow prints a text overview of this session’s runs.
[changed] The extensions modal has a sixth tab, Workflows, reachable via /workflows or Tab alongside Hooks, Plugins, Marketplace, Skills, and MCP Servers. The command palette lists those tabs among common actions.
[changed]/workflow runs is mode-friendly. In fullscreen it opens the run pane; in minimal it degrades to the text overview instead of refusing (unlike other fullscreen-only commands).
[new]Status-line polling. Custom command status-line rows can set refresh_interval (seconds, 1–86400) so a script re-runs on a timer while the session is idle—useful for CI or incident status. Runs report "trigger": "poll" or "state" on stdin; poll failures keep the last good output instead of painting an error.
[changed] Status-line config key refresh_interval_ms is replaced by refresh_interval (seconds). Event-driven refresh stays the default when unset; state updates are debounced at a fixed 300 ms.
[changed]Bash allow rules are conjunctive on chains. A command auto-approves by rule only when every segment (split on &&, ||, ;, |, newlines) matches an allow rule—so Bash(git *) no longer auto-approves git status && rm -rf /. Unmatched commands still fall through to the permission mode (not an implicit deny).
[changed] Segment normalization (strip leading env assignments, peel timeout / nice / ionice / chrt / stdbuf / env) now applies to allow rules as well as deny/ask, remembered grants, and the read-only list—e.g. Bash(npm test *) matches RUST_LOG=debug timeout 30 npm test --workers=4.
[changed][ui] remember_tool_approvals defaults to true. Permission prompts show per-command “Always allow” / “never allow” (and the same for MCP tools and web-fetch domains) unless you set it to false. Remembered domain denies also cover subdomains; a remembered deny wins over any grant. Orgs can still force it off via managed config / requirements.toml.
Under the hood
Fast worktree support gains NFS client paths (confined ops, liveness, remove) plus worktree metrics, and a new grove mountinfo helper for workspace mounting.
New optional env knobs: GROK_CONNECT_UI_TIMEOUT_SECS and GROK_WORKSPACE_DASHBOARD.
User guide for the status line is included in the shipped docs set; workflow progress copy in agent tooling points at /workflow runs.
Upgrade notes
If you depended on remember_tool_approvals being off, set remember_tool_approvals = false under [ui] (or via managed config).
Rename any refresh_interval_ms status-line setting to refresh_interval and express the value in seconds (not milliseconds).
Muscle memory: use /workflow runs for the live run dashboard; /workflows is now the saved-workflow catalog.
Review project Bash allow rules if you relied on whole-string prefix matching for chained commands—each segment must match an allow rule for rule-based auto-approval.