Patch release: stricter plan mode, cancel-and-send follow-ups, new build-with-ai and resume-claude skills, grok setup --json, and better Linux paste / terminal diagnostics.
Changelog
[new] Bundled build-with-ai skill: when adding chat, completions, streaming, or other AI/LLM features (or when asked which model/provider to use), defaults to SpaceXAI (XAI_API_KEY, https://api.x.ai/v1, grok-4.5) and steers vibe-coded apps away from other providers.
[new] Bundled resume-claude skill (with cc_session.py helper): continues work from a recent Claude Code session under ~/.claude/projects by id, description, or “latest”; strips thinking blocks and summarizes where you left off. Triggers on “continue from Claude”, “resume my Claude session”, or /resume-claude.
[changed] Plan mode is read-only except for the session plan.md: edits to any other file are rejected outright (tool call fails with a short message), including under always-approve / yolo. Non-edit tools still follow the permission mode. Empty or missing plans still open the approval surface with a clear empty state.
[changed] Active-turn follow-ups: plain Enter still queues; double-Enter on an empty composer sends the top queued follow-up now. The send-now chord (Ctrl+Enter / Ctrl+I / Ctrl+L on VS Code family) is cancel-and-send — it stops the current turn and starts your message as the next one (background tasks and the rest of the queue keep running). While blocked on a background task or subagent, plain Enter with text also cancels and delivers immediately. Queued items deliberately hold during those waits, with a hint on how to force-send.
[removed]auto_interject_on_task_wait (and related env / remote setting) — the hold-while-waiting behavior above replaces it.
[new]grok setup --json: print the fetched configuration as JSON and write nothing under ~/.grok. Shell completions updated.
[changed] Custom model env_key accepts a string or an array of env var names; the first set, non-empty value wins (handy for SSH LC_* forwarding). Docs and examples prefer XAI_API_KEY.
[changed]/context shows a categorical breakdown (system prompt, messages, reasoning/overhead, free) plus informational rows for tool definitions, the skills listing, and MCP announcements with estimated token cost.
[changed]/terminal-setup reports color level, which themes are available, clipboard routes, and fix hints (truecolor, tmux clipboard, keyboard protocol). Theming docs point at it for capability checks.
[changed] Linux X11/XWayland: middle-click pastes PRIMARY when DISPLAY is set; Ctrl+V reads CLIPBOARD only (no PRIMARY fallback). Docs cover xclip/xsel, SSH, and Shift+Insert / Shift+middle-click.
[changed] Image chips in the prompt are path-free ([Image #N]); the path (when known) appears only in the hover/cursor preview overlay.
[changed] Harness compatibility: staged sessions cells for Cursor and Claude, plus a Codex sessions cell (scanner not yet wired). grok inspect can show unresolved remote/default cells before remote settings load.
Under the hood
Design, implement, execute-plan, review, and pr-babysit skills write artifacts under a per-user, $TMPDIR-respecting scratch directory (${TMPDIR:-/tmp}/grok-$(id -u), mode 700) instead of world-writable /tmp.
Subagent launches accept an optional model override (inherits parent/role when unset; ignored on resume).
Session signals / turn-delta telemetry include additional ITL and tools-used fields (avgItlMeanMs, lastItlP50Ms, lastItlP99Ms, worstItlMaxMs, toolsUsed, etc.).
Bundled content manifest bumped; marketplace cache refreshed (no catalog add/remove of plugins or skills).
Upgrade notes
Expect send-now to cancel the in-flight turn rather than inject into it; use plain Enter to queue without interrupting.
Plan mode will hard-fail non-plan.md edits even if always-approve is on; approve the plan (or leave plan mode) before implementation edits.
If you relied on auto_interject_on_task_wait / GROK_AUTO_INTERJECT_ON_TASK_WAIT, remove it from config — the new queue/hold rules apply instead.
Custom models using env_key can now list multiple env vars; update configs if you want the first-set-wins behavior.