Patch release: unified keyboard handling for blocking cards, clearer remote session restore with worktrees, Base44 and Wix marketplace plugins, and better light/dark theme detection over SSH and tmux.
Changelog
[changed] Blocking cards (question card, permission prompt, and cancel-turn panel) share one keyboard contract: Tab / Shift+Tab walk rows without leaving the card; Esc clears pending state then parks focus in scrollback so you can read context (Tab / Space return); the shortcuts bar names the parked card. Permission prompts and the cancel-turn panel have full key tables; priority when several are open is permission → cancel-turn → question.
[changed] Resuming with --restore-code restores the session’s repository snapshot, not only a commit checkout. Remote sessions require --worktree for code restore and never check out into the current directory; without --restore-code, resume restores conversation only. Headless (-p) does not create a worktree from -w / --worktree. Shell completions match the new help text.
[new] Marketplace plugin base44 with skills for CLI, remote dev, sandbox, SDK, and troubleshooting.
[new] Marketplace plugin wix with skills for apps, auth, design system, docs, headless, manage, and vibe-headless, plus the wix-mcp MCP server.
[new] Appearance and theme overrides via GROK_APPEARANCE / LC_GROK_APPEARANCE (dark/light) and GROK_THEME / LC_GROK_THEME (theme name or auto). grok wrap ssh … stamps LC_GROK_APPEARANCE from the local OS theme; SSH/tmux/headless fall back through env, COLORFGBG, then OSC 11 (with tmux passthrough notes in the theming guide).
[changed] Workflow runs admit at most 16 live child agents at a time; larger parallel() panels queue and still act as a barrier (separate from the existing agent_budget cap).
[changed]/feedback with no message opens a report pane (Enter sends, Esc discards); a message still sends immediately.
[changed]/delete returns to the Agent Dashboard when the session was opened from the dashboard; otherwise it still returns to the welcome screen.
[changed] Plan approval keeps Ctrl+P (model picker) available before you approve.
[changed]create-workflow guidance for await_user: prefer fewer, meaningful gates and only interrupt when ambiguity would change the run.
[changed] Sandbox deny-glob rules are stricter and better documented: no empty path segments or . / ..; relative globs match only inside the workspace; Linux masks matched symlinks with their targets and reports which glob/directory blew the launch scan; prefer anchored globs on large trees.
[changed] Office and game asset skills (docx, pdf, pptx, and the game-* asset skills) are marked non-user-invocable so they stay description-triggered rather than slash-picked.
[removed] The project_picker_disabled hints key and the non-project directory picker it controlled.
Under the hood
External auth provider contract is spelled out: GROK_AUTH_EXPIRED=1 is a short headless refresh (about 7s); unset is interactive sign-in (up to 300s). Providers should exit non-zero on failed silent refresh instead of blocking so the sign-in screen can take over quickly. Leader-mode edge cases and log lines are documented in the auth README.
Session restore/publish, worktree restore fetch, MCP re-enable helpers, display-refresh resolution, image compression, and permission auto-mode layout received internal work to support the restore and UI changes above.
Bundled content manifest bumped to public-2026-08-04-r1.
Shell completions (zsh, fish, elvish, PowerShell) refreshed for worktree/restore-code help text.
Upgrade notes
Custom auth binaries: on GROK_AUTH_EXPIRED=1, mint silently or exit non-zero; do not prompt. Blocking through the headless timeout delays recovery on every expired-token start.
Remote session code restore: pair --restore-code with --worktree; omit --restore-code when you only want conversation history.
Drop any project_picker_disabled entries from config; the key is no longer read.
Optional: set GROK_THEME / GROK_APPEARANCE (or the LC_* forms) when desktop theme detection is unavailable.