# 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.


# 1.0.49 — 2026-10-02

## Bug Fixes

- Hook permission prompts now appear regardless of approval mode.
- **Web searches, fetches, and image generation** now correctly respect the prompt_policy setting and rule decisions before prompting.
- **Allow once** in permission cards now applies only to the next shell command instead of the whole session.
- **pkill -f** and **pgrep -f** commands are now rejected earlier when the pattern would kill their own shell wrapper.


# 1.0.48 — 2026-10-02

## Bug Fixes

- **`/rewind`** now only lists prompts you typed yourself and skips automatic runtime turns.
- Custom model tables in config.toml now preserve the original model's notice banner.
- `read_file`, `search_replace`, and `grep` now handle large files, special files, and binary content more reliably and surface better errors.
- **Ask rules for WebSearch and WebFetch** now correctly show a prompt instead of auto-running.
- **Cancelling one tool call** no longer kills commands started by other parallel calls.
- **Authentication recovery** no longer automatically retries refused prompts after login; the sign-in block now requires manual resend.


# 1.0.47 — 2026-10-01

## Features

- **Model switch responses** from the agent now update the displayed model list and context window.

## Bug Fixes

- Error messages on the home and login screens now wrap properly in narrow terminals.
- **Clicking the Goal chip** now opens the goal panel even when workflow runs are present.

## Performance

- **Sessions** in repositories with an .envrc file now start faster.


