v1.0.50
stablePublished Oct 6, 2026
NEW48BREAKING20FIX9
Trailer
Changelog
1.0.50 — 2026-10-06
Breaking Changes
- grok worktree rm without -f now refuses to delete worktrees that are in use or contain unsaved changes and exits with an error.
Features
- Compact mode now collapses recaps and keeps inner spacing on tall terminals.
- Clicking the git branch in the header now copies the full branch name.
- Long branch names now abbreviate on narrow terminals while remaining copyable.
- Targeted cancels now stop only the specific response when requested by clients.
- Compact mode now hides the dock (or tasks pane) the same way Ctrl+G does.
- New timestamps setting offers off, minimal, and on modes in Settings and /timestamps.
- Shell command output now shows "Running …" while executing and "Ran …" when finished.
- Live preview pins now include whether an app was observed behind the URL.
- Command palette (Ctrl+P) and model picker now open at the same width as the settings modal.
- Tables rendered by grok now show copy buttons underneath that export clean TSV, CSV or Markdown suitable for spreadsheets.
- Dashboard now shows which worktree each session belongs to, displays the -m model in the new-agent box, and lets you toggle worktree mode in the folder picker.
Bug Fixes
- Shell permission decisions now correctly prompt or approve commands matching the permission manager.
- Cancelled turns now correctly mark unanswered tool calls as cancelled instead of succeeded.
- Long error messages in the /usage and /session-info modals now wrap instead of being truncated.
- Em-dashes no longer appear in status messages and subagent rows.
- Stalled model calls during turns now retry before failing the turn.
- Queue pane and Ctrl+; now appear and work when the dock is hidden with Ctrl+G.
- Long sessions no longer disconnect when the conversation exceeds 4 MiB.
- Permission rules now accept native tool names such as run_terminal_command and Shell.
- /rewind now places the cursor at the end of the restored prompt.
- Failed file writes now leave the previous contents instead of an empty file.
- Fixed /loop and scheduler_create so non-ASCII intervals like 5分 no longer crash the session.
- Fixed --disallowed-tools when only one scheduler tool is named; the other two no longer cause startup failure.
- Fixed closing a busy tab so queued prompts are no longer sent to the model.
- Fixed relative --cwd so grok --cwd a no longer ends up running inside a/a.
- The terminal title now shows "Action Required" for any background session waiting on approval.
- grok now accepts a prompt via piped stdin in headless mode instead of trying to open the UI.
- An admin-set [features] title_refresh = false in requirements.toml now correctly disables title refresh even when GROK_TITLE_REFRESH is set.
- Custom notification commands defined under [[ui.notifications.hooks]] now execute on matching events.
- An admin pin of [cli] use_leader = false now correctly prevents --leader from starting a leader process.
- When multiple MCP servers expose a tool with the same name, search_tool now returns all of them.
- Concurrent Grok windows editing settings no longer lose or corrupt config.toml entries such as MCP servers or permission rules.
- web_fetch no longer downloads huge files into memory before rejecting them.
- memory_get no longer returns huge files that exceed the read limit.
- Continue to run no longer kills commands running inside background subagents.
- memory_search now finds Japanese, Chinese, and Korean words inside longer notes.
- Drafts saved by the model now appear under their actual titles in /feedback.
- Imagine replies that are not valid images are now rejected instead of being saved as .jpg files.
- A workflow file that fails to parse now reports the exact file and parse error instead of 'unknown workflow'.
- Re-encoded images are now oriented correctly using their EXIF tags instead of appearing sideways.
- Image and log paths reported after /fork --worktree now point to real files instead of missing locations.
- Tab characters in terminal command output are now preserved when shown to the model.
- Transparent images are now kept as PNG when re-encoded instead of turning black.
- The bundled ripgrep is now available to terminal commands even on images that do not install it.
- Request bodies now stay under a small configured max_request_bytes limit instead of growing past it.
- Effort level now stays the same after a bare /model switch instead of jumping to the new model's default.
- Ctrl+\ and other modified digits no longer accidentally select options on permission or cancel cards.
- Feedback submissions now show accurate success or failure messages without premature thanks or duplicated prefixes.
- grok doctor now reports the exact config file or setting that prevents Grok from starting instead of saying zero issues.
- Recap summaries now appear on screen automatically instead of requiring manual scrolling.
- grok doctor fix now opens its confirmation card on Cancel to prevent accidental edits to shell or tmux config.
- Slash commands now run regardless of case (e.g. /COMPACT or /Compact).
- /context no longer shows an invented auto-compact threshold when the agent does not report one.
- Agent text no longer keeps the pager redrawing when a tool call interrupts the sentence.
- CLI tool calls no longer fail or overflow when the workspace directory is deleted or output is huge.
- Logs written to files or when NO_COLOR is set are now plain text instead of containing color codes.
- Prompts now fail immediately with a clear message if the session's working directory no longer exists instead of failing later or recreating it.
- grok -w now works correctly with separate-git-dir repositories and shows clear errors when run outside a git repo or on an empty repo.
- Shell tool descriptions now correctly state the actual output truncation limit, and grep respects globs relative to the current session directory.
- Compaction messages now scroll into view instead of appearing below the bottom of the screen after a turn finishes.
- Git-mode worktrees created with -w now preserve uncommitted changes instead of dropping them.
- Worktrees created with --worktree-ref no longer contain wrong submodule contents or LFS pointer text.
- Worktree creation now shows the same clear error messages on every code path.
- Failed worktree creates now show a clear error on the home screen instead of being hidden.
- Merge and rebase conflicts now appear in the changes list instead of being hidden.
- Fixed a crash when starting a new session with durable rewind checkpoints enabled.
- Managed permission files with one bad key no longer lose all their valid rules.
- Simultaneous worktree creates with the same label now succeed instead of one failing with "already exists".
- grok worktree rm without -f no longer deletes arbitrary folders that happen to share a name with a removed worktree.
- Discard now affects only the exact files you select instead of also deleting or reverting similarly-named files.
- Permission rules with one bad entry no longer lose the other rules in the same section.
- Chat Completions streams that end without a finish reason are now retried instead of returning partial output.
- grok worktree rm by label now refuses when the label exists in multiple repos.
- Grep now respects Read deny rules that use a leading ./.
Performance
- Command hooks no longer cause large memory spikes when they print a lot of output.
- Retry waits now vary between processes instead of being identical.