or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

authentication.mdcli-interface.mdcli-options.mdconfiguration.mdcustom-commands.mdhooks.mdide-integration.mdindex.mdmcp-integration.mdsdk-integration.mdslash-commands.md
tile.json

cli-interface.mddocs/

CLI Interface

The Claude Code CLI provides an interactive terminal-based interface for AI-assisted coding through natural language commands.

Capabilities

Main CLI Command

The primary entry point for Claude Code that starts an interactive session.

# Start Claude Code interactive session
claude

# Usage patterns:
# 1. Run from project root directory for full codebase context
# 2. Interact through natural language commands
# 3. Claude understands your codebase and can perform various tasks

Usage Examples:

# Navigate to your project
cd /path/to/your/project

# Start Claude Code
claude

# Example interactions:
# User: "Help me understand this authentication flow"
# User: "Create a new React component for user profiles" 
# User: "Fix the failing tests in the user service"
# User: "Explain what the calculateTotalPrice function does"
# User: "Create a git commit with all staged changes"

Interactive Features

Claude Code provides several interactive capabilities:

  • Codebase Understanding: Automatically analyzes your project structure and code
  • Natural Language Processing: Interprets coding requests in plain English
  • Context Awareness: Maintains context across conversations within a session
  • Task Execution: Can perform file operations, run tests, execute git commands
  • Code Explanation: Provides detailed explanations of existing code
  • Code Generation: Creates new code based on requirements
  • Real-time Steering: Send messages while Claude works (interactive mode)
  • Background Commands: Execute commands in background with Ctrl+b
  • Mode Switching: Auto-accept mode with Shift+Tab
  • Vim Bindings: Optional vim-style key bindings
  • File Completion: Tab completion for files and directories
  • Image Support: Drag & drop, clipboard paste, @-mention files
  • Transcript Mode: Access conversation history with Ctrl+R

Command Patterns

Natural Language Commands

Common interaction patterns with Claude Code:

# Code analysis requests
"Explain this function"
"What does this component do"  
"How does the authentication work"

# Code modification requests
"Fix this bug"
"Add error handling to this function"
"Refactor this component to use hooks"

# File operations
"Create a new component"
"Add a test file for this module"
"Update the README with installation instructions"

# Git operations  
"Create a commit with these changes"
"Create a new branch for this feature"
"Show me the git status"

# Testing and debugging
"Run the tests"
"Fix the failing tests"
"Add unit tests for this function"

Slash Commands

Direct commands for specific actions:

# File and project management
/add-dir path/to/directory     # Add directories to context
/memory                        # Edit memory files
/context                       # Debug context issues
/export                        # Export conversations
/resume                        # Switch conversations
/clear                         # Clear conversation

# Development workflow
/bug "Issue description"       # Report bugs
/cost                          # View usage and costs
/todos                         # List current todos
/pr-comments                   # Handle PR comments
/install-github-app           # Install GitHub integration

# Configuration and tools
/doctor                        # Validate configuration
/permissions                   # Manage tool permissions
/model                         # Model selection
/statusline                    # Customize status line
/vim                          # Enable vim bindings
/config                       # Configuration management
/mcp                          # MCP server management
/agents                       # Create custom subagents
/status                       # View system status
/release-notes                # View release notes
/upgrade                      # Upgrade subscription

Session Management

Each Claude Code session maintains:

  • Project Context: Understanding of your codebase structure and content
  • Conversation History: Previous interactions and decisions within the session
  • File State Tracking: Awareness of file modifications during the session
  • Tool Access: Ability to execute various development tools and commands
  • Multi-session Support: Handle multiple concurrent conversations
  • Session Persistence: Resume conversations across restarts
  • Context Compaction: Automatic cleanup while preserving important context
  • Memory Management: Intelligent memory file handling

Interactive Controls

# Real-time interaction
Ctrl+b                         # Run command in background
Shift+Tab                      # Toggle auto-accept mode
Ctrl+R                         # Access transcript mode
Ctrl+C                         # Interrupt current operation
Tab                           # File/directory completion

# File operations
@filename.js                   # Mention file in conversation
@directory/                    # Mention directory
Drag & drop                    # Add images/files to context
Clipboard paste                # Paste images directly

# Session commands
"exit" or Ctrl+C              # End session
/clear                         # Clear current conversation
/resume conversation-id        # Switch to different conversation

Installation and Setup

# Global installation via npm
npm install -g @anthropic-ai/claude-code

# Verify installation
claude --version
claude --help

# Start using in any project directory
cd /your/project
claude

# Alternative startup options
claude --print "single command"       # Non-interactive mode
claude --settings custom.json         # Custom settings
claude --add-dir additional/path      # Include additional directories
claude --mcp-config servers.json      # With MCP servers

Configuration

Claude Code behavior can be customized through:

  • Hook System: Custom validation and processing of tool executions
  • Custom Commands: User-defined workflows and specialized tasks
  • Project-specific Settings: Configuration stored in .claude/ directory
  • Global Settings: User-wide configuration in ~/.claude/settings.json
  • Environment Variables: Control behavior through environment variables
  • MCP Servers: Extend capabilities with Model Context Protocol servers
  • Output Styles: Customize response formatting and verbosity
  • Permission System: Fine-grained tool access control

Configuration Files

~/.claude/settings.json        # Global user settings
.claude/settings.json          # Project-specific settings  
CLAUDE.md                      # Project context and instructions
.mcp.json                      # MCP server configuration
~/.claude/commands/            # Custom slash commands

Error Handling

Claude Code handles various error scenarios:

  • Project Detection: Graceful handling when not in a project directory
  • Permission Issues: Clear error messages for file system permission problems
  • Tool Failures: Appropriate error reporting when underlying tools fail
  • Network Issues: Handling of API connectivity problems
  • Authentication Failures: Clear guidance on authentication setup
  • Configuration Errors: Validation and helpful error messages
  • MCP Server Issues: Server health monitoring and error reporting
  • Hook Failures: Graceful degradation when hooks fail
  • Rate Limiting: Automatic retry with backoff strategies

Error Recovery

# Diagnostic commands
/doctor                        # Run comprehensive diagnostics
/doctor --verbose              # Detailed diagnostic output
/doctor --fix-permissions      # Attempt to fix permission issues

# Recovery actions
/config --reset                # Reset to default configuration
claude --reset-auth            # Reset authentication
claude --clear-cache           # Clear cached data
/mcp --restart server-name     # Restart failed MCP server

Exit and Cleanup

# Exit Claude Code session
# Use Ctrl+C or type "exit" to end the session
# Claude Code will clean up any temporary resources

# Graceful shutdown
"exit"                         # Normal session termination
"quit"                         # Alternative exit command
Ctrl+C                         # Interrupt and exit
Ctrl+D                         # EOF signal (Unix/Linux)

# Session cleanup
# - Closes active MCP server connections
# - Saves conversation history
# - Releases file system resources
# - Clears temporary files and caches
# - Executes SessionEnd hooks if configured

Advanced Usage

Print Mode for Automation

# Single command execution
claude --print "Fix the bug in auth.js"

# JSON output for programmatic use
claude --print "Analyze code" --output-format=json

# Batch processing
for file in *.js; do
  claude --print "Review $file" > "review-$file.txt"
done

Integration with Development Tools

# Git hooks integration
#!/bin/bash
# pre-commit hook
claude --print "Review staged changes" --output-format=text

# CI/CD pipeline integration
claude --print "Generate PR description" --system-prompt-file ci-prompt.txt

# IDE integration
# VS Code extension provides seamless integration
# Real-time diff display and diagnostics