Open-source sync to 0.2.109: workflows, /doctor, session resume across hosts/paths, usage/cost in-session, and background-task polish.
Changelog
[new] Workflows — new workflow tool, /workflows slash command, and xai-workflow engine for defining and running multi-step agent workflows.
[new] /doctor is the main slash command for terminal, tmux, clipboard, keyboard, and (when voice is on) mic diagnostics; aliases /terminal-setup, /terminal-check, and /terminal-info still work.
[new] grok doctor runs the same diagnostics from the shell without starting the TUI (--json for machine-readable output); grok doctor fix terminal.ssh-wrap (and ssh-wrap) can install the recommended SSH wrapper alias on your local machine.
[new] Sessions can resume after moving the working directory or switching machines, and can mirror/import transcripts via external storage (e.g. S3) for cross-host resume.
[new] /usage shows token counts and cost for the current session (alias /cost).
[new] [model_providers.<id>] shares gateway settings across custom models; custom models can authenticate with rotating tokens fetched from a command (credential-helper style).
[new] Reasoning effort accepts max as its own tier above xhigh when the model advertises it.
[new] Queued follow-ups can batch into a single model turn via combine_queued_prompts.
[new] Stop hooks can keep the agent running by feeding feedback back to the model instead of ending the turn.
[new] Auto mode continues after classifier blocks by telling the agent the reason, escalating only after repeated denials.
[new] Session storage can flush after every frame (eager mode) instead of only at turn end.
[new] Ctrl+G in minimal mode opens the current prompt draft in an external editor without sending it (/edit_prompt / command palette); fullscreen keeps the tasks pane on Ctrl+G.
[changed] Ctrl+B backgrounds the running foreground command; Ctrl+G toggles the tasks pane in the full TUI.
[changed] read_file returns full Markdown files inside skills/directories without truncation.
[changed] Goal harness evaluates completion automatically after each model round instead of waiting for an explicit completed: true call.
[changed] Idle/background status line says e.g. 1 subagent still running instead of watching · 1 subagent.
[changed] Feedback submissions can include author details when provided.
[fix] Voice dictation distinguishes microphone-delivered silence (often macOS permission) from audio with no speech detected.
[fix] Duplicate “Worked for” markers no longer stack when background tasks defer during a parked turn.
[fix] Background /loop iterations no longer overlap while descendant subagents are still running.
[fix] Image paste over grok wrap works on headless remotes.
[fix] OAuth popups in live preview redirect correctly after login.
[fix] Git status shown at startup includes unstaged and untracked files.
[fix] Tool descriptions stay correct when parameter names are randomized.
[fix] Minimal mode shows full reasoning in scrollback and collapses successful lookup results to one-line headers.
[fix] Empty commands like true or bare echo remind the model to wait for background work instead of spinning.
[removed] /terminal_setup as a separate command name — diagnostics live under /doctor (old names remain aliases).
Agent & tools
New workflow tool implementation and /workflows command for workflow run management.
New /doctor and /edit_prompt slash commands; terminal_setup removed as a distinct command.
Prompt templates for goals updated so the harness auto-checks verification and applies repeated-blocker policy; legacy goal templates retained for compatibility.
Safe-bash / permissions docs: cargo check is no longer treated as read-only (it can run build scripts); tighter notes on sort --compress-program, git config/hooks, and deny rules on shell -c scripts.
Docs
User guide updated for /doctor, keyboard chords (Ctrl+B / Ctrl+G), external editor in minimal mode, still-running status line, SSH wrap fix, voice silence vs no-speech, reasoning max tier, workflows in the slash-command index, and bundled skills path (~/.grok/bundled/skills/).
Configuration and headless docs cover model providers, effort levels, and related flags.
Pager README keyboard table matches the new Ctrl+B / Ctrl+G behavior.
Under the hood
New workspace crate xai-workflow (Rhai-backed workflow engine) and supporting shell/pager workflow host, registry, and overlay UI.
Session relocation/journal support for path and host moves; prompt-queue combine path; doctor/diagnostics split into standalone CLI and in-TUI probes.
Worktree auto-GC helpers and related GROK_WORKTREE_AUTO_GC* settings; session registry and workflow env hooks.
Recap summaries after idle reuse the previous turn’s cached context for faster load.
Dependency bump includes rhai, workflow packaging, and pager/shell crates at 0.2.109; async-openai pinned via workspace patch.
Upgrade notes
Rebuild from this tree for 0.2.109 (product_version / changelog tip).
If you still call /terminal-setup, switch docs and habits to /doctor or grok doctor; SSH wrap install is grok doctor fix terminal.ssh-wrap on the local machine.
Rebind muscle memory: Ctrl+B backgrounds a running command; Ctrl+G toggles tasks (or external-edits the draft in minimal mode).
Operators sharing gateways across custom models should prefer [model_providers.<id>]; optional combine_queued_prompts if you want queued follow-ups merged into one turn.
Goal-mode agents no longer need to call completed: true to finish — completion is evaluated automatically after each round.