- Notifications
You must be signed in to change notification settings - Fork256
An open-source AI agent that brings the power of Grok directly into your terminal.
License
superagent-ai/grok-cli
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A conversational AI CLI tool powered by Grok with intelligent text editor capabilities and tool usage.

- 🤖 Conversational AI: Natural language interface powered by Grok-3
- 📝 Smart File Operations: AI automatically uses tools to view, create, and edit files
- ⚡ Bash Integration: Execute shell commands through natural conversation
- 🔧 Automatic Tool Selection: AI intelligently chooses the right tools for your requests
- 🚀 Morph Fast Apply: Optional high-speed code editing at 4,500+ tokens/sec with 98% accuracy
- 🔌 MCP Tools: Extend capabilities with Model Context Protocol servers (Linear, GitHub, etc.)
- 💬 Interactive UI: Beautiful terminal interface built with Ink
- 🌍 Global Installation: Install and use anywhere with
bun add -g @vibe-kit/grok-cli
- Bun 1.0+ (or Node.js 18+ as fallback)
- Grok API key from X.AI
- (Optional, Recommended) Morph API key for Fast Apply editing
bun add -g @vibe-kit/grok-cli
Or with npm (fallback):
npm install -g @vibe-kit/grok-cli
git clone<repository>cd grok-clibun installbun run buildbun link
Get your Grok API key fromX.AI
Set up your API key (choose one method):
Method 1: Environment Variable
export GROK_API_KEY=your_api_key_hereMethod 2: .env File
cp .env.example .env# Edit .env and add your API keyMethod 3: Command Line Flag
grok --api-key your_api_key_here
Method 4: User Settings FileCreate~/.grok/user-settings.json:
{"apiKey":"your_api_key_here"}(Optional, Recommended) Get your Morph API key fromMorph Dashboard
Set up your Morph API key for Fast Apply editing (choose one method):
Method 1: Environment Variable
export MORPH_API_KEY=your_morph_api_key_hereMethod 2: .env File
# Add to your .env fileMORPH_API_KEY=your_morph_api_key_hereBy default, the CLI useshttps://api.x.ai/v1 as the Grok API endpoint. You can configure a custom endpoint if needed (choose one method):
Method 1: Environment Variable
export GROK_BASE_URL=https://your-custom-endpoint.com/v1Method 2: Command Line Flag
grok --api-key your_api_key_here --base-url https://your-custom-endpoint.com/v1
Method 3: User Settings FileAdd to~/.grok/user-settings.json:
{"apiKey":"your_api_key_here","baseURL":"https://your-custom-endpoint.com/v1"}Grok CLI uses two types of configuration files to manage settings:
This file storesglobal settings that apply across all projects. These settings rarely change and include:
- API Key: Your Grok API key
- Base URL: Custom API endpoint (if needed)
- Default Model: Your preferred model (e.g.,
grok-code-fast-1) - Available Models: List of models you can use
Example:
{"apiKey":"your_api_key_here","baseURL":"https://api.x.ai/v1","defaultModel":"grok-code-fast-1","models": ["grok-code-fast-1","grok-4-latest","grok-3-latest","grok-3-fast","grok-3-mini-fast" ]}This file storesproject-specific settings in your current working directory. It includes:
- Current Model: The model currently in use for this project
- MCP Servers: Model Context Protocol server configurations
Example:
{"model":"grok-3-fast","mcpServers": {"linear": {"name":"linear","transport":"stdio","command":"npx","args": ["@linear/mcp-server"] } }}- Global Defaults: User-level settings provide your default preferences
- Project Override: Project-level settings override defaults for specific projects
- Directory-Specific: When you change directories, project settings are loaded automatically
- Fallback Logic: Project model → User default model → System default (
grok-code-fast-1)
This means you can have different models for different projects while maintaining consistent global settings like your API key.
Important: Grok CLI usesOpenAI-compatible APIs. You can use any provider that implements the OpenAI chat completions standard.
Popular Providers:
- X.AI (Grok):
https://api.x.ai/v1(default) - OpenAI:
https://api.openai.com/v1 - OpenRouter:
https://openrouter.ai/api/v1 - Groq:
https://api.groq.com/openai/v1
Example with OpenRouter:
{"apiKey":"your_openrouter_key","baseURL":"https://openrouter.ai/api/v1","defaultModel":"anthropic/claude-3.5-sonnet","models": ["anthropic/claude-3.5-sonnet","openai/gpt-4o","meta-llama/llama-3.1-70b-instruct" ]}Start the conversational AI assistant:
grok
Or specify a working directory:
grok -d /path/to/project
Process a single prompt and exit (useful for scripting and automation):
grok --prompt"show me the package.json file"grok -p"create a new file called example.js with a hello world function"grok --prompt"run bun test and show me the results" --directory /path/to/projectgrok --prompt"complex task" --max-tool-rounds 50# Limit tool usage for faster execution
This mode is particularly useful for:
- CI/CD pipelines: Automate code analysis and file operations
- Scripting: Integrate AI assistance into shell scripts
- Terminal benchmarks: Perfect for tools like Terminal Bench that need non-interactive execution
- Batch processing: Process multiple prompts programmatically
By default, Grok CLI allows up to 400 tool execution rounds to handle complex multi-step tasks. You can control this behavior:
# Limit tool rounds for faster execution on simple tasksgrok --max-tool-rounds 10 --prompt"show me the current directory"# Increase limit for very complex tasks (use with caution)grok --max-tool-rounds 1000 --prompt"comprehensive code refactoring"# Works with all modesgrok --max-tool-rounds 20# Interactive modegrok git commit-and-push --max-tool-rounds 30# Git commands
Use Cases:
- Fast responses: Lower limits (10-50) for simple queries
- Complex automation: Higher limits (500+) for comprehensive tasks
- Resource control: Prevent runaway executions in automated environments
You can specify which AI model to use with the--model parameter orGROK_MODEL environment variable:
Method 1: Command Line Flag
# Use Grok modelsgrok --model grok-code-fast-1grok --model grok-4-latestgrok --model grok-3-latestgrok --model grok-3-fast# Use other models (with appropriate API endpoint)grok --model gemini-2.5-pro --base-url https://api-endpoint.com/v1grok --model claude-sonnet-4-20250514 --base-url https://api-endpoint.com/v1
Method 2: Environment Variable
export GROK_MODEL=grok-code-fast-1grokMethod 3: User Settings FileAdd to~/.grok/user-settings.json:
{"apiKey":"your_api_key_here","defaultModel":"grok-code-fast-1"}Model Priority:--model flag >GROK_MODEL environment variable > user default model > system default (grok-code-fast-1)
grok [options]Options: -V, --version output the version number -d, --directory<dir>set working directory -k, --api-key<key> Grok API key (orset GROK_API_KEY env var) -u, --base-url<url> Grok API base URL (orset GROK_BASE_URL env var) -m, --model<model> AI model to use (e.g., grok-code-fast-1, grok-4-latest) (orset GROK_MODEL env var) -p, --prompt<prompt> process a single prompt andexit (headless mode) --max-tool-rounds<rounds> maximum number of tool execution rounds (default: 400) -h, --help displayhelpforcommand
You can provide custom instructions to tailor Grok's behavior to your project by creating a.grok/GROK.md file in your project directory:
mkdir .grok
Create.grok/GROK.md with your custom instructions:
#Custom Instructions for Grok CLIAlways use TypeScript for any new code files.When creating React components, use functional components with hooks.Prefer const assertions and explicit typing over inference where it improves clarity.Always add JSDoc comments for public functions and interfaces.Follow the existing code style and patterns in this project.Grok will automatically load and follow these instructions when working in your project directory. The custom instructions are added to Grok's system prompt and take priority over default behavior.
Grok CLI supports Morph's Fast Apply model for high-speed code editing at4,500+ tokens/sec with 98% accuracy. This is an optional feature that provides lightning-fast file editing capabilities.
Setup: Configure your Morph API key following thesetup instructions above.
WhenMORPH_API_KEY is configured:
edit_filetool becomes available alongside the standardstr_replace_editor- Optimized for complex edits: Use for multi-line changes, refactoring, and large modifications
- Intelligent editing: Uses abbreviated edit format with
// ... existing code ...comments - Fallback support: Standard tools remain available if Morph is unavailable
When to use each tool:
edit_file(Morph): Complex edits, refactoring, multi-line changesstr_replace_editor: Simple text replacements, single-line edits
With Morph Fast Apply configured, you can request complex code changes:
grok --prompt"refactor this function to use async/await and add error handling"grok -p"convert this class to TypeScript and add proper type annotations"
The AI will automatically choose betweenedit_file (Morph) for complex changes orstr_replace_editor for simple replacements.
Grok CLI supports MCP (Model Context Protocol) servers, allowing you to extend the AI assistant with additional tools and capabilities.
# Add an stdio-based MCP servergrok mcp add my-server --transport stdio --command"bun" --args server.js# Add an HTTP-based MCP servergrok mcp add my-server --transport http --url"http://localhost:3000"# Add with environment variablesgrok mcp add my-server --transport stdio --command"python" --args"-m""my_mcp_server" --env"API_KEY=your_key"
grok mcp add-json my-server'{"command": "bun", "args": ["server.js"], "env": {"API_KEY": "your_key"}}'To add Linear MCP tools for project management:
# Add Linear MCP servergrok mcp add linear --transport sse --url"https://mcp.linear.app/sse"
This enables Linear tools like:
- Create and manage Linear issues
- Search and filter issues
- Update issue status and assignees
- Access team and project information
# List all configured serversgrok mcp list# Test server connectiongrok mcptest server-name# Remove a servergrok mcp remove server-name
- stdio: Run MCP server as a subprocess (most common)
- http: Connect to HTTP-based MCP server
- sse: Connect via Server-Sent Events
# Install dependenciesbun install# Development modebun run dev# Build projectbun run build# Run linterbun run lint# Type checkbun run typecheck
- Agent: Core command processing and execution logic
- Tools: Text editor and bash tool implementations
- UI: Ink-based terminal interface components
- Types: TypeScript definitions for the entire system
MIT
About
An open-source AI agent that brings the power of Grok directly into your terminal.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.