* feat: add CLI update checker
Check for newer grok-dev releases when the interactive CLI starts and surface them through a startup modal, home banner, and update commands.
* ci: increase PR commit scan curl timeout to 300s
* feat: add background agents and background bash processes (#161)
Add async background delegation system (delegate, delegation_read,
delegation_list) for read-only research that persists to disk and
notifies the session on completion. Extend bash tool with background
mode for long-running processes (dev servers, watchers) with companion
process_logs, process_stop, and process_list tools.
Cherry-picked from a10a337 — lost during merge of cursor/agent-new-architecture-b3d5.
* feat: add prompt queuing with follow-ups UI
Allow users to submit messages while the agent is processing. Queued
messages display in a follow-ups panel above the prompt and are
processed sequentially after the current response completes.
Cherry-picked from 299023b — lost during merge of cursor/agent-new-architecture-b3d5.
* chore: switch CI to Bun, remove unused files and dead code
- Update security workflow to use Bun instead of npm (fixes ERESOLVE peer dependency conflict)
- Delete unused files: hello.py, package-lock.json, .eslintrc.js
- Remove broken ESLint config and devDependencies (lint was non-functional)
- Remove unused exports: MODEL_GROUPS, Skill interface, formatDuration
* chore: update lockfile after removing ESLint dependencies
* fix: use ref for mode color to prevent stale closure in message borders
* feat: add Biome for linting and formatting, update CI workflow
- Add Biome as linter and formatter with project-appropriate config
- Add lint, format, format:fix, and lint:fix scripts to package.json
- Rename typecheck workflow to CI, switch from npm to Bun, add format
and lint steps alongside typecheck
- Auto-fix formatting and import ordering across all source files
* fix: improve cancellation flow and queued message editing
* fix: improve cancellation flow and prompt footer context display
* chore: update Bun version and refresh lockfile
- Replace custom OpenAI client with AI SDK streamText + @ai-sdk/xai
- Add standalone search_web and search_x tools via chat completions
- Fix follow-up messages by using isProcessingRef to avoid stale closures
- Fallback message history when result.response fails after stream errors
- Remove post-response status line, adjust input padding
Made-with: Cursor
- Remove borders, add search filtering with keyboard input
- Flat model list without category sections
- Blue accent color for current model highlight
- Fit-to-content modals with max height cap and scroll
- scrollChildIntoView for arrow key navigation
- Trim logo height by removing decorative lines
- Add accent color to theme
Made-with: Cursor
Major rewrite of the Grok CLI agent:
- Runtime: Bun-first (removed Node.js/tsx fallbacks)
- UI: Replaced Ink with OpenTUI (@opentui/react) terminal framework
- Tools: Simplified to bash-only (removed text-editor, search, morph, todo, confirmation tools)
- Search: Integrated X Search API and Web Search via xAI Responses API
- Models: Updated to all latest Grok models (grok-4, grok-4.20-beta, grok-4-1-fast, grok-4-fast, grok-3-mini)
- Agent: Streamlined agent loop with async generator streaming
- Client: Dual API support (Chat Completions for tool calling, Responses API for search)
- Removed MCP integration, confirmation service, token counter, Morph editor
- Updated tsconfig for OpenTUI React JSX
- Clean 10-file architecture in src/
Co-authored-by: Ismail Pelaseyed <homanp@users.noreply.github.com>
* Convert to ES and install with bun
* Delete package-lock.json
* Update README with bun info
* Update .gitignore
* Update .npmignore
* Bump version
* Unignore package lock