v1.0.51
stablePublished Oct 9, 2026
NEW88BREAKING37FIX27PERF3DOCS1REFACTOR1
Trailer
Changelog
1.0.51 — 2026-10-09
Breaking Changes
- Cancel and edit-resend on long sessions no longer unexpectedly revert workspace files.
- Memory settings simplified: rollout and file_writes_enabled options removed; memory is on or off.
- Removed the /share command and related session sharing features from the CLI and SDK.
Features
- Inline viewports can now be restored at a previously saved screen area without extra cursor queries.
- Headless grok -p now waits for background goals to finish and reports their outcome.
- /imagine and similar commands now run the matching bundled skill when the required tools are unavailable.
- New /density command and Tool call density setting let you choose how much detail tool calls show in the transcript.
- Web fetch approval cards now include "always allow" and "never allow" domain options that persist for the folder.
- Slash command completion now updates live when skills are added or changed during a session.
- Request form now securely collects and fills sensitive details like passwords or card numbers without sending values to the model.
- Chrome profiles can now be persisted across restarts using durable state directories.
- Workspace server sessions now share one Chrome instance for cookies and storage.
- /feedback Drafts tab now supports G / Home and End to jump to the first or last draft.
- Pinned sessions on the dashboard now stay in the order you pinned or reordered them.
- Shift+Enter, Ctrl+., Ctrl+/ and Ctrl+[ / ] now work inside tmux when extended-keys are enabled.
- grok -p --output-format json now reports the exact worktree folder used (useful after -w name collisions).
- Bare hook commands such as my-guard now run from PATH when not found next to the hook file.
- Headless JSON error output now includes the worktree folder when a session was started.
- grok sessions list and /resume now show worktree sessions started from the same subfolder.
- /exit (and aliases) in a dashboard details view now closes only that session instead of quitting Grok.
- Editors offering file access now receive a one-time transcript notice that the agent reads and writes disk files.
- --background-wait-timeout now also stops an active headless goal after the timeout and exits with an error.
- Interactive sessions now include the Grok Build user guide location so the agent can answer usage questions.
- New /workflow commands let you list, stop, and resume background workflow runs without sending them to the model.
- Background workflow runs now appear in the tasks pane with a stop button.
- Hooks that ask about web searches or file deletes now show the hook name on the approval card.
- config.toml now accepts an [update] section without breaking other commands.
- Hook load errors listed in /hooks can now be expanded to see the full message.
- grok worktree commands now work correctly inside Jujutsu repositories.
- Images pasted with skill commands like /pr-workflow are now sent to the model.
- Pressing Ctrl+C on a goal now pauses the goal instead of letting it continue.
- grok -p now runs auth_provider_command when no login is stored.
- Reopening a chat with an active goal now continues the goal automatically.
- Browser tabs can now be restored on demand instead of all at once when a session resumes.
- grok agent stdio now supports listing sessions via ACP and returns consistent reply envelopes.
- Answering an approval with a message now tells the model it is a follow-up.
- --allowed-tools is now accepted as an alias for --allow in headless mode.
Bug Fixes
- Slash command suggestions no longer make the text after the cursor disappear while typing.
- Running workflows in the dock now show the same pulsing indicator as in the main scrollback.
- Mode switch tool calls now appear in the transcript with the target mode name.
- Always-approve mode now automatically approves web requests without extra prompts.
- The follow indicator no longer appears when only blank padding sits below the viewport.
- Search failures now keep the original pattern instead of showing an empty Search "".
- Sessions that open without a model list now use the public Auto id and succeed on every account.
- Background wake turns that request plan changes or mode switches are now handled correctly.
- Model-call retries now show progress status instead of a generic waiting message.
- Foreground subagent activity now appears correctly after resume.
- Very large pasted prompts are now offloaded to a file instead of being sent inline.
- Sign-in failures now show a clear plain-English message with the next step instead of raw errors.
- Logging out now stops any running turns on local sessions instead of leaving them active.
- The send-now shortcut no longer accidentally enables always-approve mode while a permission card is open.
- /find now keeps match counts and navigation accurate while replies or command output stream in.
- Images from tools are now validated so bad files no longer break the current turn or future replays.
- Screenshots and other image artifacts saved by the browser tool are now stored as real image files.
- Rate-limit errors now show the expected message; very small images are rejected early.
- Send-now (Ctrl+Enter) no longer accidentally answers an open question card.
- Opening the queue with Up now scrolls so the selected follow-up is visible.
- Command output that contains clear-screen codes is no longer discarded.
- Dashboard cursor and overlay counter now correctly track the active grouping view.
- Headless JSON output now reports the correct stop reason when the turn limit is reached and removes duplicate error prefixes.
- Session picker footer no longer lists the same shortcut twice.
- Dragging images from a file manager onto terminals like GNOME Terminal or xfce4-terminal now attaches them correctly.
- Plan comments added while a revision runs are now preserved and sent when the plan is approved.
- Permission prompts that fail now show a clearer message without blaming the interface.
- --disallowed-tools now accepts the exact names shown to the model (run_terminal_command, spawn_subagent, etc.).
- Long pastes without bracketed-paste markers are now read completely instead of stalling after ~1 KB.
- A feedback send now shows "Sending feedback…" immediately; failed sends no longer repeat the lead phrase.
- Typing, arrows or Enter while an approval card appears no longer accidentally approve the action or enable always-approve mode.
- Error hints for legacy session import now appear in full instead of being cut off by the pager.
- Skills in the folder where grok started now correctly show as (local).
- Worktree creation no longer hangs when the repo contains named pipes or sockets.
- --no-subagents flag now works correctly in headless / -p sessions.
- Resumed sessions now correctly show aborted subagent tasks as cancelled instead of failed.
- Large parallel shell batches no longer drop calls with "hook state lost" errors.
- Write approval cards now show the existing file contents that will be replaced.
- Slash command completion now shows the correct name for files under commands/ instead of always showing /commands.
- PreToolUse hooks now validate rewrites against the tool schema and deny invalid ones before running the tool.
- Ctrl+C during a turn now cancels the turn even when a modal such as /mcps or the block viewer is open.
- grok -w now opens the session at the worktree root (with a note) when the original launch folder does not exist in the new worktree.
- /cd and the location picker now accept quoted or escaped folder paths.
- Web search hooks now fire under the correct web_search name and carry query.
- Large file writes or many screenshots no longer end the session.
- Glob tool hooks now match under list_dir and carry the correct directory.
- /find now scrolls to the exact wrapped row containing the current match.
- Downloads via FetchMcpResource are now refused in plan mode and resolve paths consistently.
- Pinned dashboard sessions now survive restarts and layout changes instead of disappearing from the saved list.
- Slash commands like /imagine now work regardless of capitalization and correctly substitute skills when tools are missing.
- Turning off bypass mode without naming a session now correctly restores prompts in all open sessions.
- /delete with extra text now shows an error instead of deleting the current session.
- Failed /feedback status messages now wrap inside the dialog instead of clipping at the border.
- Number-key picks in the dashboard peek no longer leak to the wrong agent after Up/Down navigation.
- Worktrees created with -w are now correctly tracked and resumable even when GROK_HOME is reached through a symlink.
- grok worktree rm and gc now clean up names after manually deleting a worktree folder so -w NAME works again.
- Hook scripts that read stdin with read now receive a complete line.
- A policy that disables non-managed hooks now applies to the next session instead of only after restart.
- /resume and grok sessions list no longer show worktree sessions from a sibling submodule or separate-git-dir repo.
- A hook listed under two different matchers now runs only once per tool call.
- Typing a hidden command such as /cd in a session and pressing Enter now runs it instead of accepting a near-match skill.
- @-file completion no longer accepts a match from an earlier query when you type quickly.
- Tool hooks now run one at a time per session and stop promptly on cancel or exit.
- PostToolUse hooks now receive a correct whole-millisecond duration.
- PreToolUse hooks for shell commands now see the model's block_until_ms value.
- MCP tool calls now show hook permission prompts and cards name the hook that asked.
- Typing while a permission or ask card is visible no longer selects or answers the card.
- grok worktree list now shows unfinished copies left by an interrupted create.
- Auto mode now asks before deleting files that the classifier has not already allowed.
- Fixed intermittent List/Read/Open failures during concurrent v2 hardening migrations.
- grok -p -s with a reused session id now shows the plain refusal message instead of JSON-RPC noise.
- Settings saves no longer re-insert the built-in default fork model into config.toml.
- Fixed several pager rows that showed wrong paths, truncated names, or hid failure/cancel states.
- --system-prompt now correctly appends rules from --append-system-prompt instead of dropping them.
- /new now inherits always-approve mode from the tab it was run from instead of another tab.
- Multi-select questions now let you toggle several answers with number keys before submitting.
- Slash-command notices typed while a reply streams no longer hide the streaming reply.
- @ file search no longer accepts keys or moves the highlight while results are still updating.
- Worktree db rebuild now restores names so rm and show by name work again.
- A prompt blocked by a hook no longer titles the session.
- Background subagents now respect saved approvals and --always-approve after the parent turn finishes.
- Per-session system prompt overrides now correctly use only the session's own rules.
- Connection stalled errors now show a clearer message with network advice.
- Invalid model provider tables now produce a clear startup error instead of silent fallback.
- Narrow feedback dialog now shows full draft titles and readable confirm prompts.
- /workflow stop|resume <name> now correctly targets the live run instead of an ended first run.
- Dialogs like /feedback no longer disappear on very short terminal windows.
- Delete operations now respect the same permission rules as shell rm commands.
- Hooks can no longer rewrite a web-search call to restrict domains.
- Workspace server now starts with per-session private Chrome by default.
- Notification hooks for permission prompts and task completion now run reliably before a headless session exits.
- Headless goal runs no longer print a spurious "Goal paused" message after completion.
- Legacy UI density settings now combine correctly across config tiers and produce expected folding.
- Approval answers sent after a turn ends no longer affect the turn.
- Background shell commands now fail immediately when the working directory does not exist.
- grok worktree rm without -f now safely keeps worktrees when the unsaved-work check fails or times out.
- The dashboard slash menu now shows skills from the home session even when opened early.
- grok worktree rm and gc now correctly remove worktrees whose only untracked content is empty folders.
- Editing a queued prompt now prevents accidental removal with a stale client view.
- The model is now told when memory is turned off or on for the session.
- Hook results in the UI now correctly distinguish between notes and tool outcomes.
- Permission cards for MCP tools can no longer be tricked into showing fake option rows.
- The agent stdio mode now returns clearer errors for malformed client requests and consistent recap replies.
- Scroll logging and acceleration calculations no longer produce backwards timestamps under load.
- Hooks and tool commands started from the TUI can no longer read or write the interactive terminal.
- Delete operations now correctly match Bash(rm …) ask/deny rules even when the path contains .. or the cwd is a symlink.
- Web search and image approval cards now only offer always-approve mode to clients that support it.
- Closing a session in the dashboard no longer leaves it listed under Inactive.
- Running /compact on an empty session no longer resets the reported context window.
- With goals disabled, a headless /goal line is now treated as a normal prompt instead of failing.
- Background shell commands no longer flip back to running when late output arrives.
- Only slash commands at the start of a message trigger skills.
- Browser tabs restore and close more reliably with fewer races.
- Fast model names in the footer no longer show double parentheses.
- SubagentStart and Notification hook activity is no longer reported to the UI.
- Voice error messages now display with correct punctuation.
- disable_zdr_incompatible_tools changes now apply to new turns without restarting the worker.
- Project skills are now labeled correctly for nested projects.
Performance
- Opening the resume picker is now much faster on machines with many worktrees.
- grok worktree commands start faster by skipping unnecessary model catalog work at boot.