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).
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 →
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.
# 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 →
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 →
What You Can Build
Automated Code Maintenance
Keep your codebase healthy with automated fixes. Cline scans for issues and applies corrections across multiple files.
cline -y "Fix all ESLint errors in src/"
Finds and fixes linting violations throughout your source directory.
cline -y "Update all deprecated React lifecycle methods"
Migrates legacy code patterns to modern equivalents (e.g., componentWillMount → useEffect).
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.
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.
git log --oneline v1.0..v1.1 | cline -y "Write release notes"
Generates human-readable release notes from your commit history between two tags.
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.
Launches interactive mode for exploratory development and back-and-forth collaboration.
cline "Refactor this function to use async/await"
Executes a focused task directly from the command line with approval prompts at key steps.
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.
gh pr diff 123 | cline -y "Review this PR"
Fetches a GitHub PR diff and pipes it directly to Cline for review.
cline --json "List all TODO comments" | jq '.text'
Outputs structured JSON that you can process with tools like jq for scripting.
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:
If you need to install or update Node.js, visit nodejs.org or use a version manager like nvm.
Install Cline CLI
Install globally via npm:
Verify the installation:
To install a specific version, use npm install -g [email protected]. Check npm for available versions.
Authenticate
After installation, run the authentication wizard:
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.
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:
# 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 <id> | Provider ID (e.g., anthropic, openai-native, openrouter) |
-k, --apikey <key> | Your API key |
-m, --modelid <id> | Model ID (e.g., claude-sonnet-4-5-20250929, gpt-4o) |
-b, --baseurl <url> | 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:
If Cline responds with an answer, your installation and authentication are complete.
Check your current configuration:
Quick Start
Now you’re ready to use Cline. Choose how you want to work:
Interactive Mode
Launch the interactive CLI for development:
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 →
Direct Task Execution
Run a task directly from your shell:
cline "Add error handling to utils.js"
For non-interactive execution (perfect for scripts and CI/CD):
cline -y "Run tests and fix any failures"
Learn more about headless mode →
Switching Providers
To change your configured provider at any time:
You can also use the settings panel in interactive mode:
cline
# Then type: /settings
# Navigate to the API tab
Updating
Check for updates and install the latest version:
Or update manually via npm:
Troubleshooting
Command Not Found
If cline is not found after installation:
-
Ensure npm global bin is in your PATH:
-
Add the path to your shell configuration (
.bashrc, .zshrc, etc.):
export PATH="$PATH:$(npm bin -g)"
-
Restart your terminal or source your shell config.
Permission Errors
If you get permission errors during installation:
# 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:
- Copy the URL from the terminal
- Paste it in your browser manually
- Complete the sign-in flow
- Return to the terminal
API Key Validation
If your API key is rejected:
- Verify the key is correct and hasn’t expired
- Check that you’ve selected the correct provider
- 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.
Uninstallation
To remove Cline CLI:
To also remove configuration data:
Next Steps
- Interactive Mode - Master the interactive CLI with shortcuts and slash commands
- Headless Mode - Run Cline autonomously in scripts, CI/CD pipelines, and automated workflows
- Configuration - Configure settings, rules, workflows, and environment variables
- CLI Reference - Complete command documentation with all flags and options