Patch release focused on multi-session control: a full Agent Dashboard, CLI enable/disable for MCP servers, a bundled PDF skill (including form/tax filling), and first-class external OpenTelemetry usage export.
Changelog
[new]Agent Dashboard — live roster of top-level sessions in the pager (peek, reply, dispatch, pin, rename, stop, attach). Open with Ctrl+\, /dashboard (aliases /agents-dashboard, /sessions), or grok dashboard. Distinct from /config-agents / /agents (definitions/personas) and the session picker. Disable with GROK_AGENT_DASHBOARD=0 or [dashboard].enabled = false. Full keybindings and behavior are in the new user guide.
[new]Bundled pdf skill — read, create, merge/split, OCR, watermark, encrypt, and otherwise transform PDFs; fill fillable and flat forms (with helper scripts); prepare official IRS tax forms from bundled 2025 blanks. Triggers whenever a task involves a .pdf as input or deliverable.
[new]grok mcp enable / grok mcp disable — turn local/TOML, compat-sourced, plugin, and legacy managed MCP servers on or off without removing them. State persists under user config (disabled_mcp_servers / [mcp_servers.<name>].enabled). grok mcp list marks disabled servers; shell completions updated for bash, zsh, fish, elvish, and PowerShell.
[new]External OpenTelemetry usage export — optional metrics and events to your own collector (GROK_EXTERNAL_OTEL + standard OTEL_* exporters), independent of product telemetry and ZDR. Content-free by default with optional prompt/tool-detail gates. Documented under Monitoring Usage.
[new]Hooks in config files — define [[hooks.<Event>]] blocks in config.toml, managed_config.toml, or requirements.toml (same schema as JSON hook files). Layers combine additively; /hooks-list names are prefixed by source layer.
[new]Resume by title — grok -r / --resume accepts a session ID or a case-insensitive title for the current directory (sole explicitly renamed title wins among duplicates; UUID-shaped values are always IDs).
[new]Marketplace plugin: tavily — web research plugin with skills for general web search, academic/scientific research, investment briefs, competitor intelligence, sales account intel, threat enrichment, vendor/KYC screening, and Tavily best practices, plus a Tavily MCP server.
[new]Plan review: copy to clipboard — press y in plan mode to copy the full plan.
[changed]/privacy — opens Settings on Coding data, retention, and training (opt in / opt out); no longer takes opt-in / opt-out arguments. Team/ZDR rows show ZDR or admin-managed instead of a chooser when the choice is not yours.
[changed]Sandbox + leader — requesting a non-off sandbox profile runs the agent in-process and refuses shared leader mode so tools stay under the profile; workspace start / restart / resume are unavailable while that profile is selected (pause/stop/status still work).
[changed]Default model examples — docs/config samples now use grok-4.5 for default and web-search models.
Under the hood
Session signals and turn deltas report richer inter-token latency stats (avgItlMeanMs, lastItlP50Ms / lastItlP99Ms, worstItlMaxMs) and toolsUsed.
Tool behavior polish: long bash output keeps head and tail with a path to the full log; foreground commands that hit the default timeout auto-background; search_replace can create a file with an empty old_string; read_file line anchors appear on the first line and every 10th line.
Bundled skills/manifest bump (public-2026-07-23-r1) includes the new PDF skill assets and related packaging updates.
New user-guide pages: Agent Dashboard and Monitoring Usage; related auth, shortcuts, slash-commands, MCP, sessions, sandbox, and plan-mode docs updated to match.
Upgrade notes
Prefer /privacy (no args) or Settings for coding-data sharing; scripts that passed opt-in / opt-out need updating.
If you rely on leader mode together with a sandbox profile, drop the sandbox profile (or set it to off) before using leader-backed workspace start/restart/resume.
To try external OTEL, set GROK_EXTERNAL_OTEL=1and at least one of OTEL_METRICS_EXPORTER / OTEL_LOGS_EXPORTER (double opt-in); product analytics no longer shares those OTLP env vars when the external stream is active.