--- title: "Getting Started" description: "Run Cline AI coding agents directly in your terminal with an interactive CLI or automated workflows" --- ## What is Cline CLI? Cline CLI brings the full power of Cline to your terminal. Whether you prefer an interactive experience or automated workflows for CI/CD pipelines, the CLI adapts to your needs. The CLI supports macOS, Linux, and Windows, and works with all the same AI providers as the VS Code extension. ## Two Ways to Use Cline CLI The CLI operates in two distinct modes, automatically selecting the appropriate one based on how you invoke it: ### Interactive Mode Interactive mode is designed for **hands-on development sessions** where you want to collaborate with Cline in real-time. It provides a rich terminal interface that feels like chatting with an AI assistant. **When it activates:** Running `cline` without arguments, or when stdin is a TTY (terminal). ```bash cline ``` Key features: - **Real-time conversation** - Type messages, see Cline's responses, and iterate on tasks - **Visual feedback** - Animated welcome screen, syntax-highlighted code, and progress indicators - **File mentions** with `@` - Reference workspace files with fuzzy search autocomplete - **Slash commands** with `/` - Quick access to `/settings`, `/history`, `/models`, and workflows - **Keyboard shortcuts** - `Tab` to toggle Plan/Act, `Shift+Tab` for auto-approve all - **Session summaries** - See tasks completed, files modified, and token usage on exit - **Settings panel** - Configure providers, models, and features without leaving the CLI Interactive mode keeps you in control. You review Cline's plan, approve or modify actions, and guide the conversation. [Learn more about interactive mode →](/cline-cli/interactive-mode) ### Headless Mode (Non-Interactive) Headless mode is designed for **automation, scripting, and CI/CD pipelines** where human interaction isn't possible or desired. **When it activates:** Using the `-y`/`--yolo` flag, `--json` flag, piping input/output, or when stdin is not a TTY. ```bash # Headless with auto-approval (YOLO mode) cline -y "Run tests and fix any failures" # Headless with JSON output for parsing cline --json "List all TODO comments" | jq '.text' # Headless via piped input cat README.md | cline "Summarize this document" # Chain multiple headless commands git diff | cline -y "explain these changes" | cline -y "write a commit message" ``` Key features: - **No visual interface** - Clean text or JSON output suitable for scripting - **Automatic execution** - With `-y`, Cline approves all actions and runs autonomously - **Process control** - Exits automatically when the task completes - **Piped workflows** - Read from stdin, write to stdout, chain with other commands - **Machine-readable output** - Use `--json` to get structured output for parsing Headless mode with `-y` gives Cline full autonomy. Run on a clean git branch so you can easily revert changes if needed. ### Mode Detection Summary Cline automatically detects which mode to use based on your invocation. This table shows how different command patterns trigger each mode, helping you predict behavior in scripts and interactive sessions. | Invocation | Mode | Reason | |------------|------|--------| | `cline` | Interactive | No arguments, TTY connected | | `cline "task"` | Interactive | TTY connected | | `cline -y "task"` | Headless | YOLO flag forces headless | | `cline --json "task"` | Headless | JSON flag forces headless | | `cat file \| cline "task"` | Headless | stdin is piped | | `cline "task" > output.txt` | Headless | stdout is redirected | [Learn more about headless mode →](/cline-cli/three-core-flows) ## Supported Model Providers Cline CLI supports all providers available in the VS Code extension: - **Anthropic** (Claude) - **OpenAI** (GPT-4o, GPT-4) - **OpenAI Codex** (ChatGPT subscription) - **OpenRouter** - **AWS Bedrock** - **Google Gemini** - **X AI (Grok)** - **Cerebras** - **DeepSeek** - **Ollama** (local models) - **LM Studio** (local models) - **OpenAI Compatible** (any compatible API) During setup, authenticate with `cline auth` to configure your preferred provider. [See authentication →](#authenticate) ## What You Can Build ### Automated Code Maintenance Keep your codebase healthy with automated fixes. Cline scans for issues and applies corrections across multiple files. ```bash cline -y "Fix all ESLint errors in src/" ``` Finds and fixes linting violations throughout your source directory. ```bash cline -y "Update all deprecated React lifecycle methods" ``` Migrates legacy code patterns to modern equivalents (e.g., `componentWillMount` → `useEffect`). ```bash cline -y "Update dependencies with known vulnerabilities" ``` Identifies outdated packages with security issues and updates them to safe versions. ### CI/CD Integration Integrate Cline into your continuous integration pipelines for automated code review and documentation. ```bash git diff origin/main | cline -y "Review these changes for issues" ``` Pipes your PR diff to Cline for automated code review, catching bugs and style issues before merge. ```bash git log --oneline v1.0..v1.1 | cline -y "Write release notes" ``` Generates human-readable release notes from your commit history between two tags. ```bash cline -y "Run tests and fix failures" --timeout 600 ``` Executes your test suite, analyzes failures, and attempts fixes with a 10-minute timeout. ### Development Workflows From quick edits to complex refactors, Cline adapts to your workflow. ```bash cline ``` Launches interactive mode for exploratory development and back-and-forth collaboration. ```bash cline "Refactor this function to use async/await" ``` Executes a focused task directly from the command line with approval prompts at key steps. ```bash cline "Based on @src/api.ts, add error handling to all endpoints" ``` Uses file mentions (`@`) to give Cline context about specific files in your workspace. ### Custom Shell Pipelines Chain Cline with other CLI tools to build powerful automation workflows. ```bash gh pr diff 123 | cline -y "Review this PR" ``` Fetches a GitHub PR diff and pipes it directly to Cline for review. ```bash cline --json "List all TODO comments" | jq '.text' ``` Outputs structured JSON that you can process with tools like `jq` for scripting. ```bash git diff | cline -y "explain" | cline -y "write a haiku about these changes" ``` Chains multiple Cline invocations together for creative multi-step workflows. ## Features at a Glance | Feature | Interactive Mode | Non-Interactive Mode | |---------|------------------|----------------------| | Interactive chat | ✓ | - | | File mentions (@) | ✓ | ✓ (inline) | | Slash commands (/) | ✓ | - | | Settings panel | ✓ | `cline config` | | Plan/Act toggle | ✓ (Tab) | `-p` / `-a` flags | | Auto-approve | ✓ (Shift+Tab) | `-y` flag | | Session summary | ✓ | - | | JSON output | - | `--json` | | Piped input | - | ✓ | --- ## Installation & Setup In just a few minutes, you can install the CLI, authenticate with your preferred AI provider, and start running tasks from any directory on your machine. ### Prerequisites Cline CLI requires **Node.js version 20 or higher**. We recommend Node.js 22 for the best experience. Check your Node.js version: ```bash node --version ``` If you need to install or update Node.js, visit [nodejs.org](https://nodejs.org) or use a version manager like [nvm](https://github.com/nvm-sh/nvm). ### Install Cline CLI Install globally via npm: ```bash npm install -g cline ``` Verify the installation: ```bash cline version ``` To install a specific version, use `npm install -g cline@2.0.0`. Check [npm](https://www.npmjs.com/package/cline) for available versions. ### Authenticate After installation, run the authentication wizard: ```bash cline auth ``` This launches an interactive wizard with multiple options. Choose the method that works best for your workflow. #### Option 1: Sign in with Cline (Recommended) Select **"Sign in with Cline"** to authenticate with your Cline account via OAuth. Your browser opens automatically to complete sign-in. #### Option 2: Sign in with ChatGPT Subscription If you have a ChatGPT Plus or Pro subscription, select **"Sign in with ChatGPT Subscription"**. This uses OpenAI's Codex OAuth to authenticate with your existing subscription. #### Option 3: Import from Existing Tools Already using another AI coding CLI? Cline can import your existing configuration: - **Import from Codex CLI** - Imports credentials from `~/.codex/auth.json` - **Import from OpenCode** - Imports configuration from `~/.local/share/opencode/auth.json` #### Option 4: Bring Your Own API Key Select **"Bring your own API key"** to manually configure any supported provider. Or skip the wizard entirely with flags: ```bash # Anthropic (Claude) cline auth -p anthropic -k sk-ant-api-xxxxx -m claude-sonnet-4-5-20250929 # OpenAI cline auth -p openai-native -k sk-xxxxx -m gpt-4o # OpenRouter cline auth -p openrouter -k sk-or-xxxxx -m anthropic/claude-sonnet-4-5-20250929 # OpenAI-compatible provider with custom base URL cline auth -p openai -k your-api-key -b https://api.example.com/v1 ``` **Quick Setup Flags:** | Flag | Description | |------|-------------| | `-p, --provider ` | Provider ID (e.g., `anthropic`, `openai-native`, `openrouter`) | | `-k, --apikey ` | Your API key | | `-m, --modelid ` | Model ID (e.g., `claude-sonnet-4-5-20250929`, `gpt-4o`) | | `-b, --baseurl ` | Base URL for OpenAI-compatible providers | Flags are especially useful for scripting, CI/CD environments, or setting up multiple machines. #### Supported Providers | Provider | Provider ID | Notes | |----------|-------------|-------| | Anthropic | `anthropic` | Direct Claude API access | | OpenAI | `openai-native` | GPT-4o, GPT-4, etc. | | OpenAI Codex | `openai-codex` | ChatGPT subscription OAuth | | OpenRouter | `openrouter` | Access multiple providers | | AWS Bedrock | `bedrock` | Claude via AWS | | Google Gemini | `gemini` | Gemini Pro, etc. | | X AI (Grok) | `xai` | Grok models | | Cerebras | `cerebras` | Fast inference | | DeepSeek | `deepseek` | DeepSeek models | | Ollama | `ollama` | Local models | | LM Studio | `lmstudio` | Local models | | OpenAI Compatible | `openai` | Any OpenAI-compatible API | ### Verify Your Setup Confirm everything is working with a simple test: ```bash cline "What is 2 + 2?" ``` If Cline responds with an answer, your installation and authentication are complete. Check your current configuration: ```bash cline config ``` ### Quick Start Now you're ready to use Cline. Choose how you want to work: #### Interactive Mode Launch the interactive CLI for development: ```bash cline ``` You'll see the Cline welcome screen. Type your task and press Enter. Use: - `Tab` to toggle between Plan and Act modes - `Shift+Tab` to enable auto-approve - `/help` for available commands [Learn more about interactive mode →](/cline-cli/interactive-mode) #### Direct Task Execution Run a task directly from your shell: ```bash cline "Add error handling to utils.js" ``` For non-interactive execution (perfect for scripts and CI/CD): ```bash cline -y "Run tests and fix any failures" ``` [Learn more about headless mode →](/cline-cli/three-core-flows) ### Switching Providers To change your configured provider at any time: ```bash cline auth ``` You can also use the settings panel in interactive mode: ```bash cline # Then type: /settings # Navigate to the API tab ``` ### Updating Check for updates and install the latest version: ```bash cline update ``` Or update manually via npm: ```bash npm update -g cline ``` ### Troubleshooting #### Command Not Found If `cline` is not found after installation: 1. Ensure npm global bin is in your PATH: ```bash npm bin -g ``` 2. Add the path to your shell configuration (`.bashrc`, `.zshrc`, etc.): ```bash export PATH="$PATH:$(npm bin -g)" ``` 3. Restart your terminal or source your shell config. #### Permission Errors If you get permission errors during installation: ```bash # Option 1: Use a Node version manager (recommended) # nvm, fnm, or volta handle permissions automatically # Option 2: Fix npm permissions # See: https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally ``` #### OAuth Flow Issues If the browser doesn't open automatically during OAuth: 1. Copy the URL from the terminal 2. Paste it in your browser manually 3. Complete the sign-in flow 4. Return to the terminal #### API Key Validation If your API key is rejected: 1. Verify the key is correct and hasn't expired 2. Check that you've selected the correct provider 3. Ensure your API account has the necessary permissions **Provider-specific tips:** - **Anthropic**: Keys start with `sk-ant-` - **OpenAI**: Keys start with `sk-` - **AWS Bedrock**: Requires AWS credentials configured separately. See [AWS Bedrock documentation](/provider-config/aws-bedrock/api-key). ### Uninstallation To remove Cline CLI: ```bash npm uninstall -g cline ``` To also remove configuration data: ```bash rm -rf ~/.cline ``` ## Next Steps - **[Interactive Mode](/cline-cli/interactive-mode)** - Master the interactive CLI with shortcuts and slash commands - **[Headless Mode](/cline-cli/three-core-flows)** - Run Cline autonomously in scripts, CI/CD pipelines, and automated workflows - **[Configuration](/cline-cli/configuration)** - Configure settings, rules, workflows, and environment variables - **[CLI Reference](/cline-cli/cli-reference)** - Complete command documentation with all flags and options