[ { "category": "features", "description": "**`/context`** now shows token costs for skills and MCP servers.", "breaking_change": false }, { "category": "fixes", "description": "A `pre_tool_use` deny now feeds the reason back so the model can retry instead of cancelling the turn.", "breaking_change": false }, { "category": "features", "description": "**`env_key`** in config now accepts an array of environment variable names.", "breaking_change": false }, { "category": "fixes", "description": "Plan mode now strictly rejects edits outside the plan file, even under always-approve.", "breaking_change": false }, { "category": "fixes", "description": "**Web search** and X search no longer fail when both a local function tool and the backend hosted tool are active.", "breaking_change": false }, { "category": "fixes", "description": "**Content-filter refusals** from providers now show an explanation instead of ending silently with no output.", "breaking_change": false }, { "category": "features", "description": "Linux middle-click paste from the primary selection now works; clipboard errors are handled more reliably.", "breaking_change": false }, { "category": "features", "description": "**/terminal-setup** now shows your terminal's color support level and which themes are available.", "breaking_change": false }, { "category": "features", "description": "**grok setup --json** prints your team's managed configuration without installing it.", "breaking_change": false }, { "category": "fixes", "description": "**SQLite databases** no longer cause bus errors on network filesystems such as NFS.", "breaking_change": false }, { "category": "features", "description": "Messages you type while the model waits on tasks now stay queued; pressing Enter twice sends them immediately by cancelling the current turn.", "breaking_change": false }, { "category": "breaking", "description": "You can now pin authentication to API key or OIDC in config.toml; the unpinned method is no longer tried automatically.", "breaking_change": true }, { "category": "features", "description": "**How-to Guides** modal now shows a tip linking to Ask Grok above the footer shortcuts.", "breaking_change": false }, { "category": "fixes", "description": "**Resuming** a session that is already open now focuses the existing view instead of creating duplicates.", "breaking_change": false }, { "category": "features", "description": "**Subagent** `task` and `spawn_subagent` tools now accept an optional `model` parameter in the CLI.", "breaking_change": false }, { "category": "fixes", "description": "**Turn completion** markers in scrollback now read \"Worked for …\" instead of \"Turn completed in …\".", "breaking_change": false }, { "category": "fixes", "description": "**/btw** loading spinner now animates correctly when the main session is idle.", "breaking_change": false }, { "category": "fixes", "description": "**Mid-turn** wait spinners now correctly show \"Waiting on task output…\" instead of Thinking.", "breaking_change": false }, { "category": "features", "description": "**Keyboard Shortcuts** modal now lists the paste key binding for images under the Input section.", "breaking_change": false }, { "category": "fixes", "description": "**Scrollbar thumb** is now visible in the oscura-midnight theme.", "breaking_change": false }, { "category": "fixes", "description": "Status messages for background work now end with a period.", "breaking_change": false }, { "category": "fixes", "description": "**Editing queued prompts** no longer freezes the terminal or duplicates text into the composer.", "breaking_change": false } ]