# Getting Started

> Every page below, concatenated. Each section gives the page title, its upstream source and its path in this repository.

---

## Example Plugin Settings File

Source: https://github.com/anthropics/claude-code/blob/main/plugins/plugin-dev/skills/plugin-settings/examples/example-settings.md
Path: 01-Getting-Started/claude-code-plugins-plugin-dev-skills-plugin-settings-examples-example-settings.md

# Example Plugin Settings File

## Template: Basic Configuration

**.claude/my-plugin.local.md:**

```markdown
---
enabled: true
mode: standard
---

# My Plugin Configuration

Plugin is active in standard mode.
```

## Template: Advanced Configuration

**.claude/my-plugin.local.md:**

```markdown
---
enabled: true
strict_mode: false
max_file_size: 1000000
allowed_extensions: [".js", ".ts", ".tsx"]
enable_logging: true
notification_level: info
retry_attempts: 3
timeout_seconds: 60
custom_path: "/path/to/data"
---

# My Plugin Advanced Configuration

This project uses custom plugin configuration with:
- Standard validation mode
- 1MB file size limit
- JavaScript/TypeScript files allowed
- Info-level logging
- 3 retry attempts

## Additional Notes

Contact @team-lead with questions about this configuration.
```

## Template: Agent State File

**.claude/multi-agent-swarm.local.md:**

```markdown
---
agent_name: database-implementation
task_number: 4.2
pr_number: 5678
coordinator_session: team-leader
enabled: true
dependencies: ["Task 3.5", "Task 4.1"]
additional_instructions: "Use PostgreSQL, not MySQL"
---

# Task Assignment: Database Schema Implementation

Implement the database schema for the new features module.

## Requirements

- Create migration files
- Add indexes for performance
- Write tests for constraints
- Document schema in README

## Success Criteria

- Migrations run successfully
- All tests pass
- PR created with CI green
- Schema documented

## Coordination

Depends on:
- Task 3.5: API endpoint definitions
- Task 4.1: Data model design

Report status to coordinator session 'team-leader'.
```

## Template: Feature Flag Pattern

**.claude/experimental-features.local.md:**

```markdown
---
enabled: true
features:
  - ai_suggestions
  - auto_formatting
  - advanced_refactoring
experimental_mode: false
---

# Experimental Features Configuration

Current enabled features:
- AI-powered code suggestions
- Automatic code formatting
- Advanced refactoring tools

Experimental mode is OFF (stable features only).
```

## Usage in Hooks

These templates can be read by hooks:

```bash
# Check if plugin is configured
if [[ ! -f ".claude/my-plugin.local.md" ]]; then
  exit 0  # Not configured, skip hook
fi

# Read settings
FRONTMATTER=$(sed -n '/^---$/,/^---$/{ /^---$/d; p; }' ".claude/my-plugin.local.md")
ENABLED=$(echo "$FRONTMATTER" | grep '^enabled:' | sed 's/enabled: *//')

# Apply settings
if [[ "$ENABLED" == "true" ]]; then
  # Hook is active
  # ...
fi
```

## Gitignore

Always add to project `.gitignore`:

```gitignore
# Plugin settings (user-local, not committed)
.claude/*.local.md
.claude/*.local.json
```

## Editing Settings

Users can edit settings files manually:

```bash
# Edit settings
vim .claude/my-plugin.local.md

# Changes take effect after restart
exit  # Exit Claude Code
claude  # Restart
```

Changes require Claude Code restart - hooks can't be hot-swapped.

---

## Financial analysis workflows with Claude · Claude Academy

Source: https://support.claude.com/en/articles/12220298-financial-analysis-workflows-with-claude
Path: 01-Getting-Started/financial-analysis-workflows-with-claude.md

# Financial analysis workflows with Claude

Learn complete financial analysis workflows using a three-phase approach: retrieving data, analyzing information, and creating professional deliverables.

20 minClaude.ai

