mirror of
https://github.com/anthropics/claude-code.git
synced 2026-04-22 20:12:45 +00:00
Compare commits
18 Commits
v2.1.3
...
hackyon/up
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
19a829ba68 | ||
|
|
18979efb8d | ||
|
|
f77acdf149 | ||
|
|
c13cf781ef | ||
|
|
cc70d3ab50 | ||
|
|
250b257c4e | ||
|
|
dec754edc9 | ||
|
|
6a2936ab79 | ||
|
|
f860f671dc | ||
|
|
76df7eea04 | ||
|
|
a8d107f9cc | ||
|
|
b640d94a49 | ||
|
|
b17c088cdc | ||
|
|
a856c62014 | ||
|
|
0359f24538 | ||
|
|
b8497141a5 | ||
|
|
9cc635aac1 | ||
|
|
495d6a3d4b |
9
.github/workflows/claude-dedupe-issues.yml
vendored
9
.github/workflows/claude-dedupe-issues.yml
vendored
@@ -17,19 +17,22 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Run Claude Code slash command
|
||||
uses: anthropics/claude-code-base-action@beta
|
||||
uses: anthropics/claude-code-action@v1
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
allowed_non_write_users: "*"
|
||||
prompt: "/dedupe ${{ github.repository }}/issues/${{ github.event.issue.number || inputs.issue_number }}"
|
||||
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
claude_args: "--model claude-sonnet-4-5-20250929"
|
||||
claude_env: |
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Log duplicate comment event to Statsig
|
||||
if: always()
|
||||
|
||||
76
.github/workflows/claude-issue-triage.yml
vendored
76
.github/workflows/claude-issue-triage.yml
vendored
@@ -11,15 +11,45 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Create triage prompt
|
||||
- name: Setup GitHub MCP Server
|
||||
run: |
|
||||
mkdir -p /tmp/claude-prompts
|
||||
cat > /tmp/claude-prompts/triage-prompt.txt << 'EOF'
|
||||
mkdir -p /tmp/mcp-config
|
||||
cat > /tmp/mcp-config/mcp-servers.json << 'EOF'
|
||||
{
|
||||
"mcpServers": {
|
||||
"github": {
|
||||
"command": "docker",
|
||||
"args": [
|
||||
"run",
|
||||
"-i",
|
||||
"--rm",
|
||||
"-e",
|
||||
"GITHUB_PERSONAL_ACCESS_TOKEN",
|
||||
"ghcr.io/github/github-mcp-server:sha-7aced2b"
|
||||
],
|
||||
"env": {
|
||||
"GITHUB_PERSONAL_ACCESS_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
- name: Run Claude Code for Issue Triage
|
||||
timeout-minutes: 5
|
||||
uses: anthropics/claude-code-action@v1
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
allowed_non_write_users: "*"
|
||||
prompt: |
|
||||
You're an issue triage assistant for GitHub issues. Your task is to analyze the issue and select appropriate labels from the provided list.
|
||||
|
||||
IMPORTANT: Don't post any comments or messages to the issue. Your only action should be to apply labels.
|
||||
@@ -68,40 +98,8 @@ jobs:
|
||||
- DO NOT post any comments to the issue
|
||||
- Your ONLY action should be to apply labels using mcp__github__update_issue
|
||||
- It's okay to not add any labels if none are clearly applicable
|
||||
EOF
|
||||
|
||||
- name: Setup GitHub MCP Server
|
||||
run: |
|
||||
mkdir -p /tmp/mcp-config
|
||||
cat > /tmp/mcp-config/mcp-servers.json << 'EOF'
|
||||
{
|
||||
"mcpServers": {
|
||||
"github": {
|
||||
"command": "docker",
|
||||
"args": [
|
||||
"run",
|
||||
"-i",
|
||||
"--rm",
|
||||
"-e",
|
||||
"GITHUB_PERSONAL_ACCESS_TOKEN",
|
||||
"ghcr.io/github/github-mcp-server:sha-7aced2b"
|
||||
],
|
||||
"env": {
|
||||
"GITHUB_PERSONAL_ACCESS_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
- name: Run Claude Code for Issue Triage
|
||||
uses: anthropics/claude-code-base-action@beta
|
||||
with:
|
||||
prompt_file: /tmp/claude-prompts/triage-prompt.txt
|
||||
allowed_tools: "Bash(gh label list),mcp__github__get_issue,mcp__github__get_issue_comments,mcp__github__update_issue,mcp__github__search_issues,mcp__github__list_issues"
|
||||
timeout_minutes: "5"
|
||||
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
mcp_config: /tmp/mcp-config/mcp-servers.json
|
||||
claude_args: "--model claude-sonnet-4-5-20250929"
|
||||
claude_env: |
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
claude_args: |
|
||||
--model claude-sonnet-4-5-20250929
|
||||
--mcp-config /tmp/mcp-config/mcp-servers.json
|
||||
--allowedTools "Bash(gh label list),mcp__github__get_issue,mcp__github__get_issue_comments,mcp__github__update_issue,mcp__github__search_issues,mcp__github__list_issues"
|
||||
|
||||
2
.github/workflows/claude.yml
vendored
2
.github/workflows/claude.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
|
||||
- name: Run Claude Code
|
||||
id: claude
|
||||
uses: anthropics/claude-code-action@beta
|
||||
uses: anthropics/claude-code-action@v1
|
||||
with:
|
||||
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
claude_args: "--model claude-sonnet-4-5-20250929"
|
||||
|
||||
74
.github/workflows/oncall-triage.yml
vendored
74
.github/workflows/oncall-triage.yml
vendored
@@ -16,15 +16,45 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Create oncall triage prompt
|
||||
- name: Setup GitHub MCP Server
|
||||
run: |
|
||||
mkdir -p /tmp/claude-prompts
|
||||
cat > /tmp/claude-prompts/oncall-triage-prompt.txt << 'EOF'
|
||||
mkdir -p /tmp/mcp-config
|
||||
cat > /tmp/mcp-config/mcp-servers.json << 'EOF'
|
||||
{
|
||||
"mcpServers": {
|
||||
"github": {
|
||||
"command": "docker",
|
||||
"args": [
|
||||
"run",
|
||||
"-i",
|
||||
"--rm",
|
||||
"-e",
|
||||
"GITHUB_PERSONAL_ACCESS_TOKEN",
|
||||
"ghcr.io/github/github-mcp-server:sha-7aced2b"
|
||||
],
|
||||
"env": {
|
||||
"GITHUB_PERSONAL_ACCESS_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
- name: Run Claude Code for Oncall Triage
|
||||
timeout-minutes: 10
|
||||
uses: anthropics/claude-code-action@v1
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
allowed_non_write_users: "*"
|
||||
prompt: |
|
||||
You're an oncall triage assistant for GitHub issues. Your task is to identify critical issues that require immediate oncall attention.
|
||||
|
||||
Important: Don't post any comments or messages to the issues. Your only action should be to apply the "oncall" label to qualifying issues.
|
||||
@@ -82,39 +112,7 @@ jobs:
|
||||
- Close calls: List any issues that almost qualified but didn't quite meet the criteria (e.g., borderline blocking, had workarounds)
|
||||
- If no issues qualified, state that clearly
|
||||
- Format the summary clearly for easy reading
|
||||
EOF
|
||||
|
||||
- name: Setup GitHub MCP Server
|
||||
run: |
|
||||
mkdir -p /tmp/mcp-config
|
||||
cat > /tmp/mcp-config/mcp-servers.json << 'EOF'
|
||||
{
|
||||
"mcpServers": {
|
||||
"github": {
|
||||
"command": "docker",
|
||||
"args": [
|
||||
"run",
|
||||
"-i",
|
||||
"--rm",
|
||||
"-e",
|
||||
"GITHUB_PERSONAL_ACCESS_TOKEN",
|
||||
"ghcr.io/github/github-mcp-server:sha-7aced2b"
|
||||
],
|
||||
"env": {
|
||||
"GITHUB_PERSONAL_ACCESS_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
- name: Run Claude Code for Oncall Triage
|
||||
uses: anthropics/claude-code-base-action@beta
|
||||
with:
|
||||
prompt_file: /tmp/claude-prompts/oncall-triage-prompt.txt
|
||||
allowed_tools: "mcp__github__list_issues,mcp__github__get_issue,mcp__github__get_issue_comments,mcp__github__update_issue"
|
||||
timeout_minutes: "10"
|
||||
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
mcp_config: /tmp/mcp-config/mcp-servers.json
|
||||
claude_env: |
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
claude_args: |
|
||||
--mcp-config /tmp/mcp-config/mcp-servers.json
|
||||
--allowedTools "mcp__github__list_issues,mcp__github__get_issue,mcp__github__get_issue_comments,mcp__github__update_issue"
|
||||
|
||||
55
CHANGELOG.md
55
CHANGELOG.md
@@ -1,5 +1,60 @@
|
||||
# Changelog
|
||||
|
||||
## 2.1.7
|
||||
|
||||
- Added `showTurnDuration` setting to hide turn duration messages (e.g., "Cooked for 1m 6s")
|
||||
- Added ability to provide feedback when accepting permission prompts
|
||||
- Added inline display of agent's final response in task notifications, making it easier to see results without reading the full transcript file
|
||||
- Fixed security vulnerability where wildcard permission rules could match compound commands containing shell operators
|
||||
- Fixed false "file modified" errors on Windows when cloud sync tools, antivirus scanners, or Git touch file timestamps without changing content
|
||||
- Fixed orphaned tool_result errors when sibling tools fail during streaming execution
|
||||
- Fixed context window blocking limit being calculated using the full context window instead of the effective context window (which reserves space for max output tokens)
|
||||
- Fixed spinner briefly flashing when running local slash commands like `/model` or `/theme`
|
||||
- Fixed terminal title animation jitter by using fixed-width braille characters
|
||||
- Fixed plugins with git submodules not being fully initialized when installed
|
||||
- Fixed bash commands failing on Windows when temp directory paths contained characters like `t` or `n` that were misinterpreted as escape sequences
|
||||
- Improved typing responsiveness by reducing memory allocation overhead in terminal rendering
|
||||
- Enabled MCP tool search auto mode by default for all users. When MCP tool descriptions exceed 10% of the context window, they are automatically deferred and discovered via the MCPSearch tool instead of being loaded upfront. This reduces context usage for users with many MCP tools configured. Users can disable this by adding `MCPSearch` to `disallowedTools` in their settings.
|
||||
- Changed OAuth and API Console URLs from console.anthropic.com to platform.claude.com
|
||||
- [VSCode] Fixed `claudeProcessWrapper` setting passing the wrapper path instead of the Claude binary path
|
||||
|
||||
## 2.1.6
|
||||
|
||||
- Added search functionality to `/config` command for quickly filtering settings
|
||||
- Added Updates section to `/doctor` showing auto-update channel and available npm versions (stable/latest)
|
||||
- Added date range filtering to `/stats` command - press `r` to cycle between Last 7 days, Last 30 days, and All time
|
||||
- Added automatic discovery of skills from nested `.claude/skills` directories when working with files in subdirectories
|
||||
- Added `context_window.used_percentage` and `context_window.remaining_percentage` fields to status line input for easier context window display
|
||||
- Added an error display when the editor fails during Ctrl+G
|
||||
- Fixed permission bypass via shell line continuation that could allow blocked commands to execute
|
||||
- Fixed false "File has been unexpectedly modified" errors when file watchers touch files without changing content
|
||||
- Fixed text styling (bold, colors) getting progressively misaligned in multi-line responses
|
||||
- Fixed the feedback panel closing unexpectedly when typing 'n' in the description field
|
||||
- Fixed rate limit warning appearing at low usage after weekly reset (now requires 70% usage)
|
||||
- Fixed rate limit options menu incorrectly auto-opening when resuming a previous session
|
||||
- Fixed numpad keys outputting escape sequences instead of characters in Kitty keyboard protocol terminals
|
||||
- Fixed Option+Return not inserting newlines in Kitty keyboard protocol terminals
|
||||
- Fixed corrupted config backup files accumulating in the home directory (now only one backup is created per config file)
|
||||
- Fixed `mcp list` and `mcp get` commands leaving orphaned MCP server processes
|
||||
- Fixed visual artifacts in ink2 mode when nodes become hidden via `display:none`
|
||||
- Improved the external CLAUDE.md imports approval dialog to show which files are being imported and from where
|
||||
- Improved the `/tasks` dialog to go directly to task details when there's only one background task running
|
||||
- Improved @ autocomplete with icons for different suggestion types and single-line formatting
|
||||
- Updated "Help improve Claude" setting fetch to refresh OAuth and retry when it fails due to a stale OAuth token
|
||||
- Changed task notification display to cap at 3 lines with overflow summary when multiple background tasks complete simultaneously
|
||||
- Changed terminal title to "Claude Code" on startup for better window identification
|
||||
- Removed ability to @-mention MCP servers to enable/disable - use `/mcp enable <name>` instead
|
||||
- [VSCode] Fixed usage indicator not updating after manual compact
|
||||
|
||||
## 2.1.5
|
||||
|
||||
- Added `CLAUDE_CODE_TMPDIR` environment variable to override the temp directory used for internal temp files, useful for environments with custom temp directory requirements
|
||||
|
||||
## 2.1.4
|
||||
|
||||
- Added `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` environment variable to disable all background task functionality including auto-backgrounding and the Ctrl+B shortcut
|
||||
- Fixed "Help improve Claude" setting fetch to refresh OAuth and retry when it fails due to a stale OAuth token
|
||||
|
||||
## 2.1.3
|
||||
|
||||
- Merged slash commands and skills, simplifying the mental model with no change in behavior
|
||||
|
||||
41
README.md
41
README.md
@@ -11,30 +11,37 @@ Claude Code is an agentic coding tool that lives in your terminal, understands y
|
||||
<img src="./demo.gif" />
|
||||
|
||||
## Get started
|
||||
> [!NOTE]
|
||||
> Installation via npm is deprecated. Use one of the recommended methods below.
|
||||
|
||||
For more installation options, uninstall steps, and troubleshooting, see the [setup documentation](https://code.claude.com/docs/en/setup).
|
||||
|
||||
1. Install Claude Code:
|
||||
|
||||
**MacOS/Linux:**
|
||||
```bash
|
||||
curl -fsSL https://claude.ai/install.sh | bash
|
||||
```
|
||||
**MacOS/Linux (Recommended):**
|
||||
```bash
|
||||
curl -fsSL https://claude.ai/install.sh | bash
|
||||
```
|
||||
|
||||
**Homebrew (MacOS):**
|
||||
```bash
|
||||
brew install --cask claude-code
|
||||
```
|
||||
**Homebrew (MacOS/Linux):**
|
||||
```bash
|
||||
brew install --cask claude-code
|
||||
```
|
||||
|
||||
**Windows:**
|
||||
```powershell
|
||||
irm https://claude.ai/install.ps1 | iex
|
||||
```
|
||||
**Windows (Recommended):**
|
||||
```powershell
|
||||
irm https://claude.ai/install.ps1 | iex
|
||||
```
|
||||
|
||||
**NPM:**
|
||||
```bash
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
```
|
||||
**WinGet (Windows):**
|
||||
```powershell
|
||||
winget install Anthropic.ClaudeCode
|
||||
```
|
||||
|
||||
NOTE: If installing with NPM, you also need to install [Node.js 18+](https://nodejs.org/en/download/)
|
||||
**NPM (Deprecated):**
|
||||
```bash
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
```
|
||||
|
||||
2. Navigate to your project directory and run `claude`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user