Open-source tree sync to 1.0.16: enterprise model allowlists via signed requirements.toml, MCP servers at session bind, stronger session/token reliability, and faster startup.
Changelog
[changed]Enterprise policies can restrict which models users may select via signed requirements.toml (replaces any user allowed_models; empty = unrestricted; unreadable pin fail-closes).
[new]MCP servers can be supplied at session bind time for workspace integrations.
[new]session/set_config_option (ACP): live model and reasoning_effort changes; session/new and session/load return a typed configOptions list.
[new]PostToolUse hooks (including SDK-registered) can provide feedback and context to the model after tool execution.
[new]OIDC token refresh is proactive by default.
[new]grok usage <session-id> shows persisted per-turn token and cost data.
[new]Models may declare a different identifier per reasoning-effort level.
[new]Prompt suggestions respect remote configuration and default to the current session model.
[new]Retry status in composer and title shows a short reason for the retry.
[new] Tip after repeated scrollback drag-copies suggests /copy and /export.
[changed]Background task waits: get_command_or_subagent_output takes task_ids (list, max 20); positive timeout_ms clamped to 1 hour (was 10 minutes); hosts may set GROK_MAX_WAIT_BLOCK_MS.
[removed]wait_commands_or_subagents — multi-wait is handled through get_command_or_subagent_output.
[changed]Auto-Dream / memory consolidation runs at launch (and periodically) instead of blocking session exit.
[fix] Long-running sessions interrupted by expired tokens during network issues no longer lose work.
[fix] Sending a message immediately after spawning a subagent no longer fails while the child is still starting.
[fix] MCP server OAuth from /mcps no longer deadlocks the session; extensions-modal spinners animate correctly.
[fix] Slash command suggestions with very long names no longer show blank labels.
[fix] Subagent sessions no longer leak threads/FDs; spawning waits longer on a busy coordinator with clearer retry guidance; tasks are not incorrectly cancelled while the parent waits; larger transcripts resume when they still fit context.
[fix] Failed task/todo tool calls appear in the transcript; interjections deliver atomically or not at all.
[fix] Compaction failures from context size degrade input instead of identical retries; --sandbox strict restricts writes to ~/.grok/sessions only.
[fix] Session close is no longer delayed by a single slow SessionEnd hook (per-hook timeout); close is faster with consolidation deferred.
[fix] Typed input (including Enter) during pager startup is preserved; composer status row no longer collapses/flashes on double-Enter; dock panel input/rollout respects remote settings and focus when hidden/empty.
[fix] Cold startup no longer double-fetches remote settings; grok inspect shows Claude bypass locks as advisory.
[changed]Windows CLI downloads ~70% smaller via compressed sidecars (same approach as macOS/Linux).
[changed]Startup / first-reply latency: model connection and expired-token refresh prewarm in the background; new sessions return before MCP/startup work finishes; remote settings served from local cache on warm signed-in boots; first message on large repos no longer waits on status scan; large session memory no longer blocks turn completion or subagent spawn.
[changed] Subagent/background control surface: get_command_or_subagent_output / kill_command_or_subagent (multi-id wait folded into get-output; 1h ceiling).
[new] Optional [models] allowed_models picker allowlist (globs on catalog key or model id); signed policy pin is model-id-only and cannot be widened locally.
[new]features.dock / GROK_DOCK (default off).
[new] Catalog model grok-4-anything.
[changed] External OTEL: separate gates for assistant responses and tool content; richer pin surface in signed requirements.toml; ZDR does not mute external OTEL or user.email.
Docs
User guide updates for authentication/privacy vs ZDR and external OTEL, slash commands, configuration and config reference (telemetry pins, features.dock, allowed_models), custom models (fleet allowlist), memory (Dream timing), agent mode (session config options), subagents (send_subagent_message), sessions (session/set_config_option), background tasks (get-output wait semantics), permissions (tool list), and monitoring/usage (OTEL gates, recommended fleet defaults).
Changelog sections for 1.0.14, 1.0.15, and 1.0.16 landed in-tree (xai-org/grok-build).
Under the hood
Product/version metadata at 1.0.16 (xai-grok-pager, xai-grok-shell, xai-grok-version, pager bin).
Env surface additions including GROK_DOCK, GROK_AGENT_ID_HEADER, and OTEL pin-strip probe support.
Upgrade notes
Enterprise fleets: signed requirements.toml[models] allowed_models replaces user allowlists; defaults/-m outside the pin are rejected after catalog fetch — contact an admin if a model disappears from the picker.
Anything still calling wait_commands_or_subagents should use get_command_or_subagent_output with task_ids and an optional timeout_ms (max 1h; override ceiling via GROK_MAX_WAIT_BLOCK_MS if the transport is stricter).
OTEL/SIEM: review new otel_log_assistant_responses and otel_log_tool_content gates; pinning any content gate without listing siblings defaults omitted siblings off. ZDR alone does not disable GROK_EXTERNAL_OTEL.
Optional dock UI: enable with features.dock or GROK_DOCK when desired.