[Open Claude](https://claude.ai/new)

This article demonstrates how to use Claude for complete financial analysis workflows, from data retrieval through final deliverables. Each workflow follows a three-phase approach: retrieving data from integrated sources, analyzing the information to generate insights, and creating professional outputs for decision-making.

## Understanding the Workflow Approach[](#understanding-the-workflow-approach)

### The Three-Phase Process[](#the-three-phase-process)

Effective financial analysis with Claude follows a structured approach that mirrors traditional analytical workflows. The process begins with data retrieval from integrated sources, moves through systematic analysis of that data, and concludes with creation of professional deliverables. This structure ensures completeness while maintaining flexibility for different analytical objectives.

1.  **Retrieve:** Pull data from integrated sources including Daloopa for SEC filings and fundamentals, and S&P Global for comprehensive market data. Using each provider's data may require a separate subscription or API key from that provider. The retrieval phase establishes the factual foundation for your analysis.
2.  **Analyze:** Process and interpret the retrieved data to identify trends, calculate metrics, and generate insights. This phase transforms raw data into actionable intelligence through calculations, comparisons, and pattern recognition.
3.  **Create:** Generate professional deliverables including investment memos, presentations, financial models, and interactive dashboards. The creation phase packages your analysis into formats suitable for decision-making and communication.

### Setting Up Your Workspace[](#setting-up-your-workspace)

Before beginning your workflow, establish a proper workspace to maintain context and organization:

- Create a project for your analysis
- Upload any reference documents such as previous analyses or style guides

For detailed project setup instructions, see What are projects? The examples that follow assume you have the necessary integrations enabled and have created a project workspace.

## Workflow 1: Single Company Investment Memo[](#workflow-1-single-company-investment-memo)

### Scenario Overview[](#scenario-overview)

This workflow demonstrates creating an investment memo for a potential equity investment using publicly available data. The example uses Microsoft as the target company, but the approach applies to any public company with sufficient data coverage. The final output is a concise investment memo suitable for investment committee review or initial screening documentation.

### Phase 1: Retrieve[](#phase-1-retrieve)

Begin by gathering comprehensive financial data from multiple sources. Start with fundamental data:

Using Daloopa, retrieve Microsoft's revenue, operating margins, and free cash flow for the last 12 quarters. Also pull segment revenue breakdowns for the same period.



Open in Claude

This retrieval provides the core financial metrics needed to assess operational performance and cash generation. The segment data reveals which business units drive growth and profitability. After retrieving fundamental data, gather valuation perspectives:

Using S&P Global data, identify Microsoft's main competitors from SEC filings and retrieve their revenue growth and operating margins for comparison. Also pull Microsoft's key business relationships including major customers and strategic partners.



Open in Claude

Combining data from multiple sources provides both quantitative metrics and competitive context. Daloopa supplies the raw financial data while S&P Global adds competitive positioning through peer comparisons and business relationship mapping.

### Phase 2: Analyze[](#phase-2-analyze)

With data retrieved, move to analysis that transforms raw numbers into insights:

Analyze the trends in Microsoft's cloud segment growth versus overall company growth. Calculate the free cash flow conversion rate and compare margins to the prior year. Also compare Microsoft's revenue growth and margins against the competitors we identified to assess relative performance. Identify any notable changes in segment mix and flag any customer concentration risks from the business relationships data.



Open in Claude

Claude processes the retrieved data to identify patterns and calculate key ratios. The analysis reveals whether cloud services are becoming a larger portion of the business, how efficiently the company converts earnings to cash, and whether profitability is improving or declining.

Consider requesting additional analytical perspectives based on initial findings. If the cloud segment shows accelerating growth, you might ask Claude to analyze whether competitors are experiencing similar trends. If margins are expanding, request a comparison to peer margins to determine if this is company-specific or industry-wide.

### Phase 3: Create[](#phase-3-create)

Transform your analysis into a professional investment memo:

Create a 2-page investment memo for Microsoft including: executive summary with investment recommendation, business overview with segment analysis, financial performance highlighting the trends we identified, valuation using fair value compared to current price, and key risks. Format as a Word document.



Open in Claude

The resulting memo synthesizes all previous analysis into a structured document.

This workflow produces a professional investment memo suitable for initial screening or committee review, created entirely from publicly available data through Claude's integrations.

## Workflow 2: Competitive Analysis Presentation[](#workflow-2-competitive-analysis-presentation)

### Scenario Overview[](#scenario-overview-2)

This workflow creates a presentation comparing companies within a sector to identify the most attractive investment opportunity. The example analyzes SaaS companies, but the methodology applies to any sector where comparable metrics exist. The output is a presentation suitable for investment committee discussions or client meetings.

### Phase 1: Retrieve[](#phase-1-retrieve-2)

Start by gathering comparable metrics across your peer group:

Using S&P Global, retrieve market cap, P/E ratios, revenue growth, and EBITDA margins for these 3 SaaS companies: CRM, NOW, and DOCU for the last fiscal year.



Open in Claude

This establishes the baseline comparison metrics. Market cap provides size context, P/E ratios show relative valuation, revenue growth indicates momentum, and EBITDA margins reveal operational efficiency. After establishing the snapshot view, gather trend data:

Also get their quarterly revenue for the last 8 quarters to analyze growth consistency.



Open in Claude

The quarterly data reveals whether growth is accelerating, decelerating, or remaining steady. This helps distinguish between companies with sustainable growth versus those experiencing temporary momentum.

### Phase 2: Analyze[](#phase-2-analyze-2)

Process the data to identify relative attractiveness:

Rank these companies by revenue growth and margin expansion. Calculate the PEG ratio for each. Identify which companies are gaining market share based on relative growth rates. Flag any companies with declining margins.



Open in Claude

### Phase 3: Create[](#phase-3-create-2)

Transform the comparative analysis into a presentation:

Create a PowerPoint presentation with 6 slides: title slide, market overview with sector growth, comparative metrics table ranking all the companies, growth trajectory charts showing quarterly revenue trends, valuation comparison with P/E and PEG ratios, and investment recommendation slide highlighting the most attractive opportunity.



Open in Claude



Note

PowerPoint creation currently has limitations with complex formatting and firm-specific templates. You may need to apply final formatting manually.

## Workflow 3: Portfolio Performance Review[](#workflow-3-portfolio-performance-review)

### Scenario Overview[](#scenario-overview-3)

This workflow analyzes an existing portfolio to create performance reporting for quarterly reviews. The example uses a concentrated technology portfolio, but the approach scales to any holdings where data is available. The output is an interactive dashboard suitable for internal review or client reporting.

### Phase 1: Retrieve[](#phase-1-retrieve-3)

Gather performance and fundamental data for all holdings:

Using FactSet, retrieve the following for my technology holdings (MSFT, AAPL): total returns for 1-month, 3-month, YTD and 1-year periods, current price and 52-week high/low, latest quarterly revenue and earnings with year-over-year growth rates, forward P/E ratios and consensus analyst ratings, and any recent earnings surprises. These holdings represent 60% of my portfolio with initial investments made in Q1 2024.



Open in Claude

This provides data spanning performance metrics, valuation multiples, fundamental growth indicators, and forward-looking analyst sentiment.

### Phase 2: Analyze[](#phase-2-analyze-3)

Perform portfolio-level and position-level analysis:

Calculate the weighted average portfolio return based on position sizes for each time period. Compare each holding's total return against the NASDAQ-100 index returns. Rank holdings by YTD performance and identify any laggards. Calculate which positions have beaten or missed earnings expectations in the last quarter. Assess relative valuation by comparing each stock's forward P/E to its 5-year average.



Open in Claude

This analysis provides multiple perspectives: weighted returns show overall portfolio performance across different time horizons, benchmark comparison reveals alpha generation, earnings surprise analysis indicates execution quality, and valuation assessment identifies potential rebalancing candidates.

### Phase 3: Create[](#phase-3-create-3)

Generate an interactive dashboard for the portfolio review:

Create an interactive artifact showing: portfolio summary with weighted returns for each period and performance versus benchmark, individual position cards showing total return, consensus rating, forward P/E, and recent earnings surprise, a waterfall chart showing each position's contribution to total portfolio return, and a scatter plot comparing YTD returns against forward P/E ratios to identify value opportunities. Include drill-down capability for each holding to see detailed performance metrics.



Open in Claude

[Artifacts can be shared(opens in new tab)](../15-Claude-AI-Features/discovering-publishing-customizing-and-sharing-artifacts.md#h_264285dcf3) with other members of your organization. The interactive nature allows stakeholders to explore the data without requiring multiple static reports.

## Next Steps[](#next-steps)

- Review integration guides to understand data availability for your specific use cases.
- See [Prompting Strategies for Financial Analysis(opens in new tab)](../15-Claude-AI-Features/prompting-strategies-for-financial-analysis.md) for techniques to optimize your workflows.
- Test workflows with smaller datasets before scaling to full analyses.
- Save successful prompt sequences as templates for recurring analyses.

- [Understanding the Workflow Approach](#understanding-the-workflow-approach)
- [Workflow 1: Single Company Investment Memo](#workflow-1-single-company-investment-memo)
- [Workflow 2: Competitive Analysis Presentation](#workflow-2-competitive-analysis-presentation)
- [Workflow 3: Portfolio Performance Review](#workflow-3-portfolio-performance-review)

---

## Get started with Claude - Claude Platform Docs

Source: https://platform.claude.com/docs/en/get-started
Path: 01-Getting-Started/get-started.md

- [Managed Agents](../04-API-Reference/Other/managed-agents-overview.md)

- [Admin](../04-API-Reference/Other/manage-claude-admin-api.md)

- Resources
  - [Best practices](../04-API-Reference/About/about-claude-use-case-guides-overview.md)
  - [Models & pricing](../20-Models/about-claude-models-overview.md)
  - [CLI, SDKs, and libraries](../04-API-Reference/Other/cli-sdks-libraries-overview.md)
  - [Claude API skill](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-claude-api-skill.md)
  - [Release notes](../20-Models/release-notes-overview.md)

[API reference](../04-API-Reference/Endpoints/overview.md)




[Console](../04-API-Reference/Other/usage-limits.md)[Log in](https://platform.claude.com/login?returnTo=%2Fdocs%2Fen%2Fget-started)





SearchCtrlK

First steps

[Intro to Claude](intro.md)[Get your API key](../04-API-Reference/Other/get-api-key.md)[Quickstart](get-started.md)[Authentication](../04-API-Reference/Other/manage-claude-authentication.md)

Building with Claude

[Features overview](../04-API-Reference/Guides/build-with-claude-overview.md)[Using the Messages API](../04-API-Reference/Guides/build-with-claude-working-with-messages.md)[Stop reasons and fallback](../04-API-Reference/Guides/build-with-claude-handling-stop-reasons.md)[Refusals and fallback](../04-API-Reference/Guides/build-with-claude-refusals-and-fallback.md)[Fallback credit](../04-API-Reference/Guides/build-with-claude-fallback-credit.md)

Model capabilities

[Effort](../04-API-Reference/Guides/build-with-claude-effort.md)[Task budgets (beta)](../04-API-Reference/Guides/build-with-claude-task-budgets.md)[Fast mode (research preview)](../04-API-Reference/Guides/build-with-claude-fast-mode.md)[Structured outputs](../04-API-Reference/Guides/build-with-claude-structured-outputs.md)[Citations](../04-API-Reference/Guides/build-with-claude-citations.md)[Streaming Messages](../04-API-Reference/Guides/build-with-claude-streaming.md)[Batch processing](../04-API-Reference/Guides/build-with-claude-batch-processing.md)[Search results](../04-API-Reference/Guides/build-with-claude-search-results.md)[Streaming refusals](../04-API-Reference/Test-Evaluate/test-and-evaluate-strengthen-guardrails-handle-streaming-refusals.md)[Multilingual support](../04-API-Reference/Guides/build-with-claude-multilingual-support.md)[Embeddings](../04-API-Reference/Guides/build-with-claude-embeddings.md)

[Thinking](../04-API-Reference/Guides/build-with-claude-thinking.md)

Tools

[Overview](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-overview.md)[How tool use works](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-how-tool-use-works.md)[Tutorial: Build a tool-using agent](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-build-a-tool-using-agent.md)[Define tools](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-implement-tool-use.md)[Handle tool calls](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-handle-tool-calls.md)[Parallel tool use](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-parallel-tool-use.md)[Tool Runner (SDK)](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-runner.md)[Strict tool use](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-strict-tool-use.md)[Server tools](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-server-tools.md)[Web search tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-web-search-tool.md)[Web fetch tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-web-fetch-tool.md)[Code execution tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-code-execution-tool.md)[Advisor tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-advisor-tool.md)[Tool search tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-search-tool.md)[Memory tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-memory-tool.md)[Bash tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-bash-tool.md)[Text editor tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-text-editor-tool.md)[Computer use tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-computer-use-tool.md)[Browser use tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-browser-use-tool.md)[Troubleshooting](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-troubleshooting-tool-use.md)

Tool infrastructure

[Tool reference](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-reference.md)[Manage tool context](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-manage-tool-context.md)[Tool combinations](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-combinations.md)[Tool use with prompt caching](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-use-with-prompt-caching.md)[Programmatic tool calling](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-programmatic-tool-calling.md)[Fine-grained tool streaming](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-fine-grained-tool-streaming.md)

Context management

[Context windows](../04-API-Reference/Guides/build-with-claude-context-windows.md)[Context editing](../04-API-Reference/Guides/build-with-claude-context-editing.md)[Prompt caching](../04-API-Reference/Guides/build-with-claude-prompt-caching.md)[Mid-conversation system messages and tool changes](../04-API-Reference/Guides/build-with-claude-mid-conversation-system-messages.md)[Build an orchestration mode](../04-API-Reference/Guides/build-with-claude-mid-conversation-effort-example.md)[Cache diagnostics](../04-API-Reference/Guides/build-with-claude-cache-diagnostics.md)[Token counting](../04-API-Reference/Guides/build-with-claude-token-counting.md)

[Compaction](../04-API-Reference/Guides/build-with-claude-compaction.md)

Working with files

[Files API](../04-API-Reference/Guides/build-with-claude-files.md)[PDF support](../04-API-Reference/Guides/build-with-claude-pdf-support.md)

[Images and vision](../04-API-Reference/Guides/build-with-claude-vision.md)

Skills

[Overview](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-overview.md)[Quickstart](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-quickstart.md)[Best practices](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-best-practices.md)[Skills for enterprise](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-enterprise.md)[Skills in the API](../04-API-Reference/Guides/build-with-claude-skills-guide.md)

MCP

[Remote MCP servers](../04-API-Reference/Agents-Tools/agents-and-tools-remote-mcp-servers.md)[MCP connector](../04-API-Reference/Agents-Tools/agents-and-tools-mcp-connector.md)

[MCP tunnels](../04-API-Reference/Agents-Tools/agents-and-tools-mcp-tunnels-overview.md)

Claude on cloud platforms

[Amazon Bedrock (Opus 4.7 and later)](../04-API-Reference/Guides/build-with-claude-claude-in-amazon-bedrock.md)[Amazon Bedrock (Opus 4.6 and earlier)](../04-API-Reference/Guides/build-with-claude-claude-on-amazon-bedrock-legacy.md)[Claude Platform on AWS](../04-API-Reference/Guides/build-with-claude-claude-platform-on-aws.md)[Google Cloud](../04-API-Reference/Guides/build-with-claude-claude-on-vertex-ai.md)[Microsoft Foundry](../04-API-Reference/Guides/build-with-claude-claude-in-microsoft-foundry.md)

[Console](../04-API-Reference/Other/usage-limits.md)

[Messages](intro.md)First steps

# Get started with Claude

Copy page



Make your first API call to Claude and build a simple web search assistant.

Copy page



## Prerequisites

- A [Claude Console account](../04-API-Reference/Other/usage-limits.md)
- An [API key](../04-API-Reference/Other/get-api-key.md)

## Call the API

cURL

CLI

Python

TypeScript

C#

Go

Java

PHP

Ruby

1.  1

    ### Set your API key

    Export your API key as an environment variable. The SDK reads `ANTHROPIC_API_KEY` automatically.

    ``` shiki
    export ANTHROPIC_API_KEY="your-api-key-here"
    ```

    

2.  2

    ### Create a project and install the SDK

    ``` shiki
    mkdir claude-quickstart && cd claude-quickstart
    python3 -m venv .venv && source .venv/bin/activate
    pip install anthropic
    ```

    

3.  3

    ### Create your code

    Create a file called `quickstart.py`:

    Python

    

    ``` shiki
    import anthropic

    client = anthropic.Anthropic()

    message = client.messages.create(
        model="claude-opus-5-5",
        max_tokens=1000,
        messages=[
            {
                "role": "user",
                "content": "What should I search for to find the latest developments in renewable energy?",
            }
        ],
    )

    for block in message.content:
        if block.type == "text":
            print(block.text)
    ```

4.  4

    ### Run your code

    ``` shiki
    python quickstart.py
    ```

    

    Output

    

    ``` block
    Here are some effective search strategies to find the latest developments in renewable energy:

    ## General Search Terms
    - "Renewable energy news 2025"
    - ...
    ```

## Next steps

You made your first API call. Next, learn the Messages API patterns you'll use in every Claude integration.



[Working with the Messages API](../04-API-Reference/Guides/build-with-claude-working-with-messages.md)

Learn multi-turn conversations, system prompts, stop reasons, and other core patterns.

Once you're comfortable with the basics, explore further:



[Models overview](../20-Models/about-claude-models-overview.md)

Compare Claude models by capability and cost.



[Features overview](../04-API-Reference/Guides/build-with-claude-overview.md)

Browse all Claude capabilities: tools, context management, structured outputs, and more.



[Client SDKs](../04-API-Reference/Other/cli-sdks-libraries-overview.md)

Reference documentation for Python, TypeScript, C#, and other client libraries.



[Authentication](../04-API-Reference/Other/manage-claude-authentication.md)

Compare API keys and Workload Identity Federation, and set key expiration.

---

## Getting Started with Claude for Life Sciences · Claude Academy

Source: https://support.claude.com/en/articles/12614768-getting-started-with-claude-for-life-sciences
Path: 01-Getting-Started/getting-started-with-claude-for-life-sciences.md

# Getting Started with Claude for Life Sciences

Learn what Claude for Life Sciences offers and how to access the connectors and tools that support research, clinical operations, and regulatory workflows.

4 minClaude.ai

[Open Claude](https://claude.ai/new)

## What is Claude for Life Sciences[](#what-is-claude-for-life-sciences)

Claude for Life Sciences enhances Claude with specialized capabilities for life sciences researchers and organizations. It connects Claude to the data sources, tools, and systems that teams use daily across R&D, clinical operations, and regulatory affairs — eliminating the need to toggle between platforms and enabling insights that span your entire product lifecycle. The result: accelerated timelines from discovery through approval, with the rigor and traceability these workflows demand.

## How do I access life sciences tools and features?[](#how-do-i-access-life-sciences-tools-and-features)

Individuals can access Claude for Life Sciences features and tools from a [Claude Pro(opens in new tab)](../17-Billing-Plans/pricing.md) or [Claude Max(opens in new tab)](../17-Billing-Plans/pricing.md) account, and teams can access through [Claude for Work(opens in new tab)](https://www.claude.com/pricing/team). For questions about Claude for Life Sciences for enterprise contact our [Sales team(opens in new tab)](https://claude.com/contact-sales/life-sciences).

## **Connectors for the life sciences development cycle**[](#connectors-for-the-life-sciences-development-cycle)

Through Model Context Protocol (MCP) [connectors(opens in new tab)](../14-Connectors/use-connectors-to-extend-claude-s-capabilities.md) and [desktop extensions(opens in new tab)](../16-Mobile-Desktop/getting-started-with-local-mcp-servers-on-claude-desktop.md), Claude connects directly to leading platforms and databases, enabling you to query data using natural language and receive responses with source citations.

**Scientific research & discovery**

- [**Benchling**(opens in new tab)](https://support.claude.com/tutorials/using-the-benchling-connector-in-claude) connects Claude to Benchling R&D platform data, enabling scientists to ask questions and receive clear summaries with links back to source experiments, notebooks, and structured records—all while maintaining existing access permissions.
- [**10x Genomics**(opens in new tab)](https://support.claude.com/tutorials/using-the-10x-genomics-extension-in-claude)**\*** transforms single cell and spatial analysis into a simple, conversational workflow. Biologists can easily analyze their own sequencing data, while core labs can quickly perform batch processing.
- [**PubMed**(opens in new tab)](https://support.claude.com/tutorials/using-the-pubmed-connector-in-claude) provides access to millions of biomedical research articles and clinical studies, allowing Claude to access abstracts and full papers to clarify experimental approaches, identify key findings, determine novelty and applicability, and surface specific papers for deeper exploration
- [**Synapse.org**(opens in new tab)](https://support.claude.com/tutorials/using-the-synapse-org-connector-in-claude) allows researchers to discover biomedical data across all of Synapse, see the structure of projects, and retrieve information on their data assets for authorized users.
- [**BioRender**(opens in new tab)](https://support.claude.com/tutorials/using-the-biorender-connector-in-claude) searches BioRender's extensive scientific figure template and icon collection for relevant content to create figures faster.
- [**Scholar Gateway by Wiley**(opens in new tab)](https://support.claude.com/tutorials/using-the-scholar-gateway-connector-in-claude) provides authenticated access to the most relevant snippets of scientific research papers to utilize within Claude.
- [**bioRxiv / medRxiv**(opens in new tab)](https://support.claude.com/tutorials/using-the-biorxiv-and-medrxiv-connector-in-claude) gives Claude access to bioRxiv and medRxiv preprint servers, enabling researchers to search, retrieve, and analyze non-peer-reviewed scientific manuscripts in biological and health sciences before formal journal publication.
- [**ChEMBL**(opens in new tab)](https://support.claude.com/tutorials/using-the-chembl-connector-in-claude) gives Claude access to a manually curated repository of bioactive molecules with drug-like properties, their biological targets, and quantitative activity measurements.
- [**ToolUniverse**(opens in new tab)](https://support.claude.com/tutorials/using-the-tooluniverse-extension-in-claude)**\*** gives Claude access to a library of 600+ vetted scientific tools to explore large hypothesis spaces, compare competing hypotheses, and iterate through fast-to-slow cycles of analysis.
- [**Owkin**(opens in new tab)](https://support.claude.com/tutorials/using-the-owkin-connector-in-claude) powers Pathology Explorer, an Owkin AI agent that transforms H&E pathology slides into queryable insights for drug discovery and development and clinical research.
- [**Open Targets**(opens in new tab)](https://support.claude.com/tutorials/using-the-open-targets-connector-in-claude) gives Claude access to the Open Targets Platform for identifying and prioritizing therapeutic drug targets based on disease associations.

**Clinical operations & regulatory**

- [**Medidata**(opens in new tab)](https://support.claude.com/tutorials/using-the-medidata-connector-in-claude), a leader in clinical trial solutions, provides the ability to connect Claude to their Medidata platform data
- [**ClinicalTrials.gov**(opens in new tab)](https://support.claude.com/tutorials/using-the-clinicaltrials-gov-connector-in-claude) gives Claude access to the NIH/NLM registry of 500,000+ clinical studies to search trials, analyze endpoints, and support research operations.

*\*Available as Desktop Extensions for access on Claude Desktop App ([download here(opens in new tab)](https://claude.ai/download)).*

Claude also includes Connectors to other workplace and productivity platforms like **Microsoft 365**, **Gmail & Google Drive**, **Box**, **Databricks**, **Slack**, and many more. Explore all available Claude Connectors [here(opens in new tab)](../04-API-Reference/Other/partners-mcp.md).

You can also add custom connectors to connect Claude directly to the tools and data sources that matter most to your workflows. Learn more about setting up custom connectors [here(opens in new tab)](../14-Connectors/getting-started-with-custom-integrations-using-remote-mcp.md).

## Common research & discovery use cases[](#common-research-discovery-use-cases)

- **Advanced data analysis and hypothesis generation:** Synthesize multi-source data to accelerate discovery cycles from weeks to hours.
- **Literature synthesis with citations:** Access abstracts and full papers to clarify experimental approaches, identify key findings, determine novelty and applicability, and surface specific papers for deeper exploration.
- **Protocol optimization:** Generate optimized protocols by synthesizing literature, successful existing protocols, and experimental best practices.
- **Single-cell data processing:** Synthesize days of bioinformatics and computational analysis in minutes with automated cell population identification. Check out the [single-cell-rna-qc skill(opens in new tab)](../02-Claude-Code-CLI/how-to-use-the-single-cell-rna-qc-skill-with-claude.md) which gives Claude the ability to perform quality control on single-cell RNA-seq data using scverse best practices.
- **Experimental design automation:** Generate literature-informed experimental designs automatically.
- **Figure interpretation and analysis:** Accelerate figure creation and analysis with automated visualization.

- [What is Claude for Life Sciences](#what-is-claude-for-life-sciences)
- [How do I access life sciences tools and features?](#how-do-i-access-life-sciences-tools-and-features)
- [Connectors for the life sciences development cycle](#connectors-for-the-life-sciences-development-cycle)
- [Common research & discovery use cases](#common-research-discovery-use-cases)

---

## Getting started with Claude for nonprofits · Claude Academy

Source: https://support.claude.com/en/articles/12893767-getting-started-with-claude-for-nonprofits
Path: 01-Getting-Started/getting-started-with-claude-for-nonprofits.md

# Getting started with Claude for nonprofits

Learn how to access Claude's nonprofit pricing, connect to fundraising and donor management tools, and get your team started.

3 minClaude.ai

[Open Claude](https://claude.ai/new)

Claude for nonprofits enhances mission-driven organizations with specialized capabilities, connecting to donor management platforms, foundation research databases, and collaboration tools while maintaining transparency and accountability. Learn more on the [nonprofit solutions page(opens in new tab)](../18-Industry-UseCases/nonprofits.md).

## How to access nonprofit tools and features[](#how-to-access-nonprofit-tools-and-features)

Claude for nonprofits is available on two plans:

- **Team plan:** \$8/user/month
- **Enterprise plan:** \$10/user/month

Both plans include access to the same models as our standard Team and Enterprise plans, with a minimum of 2 seats for teams under 150.

To get started, verify your nonprofit status through our partner Goodstack by completing [this short form(opens in new tab)](https://validate.poweredbypercent.com/anthropic). The verification process takes 2–3 minutes for Team plans. For Enterprise pricing, [contact our sales team(opens in new tab)](https://claude.com/contact-sales/nonprofits).

## Nonprofit operations and fundraising connectors[](#nonprofit-operations-and-fundraising-connectors)

Claude connects to three nonprofit-specific connectors through the Model Context Protocol (MCP):

- [**Benevity**(opens in new tab)](https://benevity.com/)**:** Access a database of 2.4M+ validated nonprofits for cause discovery and research
- [**Blackbaud**(opens in new tab)](https://www.blackbaud.com/)**:** Connect to Raiser's Edge NXT for donor records, gift history, events, and personalized communications
- [**Candid**(opens in new tab)](https://candid.org/)**:** Search 1.9M+ nonprofits and foundations with detailed profiles, financials, and grant data

Additional connectors include Microsoft 365, Gmail, Google Drive, Asana, Slack, and HubSpot. Browse all available connectors in the [connector directory(opens in new tab)](../04-API-Reference/Other/partners-mcp.md).

## AI fluency for nonprofits[](#ai-fluency-for-nonprofits)

The [AI fluency for nonprofits course(opens in new tab)](https://support.claude.com/courses/ai-fluency-for-nonprofits) covers responsible AI adoption, practical use examples, and organizational implementation guidance. Includes a shareable completion badge.

## Common nonprofit use cases[](#common-nonprofit-use-cases)

Explore the [use case library(opens in new tab)](https://support.claude.com/all?kind=use-case) for inspiration, including:

- Program design and evaluation
- AI policy templates for your organization
- Data visualization and reporting
- Grant writing and donor communications
- Research and landscape analysis

## Frequently asked questions[](#frequently-asked-questions)

#### Who is eligible?

501(c)(3) organizations, K–12 schools, and qualifying healthcare organizations.

#### Who is not eligible?

Government agencies, political campaigns, higher education institutions, and healthcare systems.

#### How does validation work?

We partner with [Goodstack(opens in new tab)](https://validate.poweredbypercent.com/anthropic) for nonprofit verification. Team plan validation takes 2–3 minutes. If you have issues with verification, [contact Goodstack(opens in new tab)](https://help.goodstack.org/).

#### How long does the discount last?

The nonprofit discount remains active as long as your organization maintains its nonprofit status.

#### What if I already have a full-priced account?

Go to [Admin settings \> Billing(opens in new tab)](https://claude.ai/admin-settings/billing) to update your plan, or [reach out to our support team(opens in new tab)](../21-Account-Support/how-can-i-contact-support.md).

#### Is my data used for training?

*Note: By default, Anthropic does not use data from Team or Enterprise accounts to train models.* Learn more at our [Privacy Center(opens in new tab)](https://privacy.claude.com/en/collections/10672411-data-handling-retention) and [Trust Center(opens in new tab)](https://trust.anthropic.com/).

#### Can I get a tax exemption?

Submit your tax exemption certificate through [support(opens in new tab)](../21-Account-Support/how-can-i-contact-support.md) to receive a refund and apply the exemption to future invoices.

#### What about organizations with fewer than five employees?

Individual users can access Claude Pro at \$20/month. Explore the [AI fluency for nonprofits course(opens in new tab)](https://support.claude.com/courses/ai-fluency-for-nonprofits) and the [use case library(opens in new tab)](https://support.claude.com/all?kind=use-case) to get started.

#### What support and training is available?

Visit the [use case library(opens in new tab)](https://support.claude.com/all?kind=use-case) and [help center(opens in new tab)](https://support.claude.com/en/) for resources and guidance.

## Troubleshooting[](#troubleshooting)

- **Discount link not working:** Clear your browser cache and try again in an incognito window. If the issue persists, [contact support(opens in new tab)](../21-Account-Support/how-can-i-contact-support.md).
- **Team plan option greyed out:** Make sure you're signed in to the correct account and have admin permissions
- **Email domain questions:** All team members don't need the same domain. Learn about [allowed email domains(opens in new tab)](../21-Account-Support/account-management-faqs.md#h_b54c41c86c).
- **Connecting tools:** Learn how to [browse and connect tools from the directory(opens in new tab)](../14-Connectors/browse-skills-connectors-and-plugins-in-one-directory.md).

- [How to access nonprofit tools and features](#how-to-access-nonprofit-tools-and-features)
- [Nonprofit operations and fundraising connectors](#nonprofit-operations-and-fundraising-connectors)
- [AI fluency for nonprofits](#ai-fluency-for-nonprofits)
- [Common nonprofit use cases](#common-nonprofit-use-cases)
- [Frequently asked questions](#frequently-asked-questions)
- [Troubleshooting](#troubleshooting)

---

## Get started with Claude | Claude Help Center

Source: https://support.claude.com/en/articles/8114491-getting-started-with-claude
Path: 01-Getting-Started/getting-started-with-claude.md

# Get started with Claude



## What is Claude?

Claude is a large language model (LLM) built by Anthropic. It's trained to be a helpful, honest, and harmless assistant with a conversational tone.

## How to access Claude

You can access Claude through several platforms:

- **Web**: Visit **[claude.ai](https://claude.ai/)** to chat with Claude in a web browser.

- **Desktop**: **[Download Claude Desktop](https://claude.ai/download)** for Mac or Windows.

- **Mobile**: Download Claude for iOS or Android to chat on your mobile device.

## Supported locations

You must be in one of our **[supported locations](../21-Account-Support/where-can-i-access-claude-ai.md)** to access Claude.

## Is there an age requirement to use Claude?

You must be at least 18 years old to use our services.

## How to talk to Claude

### What is a prompt?

You use **prompts** to communicate with Claude. The best approach is to speak to Claude like you would a coworker or friend - naturally and conversationally. Your prompts can range from simple questions to complex requests:

- **Simple questions**: "How do I hang a picture frame in my room?"

- **Complex requests**: Multi-step projects, analysis, creative writing, coding, or technical tasks.

### Use the Claude chat interface

Type your prompt into the chat interface and click the submit button to start a conversation with Claude. You can click the "+" button in the lower left or type "/" to view additional options and commands:


------------------------------------------------------------------------

## Understanding Claude's capabilities

### Which model am I talking to?

The model you're currently chatting with is displayed either below your text input (on web and desktop) or at the top of your screen (on mobile). You can click on the model you're using to open the model selector and switch to another available model.

You can also choose how much effort Claude puts into each response and whether it uses extended thinking. Learn more about **[changing the model, effort, and thinking settings](../15-Claude-AI-Features/how-can-i-change-the-model-version-that-i-m-chatting-with.md)**.

### Can I chat with Claude in different languages?

Claude has extensive training in English and performs well in many other common languages. It also has some ability to communicate in less common languages and has extensive knowledge of programming languages.

For instructions to select a language in your settings, see **[How to use Claude in your preferred language](../22-Safety-Policy/how-to-use-claude-in-your-preferred-language.md).**

### Are there any usage limits or limits on chat length?

While using the free Claude plan, there is a session-based usage limit that will reset every five hours. Also, the number of messages you can send will vary based on demand, and we may impose other types of usage limits to ensure fair access to all users. Claude will notify you when you’ve reached your limit, or if your prompt exceeds the available context window.

For more information about usage and length limits, refer to **[How do usage and length limits work?](../22-Safety-Policy/understanding-usage-and-length-limits.md)**

### How do I increase my usage limits?

We also have several paid subscriptions that offer additional usage. For more information, refer to our **[Plans & Pricing page](../17-Billing-Plans/pricing.md)**.

### Can I import my conversation history from another AI provider?

No, it's not possible to import conversation history from another AI provider into Claude at this time. However, Free, Pro, and Max users can use the memory import feature to transfer memory from other AI providers into Claude. For more information, see **[Import and export your memory from Claude](../15-Claude-AI-Features/importing-and-exporting-your-memory-from-claude.md)**.

------------------------------------------------------------------------

## Tips for getting started

1.  **Start simple**: Begin with straightforward questions to get familiar with how Claude responds.

2.  **Be specific**: The more specific your request, the better Claude can assist you.

3.  **Iterate**: Don't hesitate to refine your prompts or ask follow-up questions.

4.  **Explore**: Try different types of tasks - from having Claude answer basic questions to using it as a collaboration partner for more involved projects.

------------------------------------------------------------------------

## Next steps

Once you've started using Claude, you can:

- **[Customize your appearance settings](../15-Claude-AI-Features/customizing-your-appearance-settings.md)**

- **[Explore Claude’s personalization features](../15-Claude-AI-Features/understanding-claude-s-personalization-features.md)**

- Learn more about designing effective prompts in our **[prompt engineering documentation](../10-Prompting-Guides/build-with-claude-prompt-engineering-overview.md)**.

- For additional features and more usage, consider **[upgrading to a paid plan](../17-Billing-Plans/pricing.md)**.

---

## Intro to Claude - Claude Platform Docs

Source: https://platform.claude.com/docs/en/intro
Path: 01-Getting-Started/intro.md

- [Managed Agents](../04-API-Reference/Other/managed-agents-overview.md)

- [Admin](../04-API-Reference/Other/manage-claude-admin-api.md)

- Resources
  - [Best practices](../04-API-Reference/About/about-claude-use-case-guides-overview.md)
  - [Models & pricing](../20-Models/about-claude-models-overview.md)
  - [CLI, SDKs, and libraries](../04-API-Reference/Other/cli-sdks-libraries-overview.md)
  - [Claude API skill](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-claude-api-skill.md)
  - [Release notes](../20-Models/release-notes-overview.md)

[API reference](../04-API-Reference/Endpoints/overview.md)




[Console](../04-API-Reference/Other/usage-limits.md)[Log in](https://platform.claude.com/login?returnTo=%2Fdocs%2Fen%2Fintro)





SearchCtrlK

First steps

[Intro to Claude](intro.md)[Get your API key](../04-API-Reference/Other/get-api-key.md)[Quickstart](get-started.md)[Authentication](../04-API-Reference/Other/manage-claude-authentication.md)

Building with Claude

[Features overview](../04-API-Reference/Guides/build-with-claude-overview.md)[Using the Messages API](../04-API-Reference/Guides/build-with-claude-working-with-messages.md)[Stop reasons and fallback](../04-API-Reference/Guides/build-with-claude-handling-stop-reasons.md)[Refusals and fallback](../04-API-Reference/Guides/build-with-claude-refusals-and-fallback.md)[Fallback credit](../04-API-Reference/Guides/build-with-claude-fallback-credit.md)

Model capabilities

[Effort](../04-API-Reference/Guides/build-with-claude-effort.md)[Task budgets (beta)](../04-API-Reference/Guides/build-with-claude-task-budgets.md)[Fast mode (research preview)](../04-API-Reference/Guides/build-with-claude-fast-mode.md)[Structured outputs](../04-API-Reference/Guides/build-with-claude-structured-outputs.md)[Citations](../04-API-Reference/Guides/build-with-claude-citations.md)[Streaming Messages](../04-API-Reference/Guides/build-with-claude-streaming.md)[Batch processing](../04-API-Reference/Guides/build-with-claude-batch-processing.md)[Search results](../04-API-Reference/Guides/build-with-claude-search-results.md)[Streaming refusals](../04-API-Reference/Test-Evaluate/test-and-evaluate-strengthen-guardrails-handle-streaming-refusals.md)[Multilingual support](../04-API-Reference/Guides/build-with-claude-multilingual-support.md)[Embeddings](../04-API-Reference/Guides/build-with-claude-embeddings.md)

[Thinking](../04-API-Reference/Guides/build-with-claude-thinking.md)

Tools

[Overview](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-overview.md)[How tool use works](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-how-tool-use-works.md)[Tutorial: Build a tool-using agent](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-build-a-tool-using-agent.md)[Define tools](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-implement-tool-use.md)[Handle tool calls](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-handle-tool-calls.md)[Parallel tool use](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-parallel-tool-use.md)[Tool Runner (SDK)](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-runner.md)[Strict tool use](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-strict-tool-use.md)[Server tools](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-server-tools.md)[Web search tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-web-search-tool.md)[Web fetch tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-web-fetch-tool.md)[Code execution tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-code-execution-tool.md)[Advisor tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-advisor-tool.md)[Tool search tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-search-tool.md)[Memory tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-memory-tool.md)[Bash tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-bash-tool.md)[Text editor tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-text-editor-tool.md)[Computer use tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-computer-use-tool.md)[Browser use tool](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-browser-use-tool.md)[Troubleshooting](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-troubleshooting-tool-use.md)

Tool infrastructure

[Tool reference](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-reference.md)[Manage tool context](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-manage-tool-context.md)[Tool combinations](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-combinations.md)[Tool use with prompt caching](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-tool-use-with-prompt-caching.md)[Programmatic tool calling](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-programmatic-tool-calling.md)[Fine-grained tool streaming](../04-API-Reference/Agents-Tools/agents-and-tools-tool-use-fine-grained-tool-streaming.md)

Context management

[Context windows](../04-API-Reference/Guides/build-with-claude-context-windows.md)[Context editing](../04-API-Reference/Guides/build-with-claude-context-editing.md)[Prompt caching](../04-API-Reference/Guides/build-with-claude-prompt-caching.md)[Mid-conversation system messages and tool changes](../04-API-Reference/Guides/build-with-claude-mid-conversation-system-messages.md)[Build an orchestration mode](../04-API-Reference/Guides/build-with-claude-mid-conversation-effort-example.md)[Cache diagnostics](../04-API-Reference/Guides/build-with-claude-cache-diagnostics.md)[Token counting](../04-API-Reference/Guides/build-with-claude-token-counting.md)

[Compaction](../04-API-Reference/Guides/build-with-claude-compaction.md)

Working with files

[Files API](../04-API-Reference/Guides/build-with-claude-files.md)[PDF support](../04-API-Reference/Guides/build-with-claude-pdf-support.md)

[Images and vision](../04-API-Reference/Guides/build-with-claude-vision.md)

Skills

[Overview](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-overview.md)[Quickstart](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-quickstart.md)[Best practices](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-best-practices.md)[Skills for enterprise](../04-API-Reference/Agents-Tools/agents-and-tools-agent-skills-enterprise.md)[Skills in the API](../04-API-Reference/Guides/build-with-claude-skills-guide.md)

MCP

[Remote MCP servers](../04-API-Reference/Agents-Tools/agents-and-tools-remote-mcp-servers.md)[MCP connector](../04-API-Reference/Agents-Tools/agents-and-tools-mcp-connector.md)

[MCP tunnels](../04-API-Reference/Agents-Tools/agents-and-tools-mcp-tunnels-overview.md)

Claude on cloud platforms

[Amazon Bedrock (Opus 4.7 and later)](../04-API-Reference/Guides/build-with-claude-claude-in-amazon-bedrock.md)[Amazon Bedrock (Opus 4.6 and earlier)](../04-API-Reference/Guides/build-with-claude-claude-on-amazon-bedrock-legacy.md)[Claude Platform on AWS](../04-API-Reference/Guides/build-with-claude-claude-platform-on-aws.md)[Google Cloud](../04-API-Reference/Guides/build-with-claude-claude-on-vertex-ai.md)[Microsoft Foundry](../04-API-Reference/Guides/build-with-claude-claude-in-microsoft-foundry.md)

[Console](../04-API-Reference/Other/usage-limits.md)

MessagesFirst steps

# Intro to Claude

Copy page



Claude is a highly performant, trustworthy, and intelligent AI platform built by Anthropic. Claude excels at tasks involving language, reasoning, analysis, coding, and more.

Copy page





Looking to chat with Claude? Visit [claude.ai](https://claude.ai).

Anthropic offers two ways to build with Claude, each suited to different use cases:

|                | Messages API                                | Claude Managed Agents                                                     |
|----------------|---------------------------------------------|---------------------------------------------------------------------------|
| **What it is** | Direct model prompting access               | Pre-built, configurable agent harness that runs in managed infrastructure |
| **Best for**   | Custom agent loops and fine-grained control | Long-running tasks and asynchronous work                                  |

To learn more about each, see [Using the Messages API](../04-API-Reference/Guides/build-with-claude-working-with-messages.md) and the [Claude Managed Agents overview](../04-API-Reference/Other/managed-agents-overview.md).

## Explore the latest generation of Claude models

If you're unsure which model to use, start with [Claude Opus 5.5](../20-Models/models-opus-5-5-overview.md) for most workloads. Use [Claude Fable 5.1](../20-Models/models-fable-5-1-overview.md) for demanding reasoning and long-horizon agentic work, or when your evals on Claude Opus 5.5 at higher effort still fall short. All current models support text and image input, text output, multilingual capabilities, vision, and tool use. Each model's page lists the platforms it's available on.

### [Fable 5.1](../20-Models/models-fable-5-1-overview.md)

New

Most capableResearchMulti-day tasks

For demanding reasoning and long-horizon agentic work

### [Opus 5.5](../20-Models/models-opus-5-5-overview.md)

New

Complex projectsAgentsCoding

For long-running agentic coding and knowledge work

### [Sonnet 5](../20-Models/models-sonnet-5-overview.md)

Everyday tasksWritingCost-efficient

The best combination of speed and intelligence

### [Haiku 4.5](../20-Models/models-haiku-4-5-overview.md)

FastestLowest costHigh volume

The fastest model with near-frontier intelligence

[Compare models](../20-Models/about-claude-models-overview.md)

------------------------------------------------------------------------

## Recommended path for new developers

Follow these steps to go from zero to a working Claude integration.

1.  1

    ### Make your first API call

    Set up your environment, install an SDK, and send your first message to Claude.

    [Go to the quickstart](get-started.md)

2.  2

    ### Secure your credentials

    Set an expiration when you create your API key. Keep the key out of source control, client-side code, and prompts. Check whether your workload can use Workload Identity Federation instead of a static key.

    [Read the authentication guide](../04-API-Reference/Other/manage-claude-authentication.md)

3.  3

    ### Understand the Messages API

    Learn the core request and response structure, including multi-turn conversations, system prompts, and stop reasons.

    [Read the Messages API guide](../04-API-Reference/Guides/build-with-claude-working-with-messages.md)

4.  4

    ### Choose the right model

    Compare Claude models by capability and cost to pick the best fit for your use case.

    [See the models overview](../20-Models/about-claude-models-overview.md)

5.  5

    ### Explore features and tools

    Discover what Claude can do: extended thinking, web search, file handling, structured outputs, and more.

    [Browse the features overview](../04-API-Reference/Guides/build-with-claude-overview.md)

------------------------------------------------------------------------

## Develop with Claude

Anthropic provides developer tools to help you build and scale applications with Claude.



[Developer Console](../04-API-Reference/Other/usage-limits.md)

Explore and understand the API in your browser with playground.



[API Reference](../04-API-Reference/Endpoints/overview.md)

Explore the full Claude API and client SDK documentation.

[Claude Cookbook](https://platform.claude.com/cookbook)

Learn with interactive Jupyter notebooks covering PDFs, embeddings, and more.

------------------------------------------------------------------------

## Key capabilities

Claude can assist with many tasks that involve text, code, and images.



[Text and code generation](../04-API-Reference/Guides/build-with-claude-overview.md)

Summarize text, answer questions, extract data, translate text, and explain and generate code.



[Vision](../04-API-Reference/Guides/build-with-claude-vision.md)

Process and analyze visual input and generate text and code from images.

------------------------------------------------------------------------

## Support



[Help Center](https://support.claude.com/en/)

Find answers to frequently asked account and billing questions.



[Service Status](https://status.claude.com)

Check the status of Anthropic services.

---

## Quickstart - Claude Code Docs

Source: https://code.claude.com/docs/en/quickstart
Path: 01-Getting-Started/quickstart.md

## On this page

- [Before you begin](#before-you-begin)
- [Step 1: Install Claude Code](#step-1-install-claude-code)
- [Step 2: Log in to your account](#step-2-log-in-to-your-account)
- [Step 3: Start your first session](#step-3-start-your-first-session)
- [Step 4: Ask your first question](#step-4-ask-your-first-question)
- [Step 5: Make your first code change](#step-5-make-your-first-code-change)
- [Step 6: Use Git with Claude Code](#step-6-use-git-with-claude-code)
- [Step 7: Fix a bug or add a feature](#step-7-fix-a-bug-or-add-a-feature)
- [Step 8: Test out other common workflows](#step-8-test-out-other-common-workflows)
- [Essential commands](#essential-commands)
- [Pro tips for beginners](#pro-tips-for-beginners)
- [What’s next?](#what%E2%80%99s-next)
- [Getting help](#getting-help)

Getting started

# Quickstart

Copy pageCopy page

Welcome to Claude Code!

Copy pageCopy page

This quickstart guide will have you using AI-powered coding assistance in a few minutes. By the end, you’ll understand how to use Claude Code for common development tasks.


[​](#before-you-begin)

Before you begin

Make sure you have:

- A terminal or command prompt open
  - If you’ve never used the terminal before, check out the [terminal guide](../02-Claude-Code-CLI/terminal-guide.md)
- A code project to work with
- A [Claude subscription](../17-Billing-Plans/pricing.md) (Pro, Max, Team, or Enterprise), [Claude Console](../04-API-Reference/Other/usage-limits.md) account, or access through a [supported cloud provider](../02-Claude-Code-CLI/third-party-integrations.md)

This guide covers the terminal CLI. Claude Code is also available on the [web](https://claude.ai/code), as a [desktop app](../16-Mobile-Desktop/desktop.md), in [VS Code](../03-IDE-Integrations/vs-code.md) and [JetBrains IDEs](../03-IDE-Integrations/jetbrains.md), in [Slack](../14-Connectors/slack.md), and in CI/CD with [GitHub Actions](../02-Claude-Code-CLI/github-actions.md) and [GitLab](../02-Claude-Code-CLI/gitlab-ci-cd.md). See [all interfaces](../02-Claude-Code-CLI/code-home.md#use-claude-code-everywhere).


[​](#step-1-install-claude-code)

Step 1: Install Claude Code

To install Claude Code, open a terminal and run the command for your system. If you haven’t used a terminal before, the [terminal guide](../02-Claude-Code-CLI/terminal-guide.md) shows how to open one and paste the command.

- Native Install (Recommended)

- Homebrew

- WinGet

**macOS, Linux, WSL:**

```python
curl -fsSL https://claude.ai/install.sh | bash
```

**Windows PowerShell:**

```python
irm https://claude.ai/install.ps1 | iex
```

**Windows CMD:**

```python
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
```

When the installer finishes, open a new terminal window and run `claude --version`. A working installation prints a version number. If your shell says `claude` isn’t found or isn’t recognized, the install directory isn’t on your PATH yet: see [Fix your PATH](../02-Claude-Code-CLI/troubleshoot-install.md#command-not-found-claude-after-installation).If you see `The token '&&' is not a valid statement separator`, you’re in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you’re in CMD, not PowerShell. Your prompt shows `PS C:\` when you’re in PowerShell and `C:\` without the `PS` when you’re in CMD.If the install command fails with `syntax error near unexpected token '<'`, a `403`, or another curl error, see [Troubleshoot installation](../02-Claude-Code-CLI/troubleshoot-install.md#find-your-error) to match the error to a fix and for alternative install methods.[Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.

Native installations automatically update in the background to keep you on the latest version.

```python
brew install --cask claude-code
```

Homebrew offers two casks. `claude-code` tracks the stable release channel, which is typically about a week behind and skips releases with major regressions. `claude-code@latest` tracks the latest channel and receives new versions as soon as they ship.

Homebrew installations do not auto-update. Run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed, to get the latest features and security fixes.

```python
winget install Anthropic.ClaudeCode
```

WinGet installations do not auto-update. Run `winget upgrade Anthropic.ClaudeCode` periodically to get the latest features and security fixes.

You can also install with [apt, dnf, or apk](setup.md#install-with-linux-package-managers) on Debian, Fedora, RHEL, and Alpine. To confirm the installation worked, run:

```python
claude --version
```

The command prints a version number followed by `(Claude Code)`.


[​](#step-2-log-in-to-your-account)

Step 2: Log in to your account

Claude Code requires an account to use. Start an interactive session with the `claude` command and you’ll be prompted to log in on first use:

```python
claude
```

For Claude subscription or Console accounts, follow the prompts to complete authentication in your browser. If you’ve set the `ANTHROPIC_API_KEY` environment variable, Claude Code skips the login prompt and asks you to approve the key instead. To switch accounts later or re-authenticate, type `/login` inside the running session:

```python
/login
```

You can log in using any of these account types:

- [Claude Pro, Max, Team, or Enterprise](../17-Billing-Plans/pricing.md) (recommended)
- [Claude Console](../04-API-Reference/Other/usage-limits.md) (API access with pre-paid credits). On first login, a “Claude Code” workspace is automatically created in the Console for centralized cost tracking.
- [Amazon Bedrock, Google Cloud’s Agent Platform, or Microsoft Foundry](../02-Claude-Code-CLI/third-party-integrations.md) (enterprise cloud providers)
- A self-hosted [Claude apps gateway](../13-Enterprise-Admin/claude-apps-gateway.md), if your organization runs one: your admin pre-configures the gateway URL, and `/login` opens directly on the **Cloud gateway** screen for you to sign in with corporate SSO

Once logged in, your credentials are stored and you won’t need to log in again. Learn more in [Credential Management](../13-Enterprise-Admin/iam.md#credential-management).


[​](#step-3-start-your-first-session)

Step 3: Start your first session

Open your terminal in any project directory and start Claude Code:

```python
cd /path/to/your/project
claude
```

Replace `/path/to/your/project` with the path to the project you want to work on. You’ll see the Claude Code prompt with the version, current model, and working directory shown above it. Type `/help` for available commands or `/resume` to continue a previous conversation.


[​](#step-4-ask-your-first-question)

Step 4: Ask your first question

Let’s start with understanding your codebase. Try one of these commands:

```python
what does this project do?
```

Claude will analyze your files and provide a summary. You can also ask more specific questions:

```python
what technologies does this project use?
```

```python
where is the main entry point?
```

```python
explain the folder structure
```

You can also ask Claude about its own capabilities:

```python
what can Claude Code do?
```

```python
how do I create custom skills in Claude Code?
```

```python
can Claude Code work with Docker?
```

Claude Code reads your project files as needed. You don’t have to manually add context.


[​](#step-5-make-your-first-code-change)

Step 5: Make your first code change

Now let’s make Claude Code do some actual coding. Try a simple task:

```python
add a hello world function to the main file
```

Claude Code finds the appropriate file and shows you the change. If it asks before making the change, select **Yes** to approve. With Claude Code v2.1.283 or later, auto mode is the [built-in starting permission mode](../02-Claude-Code-CLI/permission-modes.md#eliminate-prompts-with-auto-mode) for interactive terminal sessions: a classifier reviews actions instead of you, and Claude edits most files and runs most commands without asking you. On earlier versions, auto mode is the built-in starting permission mode only on Pro, Max, and Team plans. For the session you start right after installing, see [First session after an install or upgrade](../02-Claude-Code-CLI/env-vars.md#first-session-after-an-install-or-upgrade).

Your settings or your organization can set a different starting permission mode. [Which permission mode a session starts in](../02-Claude-Code-CLI/permission-modes.md#which-mode-a-session-starts-in) lists what does. Press `Shift+Tab` at any time to switch the permission mode of the session you’re in.


[​](#step-6-use-git-with-claude-code)

Step 6: Use Git with Claude Code

Claude Code makes Git operations conversational:

```python
what files have I changed?
```

```python
commit my changes with a descriptive message
```

You can also prompt for more complex Git operations:

```python
create a new branch called feature/quickstart
```

```python
show me the last 5 commits
```

```python
help me resolve merge conflicts
```


[​](#step-7-fix-a-bug-or-add-a-feature)

Step 7: Fix a bug or add a feature

Claude is proficient at debugging and feature implementation. Describe what you want in natural language:

```python
add input validation to the user registration form
```

Or fix existing issues:

```python
there's a bug where users can submit empty forms - fix it
```

Claude Code will:

- Locate the relevant code
- Understand the context
- Implement a solution
- Run tests if available


[​](#step-8-test-out-other-common-workflows)

Step 8: Test out other common workflows

There are a number of ways to work with Claude: **Refactor code**

```python
refactor the authentication module to use async/await instead of callbacks
```

**Write tests**

```python
write unit tests for the calculator functions
```

**Update documentation**

```python
update the README with installation instructions
```

**Code review**

```python
review my changes and suggest improvements
```

Talk to Claude like you would a helpful colleague. Describe what you want to achieve, and it will help you get there.


[​](#essential-commands)

Essential commands

Here are the most important commands for daily use. Shell commands run from your terminal to start or resume Claude Code. Session commands run inside Claude Code after it starts. **Shell commands**

| Command             | What it does                                           | Example                             |
|---------------------|--------------------------------------------------------|-------------------------------------|
| `claude`            | Start interactive mode                                 | `claude`                            |
| `claude "task"`     | Start interactive mode with an initial prompt          | `claude "fix the build error"`      |
| `claude -p "query"` | Run one-off query, then exit                           | `claude -p "explain this function"` |
| `claude -c`         | Continue most recent conversation in current directory | `claude -c`                         |
| `claude -r`         | Resume a previous conversation                         | `claude -r`                         |

**Session commands**

| Command                 | What it does               | Example  |
|-------------------------|----------------------------|----------|
| `/clear`                | Clear conversation history | `/clear` |
| `/help`                 | Show available commands    | `/help`  |
| `/exit` or Ctrl+D twice | Exit Claude Code           | `/exit`  |

See the [CLI reference](../02-Claude-Code-CLI/cli-reference.md) for the complete list of shell commands and the [commands reference](../02-Claude-Code-CLI/commands.md) for the complete list of session commands.


[​](#pro-tips-for-beginners)

Pro tips for beginners

For more, see [best practices](../02-Claude-Code-CLI/best-practices.md) and [common workflows](../02-Claude-Code-CLI/common-workflows.md).

Be specific with your requests

Instead of: “fix the bug”Try: “fix the login bug where users see a blank screen after entering wrong credentials”

Use step-by-step instructions

Break complex tasks into steps:

```python
1. create a new database table for user profiles
2. create an API endpoint to get and update user profiles
3. build a webpage that allows users to see and edit their information
```

Let Claude explore first

Before making changes, let Claude understand your code:

```python
analyze the database schema
```

```python
build a dashboard showing products that are most frequently returned by our UK customers
```

Save time with shortcuts

- Type `/` to see the commands and skills available to you
- Use Tab for command completion
- Press ↑ for command history
- Press `Shift+Tab` to cycle permission modes


[​](#what’s-next)

What’s next?

Now that you’ve learned the basics, explore more advanced features:

## How Claude Code works

Understand the agentic loop, built-in tools, and how Claude Code interacts with your project

## Best practices

Get better results with effective prompting and project setup

## Common workflows

Step-by-step guides for common tasks

## Extend Claude Code

Customize with CLAUDE.md, skills, hooks, MCP, and more


[​](#getting-help)

Getting help

- **In Claude Code**: Type `/help` or ask a “how do I” question
- **Documentation**: You’re here! Browse other guides
- **Courses**: Take [Claude Code 101](https://academy.claude.com/courses/claude-code-101) and other free self-paced courses on [Claude Academy](https://academy.claude.com/)
- **Community**: Join our [Discord](https://www.anthropic.com/discord) for tips and support

---

## Courses · Claude Academy

Source: https://www.claude.com/resources/courses
Path: 01-Getting-Started/resources-courses.md

# Courses

Structured learning paths with video lessons and assessments to help you master AI collaboration, Claude development, and MCP.

## Start your journey


### Claude 101

13 lessons · 1 quiz·2.5 hr·Completion badge


### Claude Code 101

12 lessons · 1 quiz·1.5 hr·Completion badge


### Introduction to Claude Cowork

14 lessons · 1 quiz·2.5 hr·Completion badge


### Introduction to Claude Tag

11 lessons · 1 quiz·2.5 hr·Completion badge


### Claude Platform 101

13 lessons · 1 quiz·1.5 hr·Completion badge

## Learn the products


### Claude Code in action

9 lessons · 1 quiz·1 hr·Completion badge


### Introduction to Model Context Protocol

10 lessons · 1 quiz·1 hr·Completion badge


### Model Context Protocol: Advanced topics

11 lessons · 1 quiz·1.5 hr·Completion badge


### Introduction to subagents

4 lessons·45 min


### The AI-native SDLC playbook

14 lessons·1 hr


### Introduction to agent skills

6 lessons·1 hr


### Deploying Claude Enterprise with confidence: The five decisions that shape your rollout

14 lessons · 1 quiz·2.5 hr·Completion badge

## Become AI fluent


### AI Fluency: Framework and foundations

14 lessons · 1 quiz·4 hr·Completion badge


### AI capabilities and limitations

13 lessons · 1 quiz·3.5 hr·Completion badge


### Building effective human-agent teams (beta)

5 lessons · 1 quiz·45 min·Completion badge

### AI Fluency, for your world

[For builders9 lessons · 1 quiz](https://www.claude.com/courses/ai-fluency-for-builders)[For creative work8 lessons · 1 quiz](https://www.claude.com/courses/ai-fluency-for-creative-work)[For educators4 lessons · 1 quiz](https://www.claude.com/courses/ai-fluency-for-educators)[For pK–12 educators10 lessons · 1 quiz](https://www.claude.com/courses/ai-fluency-for-k-12-educators)[For pK–12 Train the Trainer4 lessons](https://www.claude.com/courses/ai-fluency-for-pk-12-train-the-trainer)[For facilitators7 lessons · 1 quiz](https://www.claude.com/courses/teaching-ai-fluency)[For nonprofits9 lessons · 1 quiz](https://www.claude.com/courses/ai-fluency-for-nonprofits)[For small businesses9 lessons · 1 quiz](https://www.claude.com/courses/ai-fluency-for-small-businesses)[For students5 lessons · 1 quiz](https://www.claude.com/courses/ai-fluency-for-students)

## Build with the API


### Building with the Claude API

67 lessons · 8 quizzes·9 hr·Completion badge


### Claude with Amazon Bedrock

65 lessons · 8 quizzes·8 hr·Completion badge


### Claude with Google Cloud's Vertex AI

66 lessons · 9 quizzes·8.5 hr·Completion badge

---

## Visuals that appear as you study with Claude · Claude Academy

Source: https://www.claude.com/resources/tutorials/imagine-with-claude-student-guide
Path: 01-Getting-Started/resources-tutorials-imagine-with-claude-student-guide.md

# Visuals that appear as you study with Claude

A guide for students. What the feature is, how to use it well, and what it can do for your coursework.

10 minClaude.ai

[Open Claude](https://claude.ai/new)

Some things land faster drawn than said, and a good teacher knows when to reach for the whiteboard.

Now, Claude can do that too. When a visual is the clearer answer to what you asked, Claude builds one as part of its response. The visual sits alongside the text, shaped directly to your ask — a diagram you click into as Claude explains, a chart you filter while you ask follow-ups, something that plays when the concept is a sound.

The visual streams in alongside the text and the conversation keeps going. You can adjust it, click into what's still unclear, or ask a follow-up and Claude draws the next one. If something turns out worth keeping, there's a one-click path to save it for later.

**You don't need to do anything special.** Claude decides when a visual would help. You can also ask to explicitly trigger it — any version of "draw this," "show me," or "can I see that" works.

### What this is, practically[](#what-this-is-practically)

- **Appears as part of Claude's answer** — in the flow of the conversation, not a side panel. If you've used [Artifacts(opens in new tab)](../15-Claude-AI-Features/what-are-artifacts-and-how-do-i-use-them.md), this is the lighter version.
- **Interactive, often.** Sliders, draggable points, buttons, interactive elements, and even sound.
- **Built from what you gave it** — can use context from the conversation, files you uploaded, or what Claude knows about you.
- **Diagrams, charts, tools** — not image generation.
- **Web and desktop**, all plans while in beta.

## A few moments where this may help you[](#a-few-moments-where-this-may-help-you)

Here's what it looks like in practice — the prompt, the response, and the visual appearing mid-answer.

### Seeing the explanation drawn out[](#seeing-the-explanation-drawn-out)

A concept from lecture, a dense passage from a textbook, a thing you keep hearing about but can't picture— drawn so you can see what it actually means.

Loading

### Interacting with the concept in chat[](#interacting-with-the-concept-in-chat)

Some things you need to hear, or change, or click. Claude builds the interactive version so you're doing, not just reading.

Loading

### Visualizing how things connect[](#visualizing-how-things-connect)

Some concepts are spatial — things connect, one number feeds into another. Text forces you to hold it all in your head. Claude draws the connections so you can trace them.

Loading

Loading

### Practicing what you just learned[](#practicing-what-you-just-learned)

Stay hands-on while you study — the quiz appears right where you're learning, so you're trying things while the idea is fresh.

Loading

## Things to try out while studying with Claude[](#things-to-try-out-while-studying-with-claude)

### 1. See the mechanism behind an explanation[](#1-see-the-mechanism-behind-an-explanation)

When a concept has moving parts — a cycle, a cascade, a sequence that fires in order — a static diagram shows you one frame of it. Ask Claude, and you can turn the explanation into something more alive and interactive.

- *"Show me how mechanism works, step by step — I want to watch it move, not just read the steps"*
- *"Walk me through one pass of this process. I want to see what happens at each stage"*
- *"A concept from class has moving parts I can't picture. Draw where each piece goes"*

**See it in action:** [Visualize the mechanism behind an explanation mid-chat →(opens in new tab)](https://www.claude.com/use-cases/visualize-the-mechanism-behind-an-explanation-mid-chat)

### 2. See the thing you can't picture[](#2-see-the-thing-you-cant-picture)

Some passages describe a structure, a sequence, a shape and assume you can picture it. When you can't, paste the text. Claude draws the thing the words refer to. The explanation stays the same; what you get is the picture that was missing.

- *"Here's a passage I can't picture. Draw what it's describing so I can see it."*
- *"I keep rereading this and it's not landing. Show me what this concept actually looks like."*
- *"The textbook explains this in words. I need the diagram it didn't include."*

**See it in action:** [Plan your course from its syllabus→(opens in new tab)](https://www.claude.com/use-cases/plan-your-syllabus-see-which-weeks-are-locked)

### 3. Apply a concept as you learn it[](#3-apply-a-concept-as-you-learn-it)

Sometimes the way to learn a thing is to practice it — try it, get it wrong, see why. Ask Claude for something interactive and you get a tool to practice on with the explanation right there as you go: a simulation where you change the inputs, a quiz that shows you where you're off, a problem that responds while you work it.

- *"I get this concept on paper. Give me something interactive so I can try it and see what changes."*
- *"Explain this topic, then let me put it in my own words. Show me where I've got it wrong."*
- *"Quiz me on this concept — I want to find the gaps before the exam does."*

**See it in action:** [Apply a formula as you learn it →(opens in new tab)](https://www.claude.com/use-cases/apply-a-formula-as-you-learn-it-in-chat-with-claude)

### 4. Work through your own material[](#4-work-through-your-own-material)

Bring what you have — lab data, lecture notes, a difficult problem. As you chat with Claude, a visual appears built around the topic: a chart to dig into together, a map of your notes, a quiz, a correction.

- *"Here's my \[data / notes / draft\]. Help me see what's in it before I write anything up."*
- *"These are my notes so far. Map how the ideas connect so I can see what's still missing."*
- *"I know something's wrong in here: \[upload\]. Walk me through where I went off."*

**See it in action:** [Chart your data before you commit →(opens in new tab)](https://www.claude.com/use-cases/chart-your-data-before-you-commit) · [Map your lit review mid-conversation →(opens in new tab)](https://www.claude.com/use-cases/map-your-lit-review-mid-conversation)

## What you can do with what Claude draws[](#what-you-can-do-with-what-claude-draws)

**Make it interactive —** If what you got is static and you want it to move, say so — "let me adjust this" or "make it interactive" is enough.

**Go deeper —** Buttons at the bottom of a visual send a follow-up. Click one and a new visual appears below. The first one stays, so you scroll between them. What you see in the first visual can shape the follow up questions for what you learn next.

**Adjust** **—** The first version is a starting point. Say what's missing, or what's too simple, or what's off and Claude redraws. Add a layer, make the practice harder, fix the formatting if it came back cramped. The visual can evolve with the conversation.

**Evaluate** **—** Look at what Claude drew with some skepticism. It's built for your question, not pulled from a verified source, so it can be wrong in ways a textbook figure usually isn't. Checking it is good for you: spotting an error means you understand well enough to notice one. Not being sure tells you where your grasp is still shaky. Both leave you better off than taking the picture at face value.

**Save it.** To keep or build on your visual, hover over what Claude drew and a few options appear in the corner.

- `Copy as image` — snapshot for notes or slides. The move most of the time.
- `Save as artifact` — when you'd reopen the interactive version or share it. The whiteboard becomes a document.
- `Download` — source code (.svg or .html).

**Take it further.** Ask Claude to help you write up what clicked from the visual in a doc for your notes. Explain it to someone else to test whether it stuck. Or ask Claude to map what you now understand and what's still fuzzy; articulating one gap often surfaces the next. Either way, check the content against a real source before treating it as authoritative.

## A few practical things[](#a-few-practical-things)

- If you expected a visual and didn't get one, any version of "show me" or "visualize this" brings one in.
- If the visual renders oddly — overlapping elements, cut-off labels — ask Claude to fix the formatting.
- Works on [claude.ai(opens in new tab)](https://claude.ai) web and the desktop apps. Not on mobile yet.

## Go deeper — the full set of walkthroughs[](#go-deeper-the-full-set-of-walkthroughs)

Each of these is a complete use case with a tested prompt, a chat-window view of what Claude builds, follow-ups, and tips.

**For students:**

- [Visualize the mechanism behind an explanation mid-chat(opens in new tab)](https://www.claude.com/use-cases/visualize-the-mechanism-behind-an-explanation-mid-chat)
- [Apply a formula as you learn it, in chat with Claude(opens in new tab)](https://www.claude.com/use-cases/apply-a-formula-as-you-learn-it-in-chat-with-claude)

**For your own work and research:**

- [Chart your data in conversation with Claude before you commit to a reading(opens in new tab)](https://www.claude.com/use-cases/chart-your-data-before-you-commit)
- [Map your lit review mid-conversation to surface the underlying debate(opens in new tab)](https://www.claude.com/use-cases/map-your-lit-review-mid-conversation)
- [Work through grant options in chat with Claude(opens in new tab)](https://www.claude.com/use-cases/work-through-grant-options-in-chat-with-claude)

**For teaching and planning:**

- [Bring your whiteboard lesson to life in conversation with Claude(opens in new tab)](https://www.claude.com/use-cases/bring-your-whiteboard-lesson-to-life)
- [Plan your syllabus in chat with Claude — see which weeks are locked(opens in new tab)](https://www.claude.com/use-cases/plan-your-syllabus-see-which-weeks-are-locked)

Next time something isn't clicking, ask Claude to imagine it with you. Claude draws it, and the conversation continues from there.

- [A few moments where this may help you](#a-few-moments-where-this-may-help-you)
- [Things to try out while studying with Claude](#things-to-try-out-while-studying-with-claude)
- [What you can do with what Claude draws](#what-you-can-do-with-what-claude-draws)
- [A few practical things](#a-few-practical-things)
- [Go deeper — the full set of walkthroughs](#go-deeper-the-full-set-of-walkthroughs)

---

## Advanced setup - Claude Code Docs

Source: https://code.claude.com/docs/en/setup
Path: 01-Getting-Started/setup.md

## On this page

- [System requirements](#system-requirements)
  - [Additional dependencies](#additional-dependencies)
- [Install Claude Code](#install-claude-code)
  - [Set up on Windows](#set-up-on-windows)
  - [Alpine Linux and musl-based distributions](#alpine-linux-and-musl-based-distributions)
- [Verify your installation](#verify-your-installation)
- [Authenticate](#authenticate)
- [Update Claude Code](#update-claude-code)
  - [Auto-updates](#auto-updates)
  - [Configure release channel](#configure-release-channel)
  - [Pin a minimum version](#pin-a-minimum-version)
  - [Disable auto-updates](#disable-auto-updates)
  - [Update manually](#update-manually)
- [Advanced installation options](#advanced-installation-options)
  - [Install a specific version](#install-a-specific-version)
  - [Install with Linux package managers](#install-with-linux-package-managers)
  - [Install with npm](#install-with-npm)
  - [Binary integrity and code signing](#binary-integrity-and-code-signing)
  - [Verify the manifest signature](#verify-the-manifest-signature)
  - [Platform code signatures](#platform-code-signatures)
- [Uninstall Claude Code](#uninstall-claude-code)
  - [Native installation](#native-installation)
  - [Homebrew installation](#homebrew-installation)
  - [WinGet installation](#winget-installation)
  - [apt / dnf / apk](#apt-%2F-dnf-%2F-apk)
  - [npm](#npm)
  - [Remove configuration files](#remove-configuration-files)

Setup and access

# Advanced setup

Copy pageCopy page

System requirements, platform-specific installation, version management, and uninstallation for Claude Code.

Copy pageCopy page

This page covers system requirements, platform-specific installation details, updates, and uninstallation. For a guided walkthrough of your first session, see the [quickstart](quickstart.md). If you’ve never used a terminal before, see the [terminal guide](../02-Claude-Code-CLI/terminal-guide.md).


[​](#system-requirements)

System requirements

Claude Code runs on the following platforms and configurations:

- **Operating system**:
  - macOS 13.0+
  - Windows 10 1809+ or Windows Server 2019+
  - Ubuntu 20.04+
  - Debian 10+
  - Alpine Linux 3.19+
- **Hardware**: 4 GB+ RAM, x64 or ARM64 processor
- **Network**: internet connection required. See [network configuration](../13-Enterprise-Admin/network-config.md#network-access-requirements).
- **Shell**: Bash, Zsh, PowerShell, or CMD.
- **Location**: [Anthropic supported countries](https://www.anthropic.com/supported-countries)


[​](#additional-dependencies)

Additional dependencies

- **ripgrep**: usually included with Claude Code. If search fails, see [search troubleshooting](../02-Claude-Code-CLI/troubleshooting.md#search-and-discovery-issues).


[​](#install-claude-code)

Install Claude Code

Prefer a graphical interface? The [Desktop app](../16-Mobile-Desktop/desktop-quickstart.md) lets you use Claude Code without the terminal. Download it for [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code&utm_medium=docs), or [Linux](../16-Mobile-Desktop/desktop-linux.md).

To install Claude Code, open a terminal and run the command for your system. If you haven’t used a terminal before, the [terminal guide](../02-Claude-Code-CLI/terminal-guide.md) shows how to open one and paste the command.

- Native Install (Recommended)

- Homebrew

- WinGet

**macOS, Linux, WSL:**

```python
curl -fsSL https://claude.ai/install.sh | bash
```

**Windows PowerShell:**

```python
irm https://claude.ai/install.ps1 | iex
```

**Windows CMD:**

```python
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
```

When the installer finishes, open a new terminal window and run `claude --version`. A working installation prints a version number. If your shell says `claude` isn’t found or isn’t recognized, the install directory isn’t on your PATH yet: see [Fix your PATH](../02-Claude-Code-CLI/troubleshoot-install.md#command-not-found-claude-after-installation).If you see `The token '&&' is not a valid statement separator`, you’re in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you’re in CMD, not PowerShell. Your prompt shows `PS C:\` when you’re in PowerShell and `C:\` without the `PS` when you’re in CMD.If the install command fails with `syntax error near unexpected token '<'`, a `403`, or another curl error, see [Troubleshoot installation](../02-Claude-Code-CLI/troubleshoot-install.md#find-your-error) to match the error to a fix and for alternative install methods.[Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.

Native installations automatically update in the background to keep you on the latest version.

```python
brew install --cask claude-code
```

Homebrew offers two casks. `claude-code` tracks the stable release channel, which is typically about a week behind and skips releases with major regressions. `claude-code@latest` tracks the latest channel and receives new versions as soon as they ship.

Homebrew installations do not auto-update. Run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed, to get the latest features and security fixes.

```python
winget install Anthropic.ClaudeCode
```

WinGet installations do not auto-update. Run `winget upgrade Anthropic.ClaudeCode` periodically to get the latest features and security fixes.

You can also install with [apt, dnf, or apk](setup.md#install-with-linux-package-managers) on Debian, Fedora, RHEL, and Alpine. After installation completes, open a terminal in the project you want to work in and start Claude Code:

```python
claude
```

Claude Code opens an interactive session in your terminal. If you encounter any issues during installation, see [Troubleshoot installation and login](../02-Claude-Code-CLI/troubleshoot-install.md).


[​](#set-up-on-windows)

Set up on Windows

You can run Claude Code natively on Windows or inside WSL. Pick based on where your projects are located and which features you need:

| Option         | Requires                                                               | [Sandboxing](../02-Claude-Code-CLI/sandboxing.md) | When to use                                     |
|----------------|------------------------------------------------------------------------|-----------------------------------|-------------------------------------------------|
| Native Windows | None; [Git for Windows](https://git-scm.com/downloads/win) is optional | Not supported                     | Windows-native projects and tools               |
| WSL 2          | WSL 2 enabled                                                          | Supported                         | Linux toolchains or sandboxed command execution |
| WSL 1          | WSL 1 enabled                                                          | Not supported                     | If WSL 2 is unavailable                         |

**Option 1: Native Windows** Run the install command from PowerShell or CMD. You do not need to run as Administrator. Installing [Git for Windows](https://git-scm.com/downloads/win) is optional. It enables the [Bash tool](../02-Claude-Code-CLI/tools-reference.md#bash-tool-behavior) by providing Git Bash. Whether you install from PowerShell or CMD only affects which install command you run. Your prompt shows `PS C:\Users\YourName>` in PowerShell and `C:\Users\YourName>` without the `PS` in CMD. If you’re new to the terminal, the [terminal guide](../02-Claude-Code-CLI/terminal-guide.md#windows) walks through each step. After installation, launch `claude` from any terminal.

- **Without Git for Windows**, Claude Code runs shell commands via the [PowerShell tool](../02-Claude-Code-CLI/tools-reference.md#powershell-tool).
- **With Git for Windows**, Claude Code uses Git Bash for the [Bash tool](../02-Claude-Code-CLI/tools-reference.md#bash-tool-behavior). If Claude Code can’t find Git Bash, set the path in your [settings.json file](../02-Claude-Code-CLI/settings.md):

  ``` shiki
  {
    "env": {
      "CLAUDE_CODE_GIT_BASH_PATH": "C:\\Program Files\\Git\\bin\\bash.exe"
    }
  }
  ```

When Git for Windows is installed, the PowerShell tool is available alongside Bash: on by default for claude.ai and Console accounts, and enabled with `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` in Amazon Bedrock, Google Cloud’s Agent Platform, and Microsoft Foundry sessions. Set it to `0` to turn the tool off. See [PowerShell tool](../02-Claude-Code-CLI/tools-reference.md#powershell-tool) for setup and limitations. **Option 2: WSL** Open your WSL distribution and run the Linux installer from the [install instructions](#install-claude-code) above. You install and launch `claude` inside the WSL terminal, not from PowerShell or CMD.


[​](#alpine-linux-and-musl-based-distributions)

Alpine Linux and musl-based distributions

Installing Claude Code on Alpine and other musl/uClibc-based distributions requires `bash` and `curl` for the install command, and `libgcc`, `libstdc++`, and `ripgrep` at runtime. Alpine doesn’t include `bash` or `curl` by default, so the documented install command fails with a `not found` error until you install them. Install these packages using your distribution’s package manager, then set `USE_BUILTIN_RIPGREP=0`. This example installs the required packages on Alpine:

```python
apk add bash curl libgcc libstdc++ ripgrep
```

On Alpine, `ripgrep` is in the community repository. If `apk` reports that the package is missing, add the community repository to `/etc/apk/repositories`, using your Alpine version:

```python
echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories
```

Run `apk update` to refresh the package index, and retry the `apk add` command. Then set `USE_BUILTIN_RIPGREP` to `0` in your [`settings.json`](../02-Claude-Code-CLI/settings-reference.md#all-settings) file:

```python
{
  "env": {
    "USE_BUILTIN_RIPGREP": "0"
  }
}
```


[​](#verify-your-installation)

Verify your installation

After installing, confirm Claude Code is working:

```python
claude --version
```

A working installation prints a version number such as `2.1.211 (Claude Code)`. If this fails with `command not found` or another error, see [Troubleshoot installation and login](../02-Claude-Code-CLI/troubleshoot-install.md). For a more detailed check of your installation and configuration, run [`claude doctor`](../02-Claude-Code-CLI/troubleshooting.md#get-more-help):

```python
claude doctor
```

`claude doctor` prints read-only installation and settings diagnostics without starting a session, including install health, settings-file validation errors, and any warnings with suggested fixes.


[​](#authenticate)

Authenticate

Claude Code requires a Pro, Max, Team, Enterprise, or Console account. The free claude.ai plan does not include Claude Code access. You can also use Claude Code with a third-party API provider like [Amazon Bedrock](../02-Claude-Code-CLI/amazon-bedrock.md), [Google Cloud’s Agent Platform](../02-Claude-Code-CLI/google-vertex-ai.md), or [Microsoft Foundry](../02-Claude-Code-CLI/microsoft-foundry.md). After installing, log in by running `claude` and following the browser prompts. If the `ANTHROPIC_API_KEY` environment variable is set, Claude Code prompts you once to approve the key instead of opening a browser. See [Authentication](../13-Enterprise-Admin/iam.md) for all account types and team setup options.


[​](#update-claude-code)

Update Claude Code

Native installations automatically update in the background. You can [configure the release channel](#configure-release-channel) to control whether you receive updates immediately or on a delayed stable schedule, or [disable auto-updates](#disable-auto-updates) entirely. Homebrew, WinGet, and [Linux package manager](#install-with-linux-package-managers) installations require manual updates by default.


[​](#auto-updates)

Auto-updates

Claude Code checks for updates on startup and periodically while running. Updates download and install in the background, then take effect the next time you start Claude Code. Run `claude doctor` to see the result of the most recent update attempt. On macOS and Linux, the native installer manages the launcher at `~/.local/bin/claude` as a symlink into `~/.local/share/claude/versions/`. If you replace that launcher with your own script or symlink, auto-update and `claude update` leave it in place: new versions still install under the `versions/` directory, and your launcher decides which version runs. Before v2.1.207, the auto-updater replaced a custom launcher at that path with its own symlink on every update. With a custom launcher, Claude Code also keeps every installed version on disk because it can’t tell which version the launcher needs. `claude doctor` reports a launcher that the native installer didn’t create. To let Claude Code manage the launcher again, remove `~/.local/bin/claude` and run `claude update`. If an npm global install can’t auto-update because the npm global directory isn’t writable, Claude Code shows a one-time notice at startup, and `claude doctor` lists the available fixes. See [permission errors during installation](../02-Claude-Code-CLI/troubleshoot-install.md#permission-errors-during-installation) for details.

Homebrew, WinGet, apt, dnf, and apk installations do not auto-update by default; see below to opt in for Homebrew and WinGet. To upgrade Homebrew manually, run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed. For WinGet, run `winget upgrade Anthropic.ClaudeCode`. For Linux package managers, see the upgrade commands in [Install with Linux package managers](#install-with-linux-package-managers).To have Claude Code run the upgrade command for you on Homebrew or WinGet, set [`CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`](../02-Claude-Code-CLI/env-vars.md) to `1`. Claude Code then runs the upgrade in the background when a new version is available and shows a restart prompt on success. The upgrade targets only the Claude Code package and does not affect other software you have installed.On WinGet the upgrade may fail while Claude Code is running because Windows locks the executable. In that case Claude Code shows the manual command instead. apt, dnf, and apk continue to require a manual upgrade because those commands need elevated privileges.**Known issue:** Claude Code may notify you of updates before the new version is available in these package managers. If an upgrade fails, wait and try again later.Homebrew keeps old versions on disk after upgrades. Run `brew cleanup` periodically to reclaim disk space.


[​](#configure-release-channel)

Configure release channel

Control which release channel Claude Code follows for auto-updates and `claude update` with the `autoUpdatesChannel` setting:

- `"latest"`, the default: receive new features as soon as they’re released
- `"stable"`: use a version that is typically about one week old, skipping releases with major regressions

Configure this via `/config` → **Auto-update channel**, or add it to your [settings.json file](../02-Claude-Code-CLI/settings.md):

```python
{
  "autoUpdatesChannel": "stable"
}
```

For enterprise deployments, you can enforce a consistent release channel across your organization using [managed settings](../13-Enterprise-Admin/managed-settings.md). Homebrew installations choose a channel by cask name instead of this setting: `claude-code` tracks stable and `claude-code@latest` tracks latest.


[​](#pin-a-minimum-version)

Pin a minimum version

The `minimumVersion` setting establishes a floor. Background auto-updates and `claude update` refuse to install any version below this value, so moving to the `"stable"` channel does not downgrade you if you are already on a newer `"latest"` build. Switching from `"latest"` to `"stable"` via `/config` prompts you to either stay on the current version or allow the downgrade. Choosing to stay sets `minimumVersion` to that version. Switching back to `"latest"` clears it. Add it to your [settings.json file](../02-Claude-Code-CLI/settings.md) to pin a floor explicitly:

```python
{
  "autoUpdatesChannel": "stable",
  "minimumVersion": "2.1.100"
}
```

In [managed settings](../13-Enterprise-Admin/managed-settings.md), this enforces an organization-wide minimum that user and project settings cannot override. The `minimumVersion` pin only constrains updates. To make Claude Code refuse to start outside a version range, use the managed settings `requiredMinimumVersion` and `requiredMaximumVersion` instead. Updates also respect the `requiredMaximumVersion` ceiling. See [`requiredMinimumVersion`](../02-Claude-Code-CLI/settings-reference.md#requiredminimumversion) and [`requiredMaximumVersion`](../02-Claude-Code-CLI/settings-reference.md#requiredmaximumversion).


[​](#disable-auto-updates)

Disable auto-updates

Set `DISABLE_AUTOUPDATER` to `"1"` in the `env` key of your [`settings.json`](../02-Claude-Code-CLI/settings-reference.md#all-settings) file:

```python
{
  "env": {
    "DISABLE_AUTOUPDATER": "1"
  }
}
```

On a native or npm installation, confirm the change took effect by running `claude doctor` and checking that the `Auto-updates` line shows `disabled (set by env: DISABLE_AUTOUPDATER)` instead of `enabled`. `DISABLE_AUTOUPDATER` only stops the background check; `claude update` and `claude install` still work. To block all update paths, including manual updates, set [`DISABLE_UPDATES`](../02-Claude-Code-CLI/env-vars.md) instead. Use this when you distribute Claude Code through your own channels and need users to stay on the version you provide.


[​](#update-manually)

Update manually

To apply an update immediately without waiting for the next background check, run:

```python
claude update
```

When an update installs, the command reports `Successfully updated from <old version> to version <new version>`. If you’re already on the newest version, it reports `Claude Code is up to date (<version>)`. Installs managed by Homebrew, WinGet, or apk report `Claude is up to date!` instead.


[​](#advanced-installation-options)

Advanced installation options

These options are for version pinning, Linux package managers, npm, and verifying binary integrity.


[​](#install-a-specific-version)

Install a specific version

The native installer accepts either a specific version number or a release channel (`latest` or `stable`). The channel you choose at install time becomes your default for auto-updates. See [configure release channel](#configure-release-channel) for more information. To install the latest version (default):

- macOS, Linux, WSL

- Windows PowerShell

- Windows CMD

```python
curl -fsSL https://claude.ai/install.sh | bash
```

```python
irm https://claude.ai/install.ps1 | iex
```

```python
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
```

To install the stable version:

- macOS, Linux, WSL

- Windows PowerShell

- Windows CMD

```python
curl -fsSL https://claude.ai/install.sh | bash -s stable
```

```python
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable
```

```python
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd stable && del install.cmd
```

To install a specific version number:

- macOS, Linux, WSL

- Windows PowerShell

- Windows CMD

```python
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89
```

```python
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89
```

```python
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 2.1.89 && del install.cmd
```

To confirm which version installed, run `claude --version`: the command prints the exact version you passed, such as `2.1.89 (Claude Code)`.


[​](#install-with-linux-package-managers)

Install with Linux package managers

Claude Code publishes signed apt, dnf, and apk repositories. Each repository offers two channels: `stable` serves a version that is typically about one week old, skipping releases with major regressions, and `latest` serves every release as soon as it ships. The commands below configure the `stable` channel, which fits most users; each tab also shows the `latest` repository URL. Package manager installations do not auto-update through Claude Code; updates arrive through your normal system upgrade workflow. All repositories are signed with the [Claude Code release signing key](#binary-integrity-and-code-signing). Before trusting the key, verify it as described in each tab.

- apt

- dnf

- apk

For Debian and Ubuntu. The install commands below download the signing key with `curl` and verify it with `gpg`, which fresh Debian and Ubuntu installations may not include. If either command reports `command not found`, install both first:

```python
sudo apt install curl gnupg
```

Download the signing key:

```python
sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \
  -o /etc/apt/keyrings/claude-code.asc
```

If this download fails, `apt update` later fails with `NO_PUBKEY BAA929FF1A7ECACE`. Confirm the key downloaded and belongs to Anthropic before continuing:

```python
gpg --show-keys /etc/apt/keyrings/claude-code.asc
```

The fingerprint gpg prints should be `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. If gpg reports that the file can’t be opened or contains no valid OpenPGP data, the download failed or returned the wrong content: confirm your network can reach `downloads.claude.ai`, then rerun the download command.Register the repository on the `stable` channel and install:

```python
echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \
  | sudo tee /etc/apt/sources.list.d/claude-code.list
sudo apt update
sudo apt install claude-code
```

To use the `latest` channel instead, both the URL path and the suite name change. Use this `deb` line:

```python
echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \
  | sudo tee /etc/apt/sources.list.d/claude-code.list
```

To upgrade later, run `sudo apt update && sudo apt upgrade claude-code`.

For Fedora and RHEL. The following commands configure the `stable` channel:

```python
sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'
[claude-code]
name=Claude Code
baseurl=https://downloads.claude.ai/claude-code/rpm/stable
enabled=1
gpgcheck=1
gpgkey=https://downloads.claude.ai/keys/claude-code.asc
EOF
sudo dnf install claude-code
```

To use the `latest` channel instead, set `baseurl` to the `latest` repository:

```python
baseurl=https://downloads.claude.ai/claude-code/rpm/latest
```

dnf downloads the key on first install and prompts you to confirm the fingerprint. Verify it matches `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` before accepting.To upgrade later, run `sudo dnf upgrade claude-code`.

For Alpine Linux. The following commands configure the `stable` channel:

```python
wget -O /etc/apk/keys/claude-code.rsa.pub \
  https://downloads.claude.ai/keys/claude-code.rsa.pub
echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories
apk add claude-code
```

To switch to the `latest` channel, remove the `stable` repository line and add the `latest` repository:

```python
sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories
echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories
```

Verify the downloaded key with `sha256sum /etc/apk/keys/claude-code.rsa.pub`, which should report `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.To upgrade later, run `apk update && apk upgrade claude-code`.


[​](#install-with-npm)

Install with npm

You can also install Claude Code as a global npm package. As of v2.1.198, the npm package requires [Node.js 22 or later](https://nodejs.org/en/download). On an older Node.js version, npm prints an `EBADENGINE` warning during install rather than failing; the install completes and `claude` still runs, since the package downloads a native binary that doesn’t use your Node.js at runtime.

```python
npm install -g @anthropic-ai/claude-code
```

The npm package installs the same native binary as the standalone installer. npm pulls the binary in through a per-platform optional dependency such as `@anthropic-ai/claude-code-darwin-arm64`, and a postinstall step links it into place. The installed `claude` binary does not itself invoke Node. Supported npm install platforms are `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, and `win32-arm64`. Your package manager must allow optional dependencies. See [troubleshooting](../02-Claude-Code-CLI/troubleshoot-install.md#native-binary-not-found-after-npm-install) if the binary is missing after install. To upgrade an npm installation, run `npm install -g @anthropic-ai/claude-code@latest`. Avoid `npm update -g`, which respects the semver range from the original install and may not move you to the newest release.

Do NOT use `sudo npm install -g` as this can lead to permission issues and security risks. If you encounter permission errors, see [troubleshooting permission errors](../02-Claude-Code-CLI/troubleshoot-install.md#permission-errors-during-installation).


[​](#binary-integrity-and-code-signing)

Binary integrity and code signing

Each release publishes a `manifest.json` containing SHA256 checksums for every platform binary. The manifest is signed with an Anthropic GPG key, so verifying the signature on the manifest transitively verifies every binary it lists.


[​](#verify-the-manifest-signature)

Verify the manifest signature

Steps 1-3 require a POSIX shell with `gpg` and `curl`. On Windows, run them in Git Bash or WSL. Step 4 includes a PowerShell option.

1

Download and import the public key

The release signing key is published at a fixed URL.

```python
curl -fsSL https://downloads.claude.ai/keys/claude-code.asc | gpg --import
```

Display the fingerprint of the imported key.

```python
gpg --fingerprint security@anthropic.com
```

Confirm the output includes this fingerprint:

```python
31DD DE24 DDFA B679 F42D  7BD2 BAA9 29FF 1A7E CACE
```

2

Download the manifest and signature

Set `VERSION` to the release you want to verify.

```python
REPO=https://downloads.claude.ai/claude-code-releases
VERSION=2.1.89
curl -fsSLO "$REPO/$VERSION/manifest.json"
curl -fsSLO "$REPO/$VERSION/manifest.json.sig"
```

3

Verify the signature

Verify the detached signature against the manifest.

```python
gpg --verify manifest.json.sig manifest.json
```

A valid result reports `Good signature from "Anthropic Claude Code Release Signing <security@anthropic.com>"`.`gpg` also prints `WARNING: This key is not certified with a trusted signature!` for any freshly imported key. This is expected. The `Good signature` line confirms the cryptographic check passed. The fingerprint comparison in Step 1 confirms the key itself is authentic.

4

Check the binary against the manifest

Compare the SHA256 checksum of the binary with the value listed under `platforms.<platform>.checksum` in `manifest.json`. The commands below assume a `claude` binary in the current directory. To verify an installed native binary instead, run the command against `~/.local/share/claude/versions/VERSION`, replacing VERSION with the release you set in Step 2.

- Linux

- macOS

- Windows PowerShell

```python
sha256sum claude
```

```python
shasum -a 256 claude
```

```python
(Get-FileHash claude.exe -Algorithm SHA256).Hash.ToLower()
```

Manifest signatures are available for releases from `2.1.89` onward. Earlier releases publish checksums in `manifest.json` without a detached signature.


[​](#platform-code-signatures)

Platform code signatures

In addition to the signed manifest, individual binaries carry platform-native code signatures where supported.

- **macOS**: signed by “Anthropic PBC” and notarized by Apple. Verify with `codesign --verify --verbose ./claude`.
- **Windows**: signed by “Anthropic, PBC”. Verify with `Get-AuthenticodeSignature .\claude.exe`.
- **Linux**: binaries are not individually code-signed. If you download directly from the `claude-code-releases` bucket or use the native installer, verify integrity with the manifest signature above. If you install with [apt, dnf, or apk](#install-with-linux-package-managers), your package manager verifies signatures automatically using the repository signing key.


[​](#uninstall-claude-code)

Uninstall Claude Code

To remove Claude Code, follow the instructions for your installation method. If `claude` still runs afterward, you likely have a second installation or a leftover shell alias from an older installer. See [Check for conflicting installations](../02-Claude-Code-CLI/troubleshoot-install.md#check-for-conflicting-installations) to find and remove it.


[​](#native-installation)

Native installation

Remove the Claude Code binary and version files:

- macOS, Linux, WSL

- Windows PowerShell

```python
rm -f ~/.local/bin/claude
rm -rf ~/.local/share/claude
```

```python
Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force
```


[​](#homebrew-installation)

Homebrew installation

Remove the Homebrew cask you installed. If you installed the stable cask:

```python
brew uninstall --cask claude-code
```

If you installed the latest cask:

```python
brew uninstall --cask claude-code@latest
```


[​](#winget-installation)

WinGet installation

Remove the WinGet package:

```python
winget uninstall Anthropic.ClaudeCode
```


[​](#apt-/-dnf-/-apk)

apt / dnf / apk

Remove the package and the repository configuration:

- apt

- dnf

- apk

```python
sudo apt remove claude-code
sudo rm /etc/apt/sources.list.d/claude-code.list /etc/apt/keyrings/claude-code.asc
```

```python
sudo dnf remove claude-code
sudo rm /etc/yum.repos.d/claude-code.repo
```

```python
apk del claude-code
sed -i '\|downloads.claude.ai/claude-code/apk|d' /etc/apk/repositories
rm /etc/apk/keys/claude-code.rsa.pub
```


[​](#npm)

npm

Remove the global npm package:

```python
npm uninstall -g @anthropic-ai/claude-code
```


[​](#remove-configuration-files)

Remove configuration files

Removing configuration files will delete all your settings, allowed tools, MCP server configurations, and session history.

The VS Code extension, the JetBrains plugin, and the Desktop app also write to `~/.claude/`. If any of them is still installed, the directory is recreated the next time it runs. To remove Claude Code completely, uninstall the [VS Code extension](../03-IDE-Integrations/vs-code.md#uninstall-the-extension), the JetBrains plugin, and the Desktop app before deleting these files. To remove Claude Code settings and cached data:

- macOS, Linux, WSL

- Windows PowerShell

```python
# Remove user settings and state
rm -rf ~/.claude
rm ~/.claude.json

# Remove project-specific settings (run from your project directory)
rm -rf .claude
rm -f .mcp.json
```

```python
# Remove user settings and state
Remove-Item -Path "$env:USERPROFILE\.claude" -Recurse -Force
Remove-Item -Path "$env:USERPROFILE\.claude.json" -Force

# Remove project-specific settings (run from your project directory)
Remove-Item -Path ".claude" -Recurse -Force
Remove-Item -Path ".mcp.json" -Force
```

---

## Introduction to Claude Skills

Source: https://support.claude.com/en/articles/skills-introduction
Path: 01-Getting-Started/skills-introduction.md

# Introduction to Claude Skills

Learn how to use Claude's Skills feature to create professional documents, analyze data, and automate business workflows with Excel, PowerPoint, and PDF generation.

> **See it in action:** The Skills you'll learn about power Claude's file creation capabilities! Check out **[Claude Creates Files](../19-Reference/create-files.md)** to see how these Skills enable Claude to create and edit documents directly in Claude.ai.

## Table of Contents

1. [Setup & Installation](#setup)
2. [Understanding Skills](#understanding)
3. [Discovering Available Skills](#discovering)
4. [Quick Start: Excel](#excel-quickstart)
5. [Quick Start: PowerPoint](#powerpoint-quickstart)
6. [Quick Start: PDF](#pdf-quickstart)
7. [Troubleshooting](#troubleshooting)

## 1. Setup & Installation {#setup}

### Prerequisites

Before starting, make sure you have:

- Python 3.8 or higher
- An Anthropic API key from [console.anthropic.com](https://console.anthropic.com/)

### Environment Setup (First Time Only)

**If you haven't set up your environment yet**, follow these steps:

#### Step 1: Create Virtual Environment

``` bash
# Navigate to the skills directory
cd /path/to/claude-cookbooks/skills

# Create virtual environment
python -m venv venv

# Activate it
source venv/bin/activate  # On macOS/Linux
# OR
venv\Scripts\activate     # On Windows
```

#### Step 2: Install Dependencies

``` bash
# With venv activated, install requirements
pip install -r requirements.txt
```

#### Step 3: Select Kernel in VSCode/Jupyter

**In VSCode:**

1. Open this notebook
2. Click the kernel picker in the top-right (e.g., "Python 3.11.x")
3. Select "Python Environments..."
4. Choose the `./venv/bin/python` interpreter

**In Jupyter:**

1. From the Kernel menu → Change Kernel
2. Select the kernel matching your venv

#### Step 4: Configure API Key

``` bash
# Copy the example file
cp .env.example .env

# Edit .env and add your API key:
# ANTHROPIC_API_KEY=sk-ant-api03-...
```

### Quick Installation Check

Run the cell below to verify your environment is set up correctly:

**If you see any ❌ or ⚠️ warnings above**, please complete the setup steps before continuing.

**If anthropic SDK version is too old (needs 0.71.0 or later):**

``` bash
pip install anthropic>=0.71.0
```

Then **restart the Jupyter kernel** to pick up the new version.

### API Configuration

Now let's load the API key and configure the client:

**⚠️ Important**: Create a `.env` file in the skills directory:

``` bash
# Copy the example file
cp ../.env.example ../.env
```

Then edit `../.env` to add your Anthropic API key.

``` python
import os
import sys
from pathlib import Path

# Add parent directory to path for imports
sys.path.insert(0, str(Path.cwd().parent))


from anthropic import Anthropic
from dotenv import load_dotenv

# Import our file utilities
from file_utils import (
    download_all_files,
    extract_file_ids,
    get_file_info,
    print_download_summary,
)

# Load environment variables from parent directory
load_dotenv(Path.cwd().parent / ".env")

API_KEY = os.getenv("ANTHROPIC_API_KEY")
MODEL = os.getenv("ANTHROPIC_MODEL", "claude-sonnet-4-5")

if not API_KEY:
    raise ValueError(
        "ANTHROPIC_API_KEY not found. Copy ../.env.example to ../.env and add your API key."
    )

# Initialize client
# Note: We'll add beta headers per-request when using Skills
client = Anthropic(api_key=API_KEY)

# Create outputs directory if it doesn't exist
OUTPUT_DIR = Path.cwd().parent / "outputs"
OUTPUT_DIR.mkdir(exist_ok=True)

print("✓ API key loaded")
print(f"✓ Using model: {MODEL}")
print(f"✓ Output directory: {OUTPUT_DIR}")
print("\n📝 Note: Beta headers will be added per-request when using Skills")
```

### Test Connection

Let's verify our API connection works:

``` python
# Simple test to verify API connection
test_response = client.messages.create(
    model=MODEL,
    max_tokens=100,
    messages=[
        {
            "role": "user",
            "content": "Say 'Connection successful!' if you can read this.",
        }
    ],
)

print("API Test Response:")
print(test_response.content[0].text)
print(
    f"\n✓ Token usage: {test_response.usage.input_tokens} in, {test_response.usage.output_tokens} out"
)
```

## 2. Understanding Skills {#understanding}

### What are Skills?

**Skills** are organized packages of instructions, executable code, and resources that give Claude specialized capabilities for specific tasks. Think of them as "expertise packages" that Claude can discover and load dynamically.

📖 Read our engineering blog post on [Equipping agents for the real world with Skills](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills)

### Why Skills Matter

After learning about MCPs (Model Context Protocol) and tools, you might wonder why Skills are important:

- **Skills are higher-level** than individual tools - they combine instructions, code, and resources
- **Skills are composable** - multiple skills work together seamlessly
- **Skills are efficient** - progressive disclosure means you only pay for what you use
- **Skills include proven code** - helper scripts that work reliably, saving time and reducing errors

### Key Benefits

- **Expert-level Performance**: Deliver professional results without the learning curve
- **Proven Helper Scripts**: Skills contain tested, working code that Claude can use immediately
- **Organizational Knowledge**: Package company workflows and best practices
- **Cost Efficiency**: Progressive disclosure minimizes token usage
- **Reliability**: Pre-tested scripts mean fewer errors and consistent results
- **Time Savings**: Claude uses existing solutions instead of generating code from scratch
- **Composable**: Multiple skills work together for complex workflows

### Progressive Disclosure Architecture

Skills use a three-tier loading model:

![Progressive Disclosure - How Skills Load](https://support.claude.com/en/assets/prog-disc-1.png)

1. **Metadata** (name: 64 chars, description: 1024 chars): Claude sees skill name and description
2. **Full Instructions** (<5k tokens): Loaded when skill is relevant
3. **Linked Files**: Additional resources loaded only if needed

![Progressive Disclosure Stages](https://support.claude.com/en/assets/prog-disc-2.png)

This keeps operations efficient while providing deep expertise on demand. Initially, Claude sees just the metadata from the YAML frontmatter of SKILL.md. Only when a skill is relevant does Claude load the full contents, including any helper scripts and resources.

### Skill Types

| Type | Description | Example |
|------|-------------|---------|
| **Anthropic-Managed** | Pre-built skills maintained by Anthropic | `xlsx`, `pptx`, `pdf`, `docx` |
| **Custom** | User-defined skills for specific workflows | Brand guidelines, financial models |

### Skills Conceptual Overview

![Skills Conceptual Diagram](https://support.claude.com/en/assets/skills-conceptual-diagram.png)

This diagram illustrates:

- **Skill Directory Structure**: How Skills are organized with SKILL.md and supporting files
- **YAML Frontmatter**: The metadata that Claude sees initially
- **Progressive Loading**: How Skills are discovered and loaded on-demand
- **Composability**: Multiple Skills working together in a single request

### How Skills Work with Code Execution

Skills require the **code execution** tool to be enabled. Here's the typical workflow:

``` python
# Use client.beta.messages.create() for Skills support
response = client.beta.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=4096,
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "latest"}
        ]
    },
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    messages=[{"role": "user", "content": "Create an Excel file..."}],
    # Use betas parameter instead of extra_headers
    betas=["code-execution-2025-08-25", "files-api-2025-04-14", "skills-2025-10-02"]
)
```

**What happens:**

1. Claude receives your request with the xlsx skill loaded
2. Claude uses code execution to create the file
3. The response includes a `file_id` for the created file
4. You use the **Files API** to download the file

**Important: Beta API**

- Use `client.beta.messages.create()` (not `client.messages.create()`)
- The `container` parameter is only available in the beta API
- Use the `betas` parameter to enable beta features:
  - `code-execution-2025-08-25` - Enables code execution
  - `files-api-2025-04-14` - Required for downloading files
  - `skills-2025-10-02` - Enables Skills feature

⚠️ **Note**: When using Skills, you MUST include the code_execution tool in your request.

### Token Usage Optimization

Skills dramatically reduce token usage compared to providing instructions in prompts:

| Approach | Token Cost | Performance |
|----------|-----------|-------------|
| Manual instructions | 5,000-10,000 tokens/request | Variable quality |
| Skills (metadata only) | Minimal (just name/description) | Expert-level |
| Skills (full load) | ~5,000 tokens when skill is used | Expert-level |

**The Big Win:** You can pack multiple skills into your prompt without bloating it. Each skill only costs you the metadata (name + description) until you actually use it.

**Example**: Creating an Excel file with formatting

- Without Skills: ~8,000 tokens to explain all Excel features upfront
- With Skills: Minimal metadata overhead initially, ~5,000 tokens only when Excel skill is invoked
- **Key Insight**: The 98% savings applies to the initial context. Once you use a skill, the full instructions are loaded.

**Additional Benefits:**

- Skills contain helper scripts that are known to work, improving reliability
- Claude saves time by using proven code patterns instead of generating from scratch
- You get more consistent, professional results

### ⏱️ Expected Generation Times

**⚠️ IMPORTANT**: Document generation with Skills requires code execution and file creation, which takes time. Be patient and let cells complete.

**Observed generation times:**

- **Excel files**: ~2 minutes (with charts and formatting)
- **PowerPoint presentations**: ~1-2 minutes (simple 2-slide presentations with charts)
- **PDF documents**: ~40-60 seconds (simple documents)

**What to expect:**

- The cell will show `[*]` while running
- You may see "Executing..." status for 1-2 minutes
- **Do not interrupt the cell** - let it complete fully

**💡 Recommendations:**

1. **Start simple**: Begin with minimal examples to verify your setup
2. **Gradually increase complexity**: Add features incrementally
3. **Be patient**: Operations typically take 40 seconds to 2 minutes
4. **Note**: Very complex documents may take longer - keep examples focused

## 3. Discovering Available Skills {#discovering}

### List All Built-in Skills

Let's discover what Anthropic-managed skills are available:

``` python
# List all available Anthropic skills
# Note: Skills API requires the skills beta header
client_with_skills_beta = Anthropic(
    api_key=API_KEY, default_headers={"anthropic-beta": "skills-2025-10-02"}
)

skills_response = client_with_skills_beta.beta.skills.list(source="anthropic")

print("Available Anthropic-Managed Skills:")
print("=" * 80)

for skill in skills_response.data:
    print(f"\n📦 Skill ID: {skill.id}")
    print(f"   Title: {skill.display_title}")
    print(f"   Latest Version: {skill.latest_version}")
    print(f"   Created: {skill.created_at}")

    # Get version details
    try:
        version_info = client_with_skills_beta.beta.skills.versions.retrieve(
            skill_id=skill.id, version=skill.latest_version
        )
        print(f"   Name: {version_info.name}")
        print(f"   Description: {version_info.description}")
    except Exception as e:
        print(f"   (Unable to fetch version details: {e})")

print(f"\n\n✓ Found {len(skills_response.data)} Anthropic-managed skills")
```

### Understanding Skill Metadata

Each skill has:

- **skill_id**: Unique identifier (e.g., "xlsx", "pptx")
- **version**: Version number or "latest"
- **name**: Human-readable name
- **description**: What the skill does
- **directory**: Skill's folder structure

### Versioning Strategy

- Use `"latest"` for Anthropic skills (recommended)
- Anthropic updates skills automatically
- Pin specific versions for production stability
- Custom skills use epoch timestamps for versions

## 4. Quick Start: Excel {#excel-quickstart}

### Example: Monthly Budget Spreadsheet

We'll create a simple budget spreadsheet with:

- Income and expense categories
- Formulas for totals
- Basic formatting

**⏱️ Note**: Excel generation typically takes **1-2 minutes** (with charts and formatting). The cell will show `[*]` while running - be patient!

``` python
# Create an Excel budget spreadsheet
excel_response = client.beta.messages.create(  # Note: Using beta.messages for Skills support
    model=MODEL,
    max_tokens=4096,
    container={"skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]},
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    messages=[
        {
            "role": "user",
            "content": """Create a monthly budget Excel spreadsheet with the following:

Income:
- Salary: $5,000
- Freelance: $1,200
- Investments: $300

Expenses:
- Rent: $1,500
- Utilities: $200
- Groceries: $600
- Transportation: $300
- Entertainment: $400
- Savings: $1,000

Include:
1. Formulas to calculate total income and total expenses
2. A formula for net savings (income - expenses)
3. Format currency values properly
4. Add a simple column chart showing income vs expenses
5. Use professional formatting with headers
""",
        }
    ],
    # Use betas parameter for beta features
    betas=["code-execution-2025-08-25", "files-api-2025-04-14", "skills-2025-10-02"],
)

print("Excel Response:")
print("=" * 80)
for content in excel_response.content:
    if content.type == "text":
        print(content.text)
    elif content.type == "tool_use":
        print(f"\n🔧 Tool: {content.name}")
        if hasattr(content, "input"):
            print(f"   Input preview: {str(content.input)[:200]}...")

print("\n\n📊 Token Usage:")
print(f"   Input: {excel_response.usage.input_tokens}")
print(f"   Output: {excel_response.usage.output_tokens}")
```

### Download the Excel File

Now let's extract the file_id and download the generated Excel file:

``` python
# Extract file IDs from the response
file_ids = extract_file_ids(excel_response)

if file_ids:
    print(f"✓ Found {len(file_ids)} file(s)\n")

    # Download all files
    results = download_all_files(
        client, excel_response, output_dir=str(OUTPUT_DIR), prefix="budget_"
    )

    # Print summary
    print_download_summary(results)

    # Show file details
    for file_id in file_ids:
        info = get_file_info(client, file_id)
        if info:
            print("\n📄 File Details:")
            print(f"   Filename: {info['filename']}")
            print(f"   Size: {info['size'] / 1024:.1f} KB")
            print(f"   Created: {info['created_at']}")
else:
    print("❌ No files found in response")
    print("\nDebug: Response content types:")
    for i, content in enumerate(excel_response.content):
        print(f"  {i}. {content.type}")
```

**✨ What just happened?**

1. Claude used the `xlsx` skill to create a professional Excel file
2. The skill handled all Excel-specific formatting and formulas
3. The file was created in Claude's code execution environment
4. We extracted the `file_id` from the response
5. We downloaded the file using the Files API
6. The file is now saved in `outputs/budget_*.xlsx`

Open the file in Excel to see the results!

## 5. Quick Start: PowerPoint {#powerpoint-quickstart}

Now let's create a PowerPoint presentation using the `pptx` skill.

### Example: Simple Revenue Presentation

**Note**: This is intentionally kept simple (2 slides, 1 chart) to minimize generation time and demonstrate the core functionality.

``` python
# Create a PowerPoint presentation
pptx_response = client.beta.messages.create(
    model=MODEL,
    max_tokens=4096,
    container={"skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]},
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    messages=[
        {
            "role": "user",
            "content": """Create a simple 2-slide PowerPoint presentation:

Slide 1: Title slide
- Title: "Q3 2025 Results"
- Subtitle: "Acme Corporation"

Slide 2: Revenue Overview
- Title: "Quarterly Revenue"
- Add a simple column chart showing:
  - Q1: $12M
  - Q2: $13M
  - Q3: $14M

Use clean, professional formatting.
""",
        }
    ],
    betas=["code-execution-2025-08-25", "files-api-2025-04-14", "skills-2025-10-02"],
)

print("PowerPoint Response:")
print("=" * 80)
for content in pptx_response.content:
    if content.type == "text":
        print(content.text)

print("\n\n📊 Token Usage:")
print(f"   Input: {pptx_response.usage.input_tokens}")
print(f"   Output: {pptx_response.usage.output_tokens}")
```

### Download the PowerPoint File

``` python
# Download the PowerPoint file
file_ids = extract_file_ids(pptx_response)

if file_ids:
    results = download_all_files(
        client, pptx_response, output_dir=str(OUTPUT_DIR), prefix="q3_review_"
    )

    print_download_summary(results)

    print("\n✅ Open the presentation in PowerPoint or Google Slides to view!")
else:
    print("❌ No files found in response")
```

## 6. Quick Start: PDF {#pdf-quickstart}

**⏱️ Note**: PDF generation typically takes **40-60 seconds** for simple documents. The cell will show `[*]` while running - be patient!

### Example: Simple Receipt

**Note**: This is intentionally kept simple to ensure clean formatting.

``` python
# Create a PDF receipt
pdf_response = client.beta.messages.create(
    model=MODEL,
    max_tokens=4096,
    container={"skills": [{"type": "anthropic", "skill_id": "pdf", "version": "latest"}]},
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    messages=[
        {
            "role": "user",
            "content": """Create a simple receipt PDF:

RECEIPT

Acme Corporation
Date: January 15, 2025
Receipt #: RCT-2025-001

Customer: Jane Smith

Items:
- Product A: $50.00
- Product B: $75.00
- Product C: $25.00

Subtotal: $150.00
Tax (8%): $12.00
Total: $162.00

Thank you for your business!

Use simple, clean formatting with clear sections.
""",
        }
    ],
    betas=["code-execution-2025-08-25", "files-api-2025-04-14", "skills-2025-10-02"],
)

print("PDF Response:")
print("=" * 80)
for content in pdf_response.content:
    if content.type == "text":
        print(content.text)

print("\n\n📊 Token Usage:")
print(f"   Input: {pdf_response.usage.input_tokens}")
print(f"   Output: {pdf_response.usage.output_tokens}")
```

### Download and Verify the PDF

``` python
# Download the PDF file
file_ids = extract_file_ids(pdf_response)

if file_ids:
    results = download_all_files(
        client, pdf_response, output_dir=str(OUTPUT_DIR), prefix="receipt_"
    )

    print_download_summary(results)

    # Verify PDF integrity
    for result in results:
        if result["success"]:
            file_path = result["output_path"]
            file_size = result["size"]

            # Basic PDF validation
            with open(file_path, "rb") as f:
                header = f.read(5)
                if header == b"%PDF-":
                    print(f"\n✅ PDF file is valid: {file_path}")
                    print(f"   File size: {file_size / 1024:.1f} KB")
                else:
                    print(f"\n⚠️ File may not be a valid PDF: {file_path}")
else:
    print("❌ No files found in response")
```

## 7. Troubleshooting {#troubleshooting}

### Common Issues and Solutions

### Issue 1: API Key Not Found

**Error:**

```
ValueError: ANTHROPIC_API_KEY not found
```

**Solution:**

1. Ensure `.env` file exists in the parent directory
2. Check that `ANTHROPIC_API_KEY=sk-ant-api03-...` is set
3. Restart the Jupyter kernel after creating/editing `.env`

### Issue 2: Container Parameter Not Recognized

**Error:**

```
TypeError: Messages.create() got an unexpected keyword argument 'container'
```

**Solution:** Use `client.beta.messages.create()` instead of `client.messages.create()`:

``` python
# ✅ Correct - use beta.messages
response = client.beta.messages.create(
    model=MODEL,
    container={"skills": [...]},
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    messages=[...],
    betas=["code-execution-2025-08-25", "files-api-2025-04-14", "skills-2025-10-02"]
)

# ❌ Incorrect - regular messages doesn't support container
response = client.messages.create(
    model=MODEL,
    container={"skills": [...]},  # Error!
    messages=[...]
)
```

### Issue 3: Skills Beta Requires Code Execution Tool

**Error:**

```
BadRequestError: Skills beta requires the code_execution tool to be included in the request.
```

**Solution:** When using Skills, you MUST include the code_execution tool:

``` python
# ✅ Correct
response = client.beta.messages.create(
    model=MODEL,
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    messages=[...],
    betas=["...", "skills-2025-10-02"]
)

# ❌ Incorrect - missing code_execution tool
response = client.beta.messages.create(
    model=MODEL,
    messages=[...],
    betas=["...", "skills-2025-10-02"]
)
```

### Issue 4: No Files Found in Response

**Error:**

```
❌ No files found in response
```

**Solution:**

1. Check that code execution tool is included in the request
2. Verify the skill was loaded (check response content)
3. Ensure the task actually requires file creation
4. Look for error messages in the response text

### Issue 5: File Download Failed

**Error:**

```
Error retrieving file: File not found
```

**Solution:**

1. Files may have a limited lifetime on Anthropic's servers
2. Download files immediately after creation
3. Check file_id is correctly extracted from response
4. Verify Files API beta is included in betas list

### Token Optimization Tips

1. **Use "latest" version** for Anthropic skills - automatically optimized
2. **Batch operations** - Create multiple files in one conversation when possible
3. **Reuse containers** - Use `container.id` from previous responses to avoid reloading skills
4. **Be specific** - Clear instructions mean fewer iterations

### API Rate Limiting

If you encounter rate limits:

- Implement exponential backoff for retries
- Use batch processing for multiple files
- Consider upgrading your API tier for higher limits

## Next Steps

🎉 **Congratulations!** You've learned the basics of Claude Skills.

### See Skills in Action

Check out the official announcement to see how these Skills power Claude's file creation capabilities:

- **[Claude Creates Files](../19-Reference/create-files.md)** - See how Skills enable Claude to create and edit Excel, PowerPoint, and PDF files directly

### Continue Learning

- **[Notebook 2: Financial Applications](https://support.claude.com/en/articles/02_skills_financial_applications.ipynb)** - Real-world business use cases with financial data
- **[Notebook 3: Custom Skills Development](https://support.claude.com/en/articles/03_skills_custom_development.ipynb)** - Build your own specialized skills

### Support Articles

- 📚 **[Teach Claude your way of working using Skills](../15-Claude-AI-Features/teach-claude-your-way-of-working-using-skills.md)** - User guide for working with Skills
- 🛠️ **[How to create a skill with Claude through conversation](../15-Claude-AI-Features/how-to-create-a-skill-with-claude-through-conversation.md)** - Interactive skill creation guide

### Resources

- [Claude API Documentation](https://docs.anthropic.com/en/api/messages)
- [Skills Documentation](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview)
- [Skills Best Practices](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices)
- [Files API Documentation](https://docs.claude.com/en/api/files-content)
- [Claude Support](https://support.claude.com)

### Try These Experiments

1. Start with simple one-line prompts to see Skills in action
2. Modify the budget example to include more categories
3. Create a presentation with your own data
4. Generate a PDF report combining text and tables
5. Use multiple skills together in a single request
