Skip to main content

Setting Up Claude Code

1. Installing Claude Code CLI

The Claude Code CLI is a command-line tool that enables developers to interact with the Claude AI assistant directly from their terminal. It supports various operating systems and can be installed through different methods depending on your environment.

Installation Method Description Command
Using npm Installs the latest stable version via Node Package Manager npm install -g claude-code-cli
Using Homebrew (macOS) Installs via Homebrew package manager on macOS brew tap anthropic/claude-code && brew install claude-code
Manual Download Download pre-built binaries for Linux, macOS, or Windows curl -L https://github.com/anthropic/claude-code-cli/releases/latest/download/claude-code-cli-$(uname -s)-$(uname -m).tar.gz | tar xz

Example: Verify Installation

claude-code --version
# Output:
# claude-code-cli v1.0.0
Note: Ensure that Node.js (v16 or higher) is installed if using the npm method.

2. Authenticating Claude Code with an API Key

Authenticate your Claude Code environment using an API key to enable access to AI-powered features and code assistance.

Step Description Action
1. Obtain API Key Generate an API key from the Claude dashboard. Visit https://claude.ai/api-keys and create a new key.
2. Set Environment Variable Store the key securely in your environment. export CLAUDE_API_KEY="sk-ant-api03-...-gpt-4"
3. Configure IDE Integrate the key into your development environment. Add to .env or IDE settings for Claude extension.

Example: Setting API Key in VS Code

echo 'CLAUDE_API_KEY=sk-ant-api03-...-gpt-4' >> ~/.env
Note: Keep your API key secure and never commit it to version control.
Warning: Using a compromised key may lead to unauthorized usage and billing issues.

3. Starting Claude Code Sessions

Command Description Notes
claude code start Initiates a new Claude Code session Starts an interactive development environment with AI assistance
claude code session list Lists all active Claude Code sessions Shows session IDs and status for each ongoing session
claude code session stop <session-id> Stops a specific Claude Code session Terminates the specified session by ID

Example: Starting a Claude Code Session

claude code start

Example: Listing Active Sessions

claude code session list

Example: Stopping a Session

claude code session stop 1234567890

4. Configuring Claude Code Permissions

Permission Description Required Notes
access.code Access to view and edit code in Claude Code Yes Allows reading and modifying files within the project
access.models Access to Claude's AI models Yes Required for generating code suggestions and responses
access.filesystem Access to file system operations Yes Needed for navigating and managing project files
access.network Network access for API calls to Claude services Yes Essential for real-time AI assistance and model interactions
access.settings Access to modify Claude Code settings No Optional, used for advanced configuration and preferences

Example: Setting up Claude Code Permissions in VS Code

{
  "claude.code.permissions": {
    "access.code": true,
    "access.models": true,
    "access.filesystem": true,
    "access.network": true,
    "access.settings": false
  }
}
Note: Ensure that the access.network permission is enabled to allow Claude Code to communicate with the AI models.
Warning: Disabling access.code will prevent Claude Code from making any code changes or suggestions.

5. Using Claude Code in Headless Mode

Option Values Notes
claude-code.headless true Enables headless mode for Claude Code
claude-code.port 8080 Port to run the Claude Code server on
claude-code.api-key string API key for Claude Code access

Example: Running Claude Code in Headless Mode

claude-code --headless --port 8080 --api-key "sk-ant-api03-..."
Note: Headless mode is useful for CI/CD pipelines or server environments where a GUI is not available.
Warning: Ensure that the API key is securely stored and not exposed in logs or version control.

Headless Mode Configuration

  • Set claude-code.headless to true to enable headless mode.
  • Specify the port using claude-code.port.
  • Provide your API key via claude-code.api-key.

6. Configuring Claude Code Model Selection

Model Description Capabilities Notes
claude-3-5-sonnet Latest Claude 3.5 model with improved reasoning and code generation
  • Code completion
  • Code explanation
  • Code refactoring
  • Multi-language support
Recommended for most use cases
NEW
claude-3-opus Most capable Claude model with strong reasoning and code understanding
  • Complex problem solving
  • Advanced code analysis
  • Large context windows
Best for complex AI-assisted development tasks
claude-3-sonnet Balance of speed and capability for general AI-assisted development
  • Fast response times
  • Good code understanding
  • Multi-language support
Good for real-time code assistance
claude-3-haiku Fastest Claude model for quick code tasks
  • Lightning-fast responses
  • Basic code completion
  • Simple task execution
Best for rapid prototyping or simple code tasks

Example: Claude Code Model Configuration

{
  "claude.code.model": "claude-3-5-sonnet",
  "claude.code.temperature": 0.7,
  "claude.code.maxTokens": 1024
}
Note: The model selection affects response time and code quality. Higher capability models like claude-3-opus may take longer to respond but provide better code understanding.
Warning: Using claude-3-haiku for complex code refactoring may result in incomplete or incorrect suggestions.

7. Using Claude Code Slash Commands

Command Description Usage
/help Displays available slash commands and their descriptions /help
/explain Explains selected code or a specific line of code /explain <code>
/fix Fixes issues in selected code or suggests improvements /fix <code>
/test Generates unit tests for selected code or a function /test <code>
/doc Generates documentation for selected code or function /doc <code>
/translate Translates selected code to another programming language /translate <language>

Example: Using /explain

// Select the following code and type /explain
const calculateTotal = (items) => {
  return items.reduce((sum, item) => sum + item.price, 0);
};

Example: Using /fix

// Select the following code and type /fix
const processArray = (arr) => {
  const result = [];
  for (let i = 0; i <= arr.length; i++) {
    result.push(arr[i] * 2);
  }
  return result;
};

8. Resuming Previous Claude Code Sessions

Session ID Status Last Activity Action
claude-code-2025-04-01 Active 2025-04-01 14:30
claude-code-2025-03-28 Paused 2025-03-28 10:15
claude-code-2025-03-20 Completed 2025-03-20 16:45

Example: Resuming a Session via CLI

claude-code resume --session-id claude-code-2025-04-01
Note: Sessions are automatically saved every 15 minutes during active use.
Warning: Sessions older than 30 days will be automatically deleted.

9. Configuring Claude Code Output Styles

Setting Description Values Notes
claude.code.output.style Controls the output style of Claude Code completions inline, block Default is inline
claude.code.output.language Sets the language for Claude Code output javascript, python, java, go, typescript Applies to block output style
claude.code.output.wrap Enables or disables code wrapping in output true, false Default is false

Example: Setting Output Style to Block

{
  "claude.code.output.style": "block",
  "claude.code.output.language": "javascript"
}
Note: The block output style wraps code in a proper code block with syntax highlighting support.

10. Integrating Claude Code with Terminal Workflows

Example: Setting up Claude Code in Terminal

export CLAUDE_API_KEY="your-api-key-here"
export CLAUDE_CODE_PATH="/path/to/claude-code"

# Run Claude Code in terminal
cd $CLAUDE_CODE_PATH
npm run start
Workflow Step Description Command
1. Initialize Claude Code Set up the Claude Code environment in your terminal npm init -y
2. Install Dependencies Install required packages for Claude Code integration npm install claude-code
3. Configure API Key Set the Claude API key in environment variables export CLAUDE_API_KEY="your-key"
4. Start Terminal Session Launch Claude Code in terminal mode npm run start
Note: Ensure that your terminal supports ANSI color codes for full integration.

Integration Summary

  • Install Claude Code via npm
  • Set environment variables for API key and path
  • Run in terminal using npm run start

Was this article helpful?