anthropics / anthropics/claude-code-action

[BUG] Multiline claude_args with Bash tools containing spaces parsed incorrectly

Ouverte
#844 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug p2
Langage dominant
TypeScript
Étoiles
8.9k
Forks
2.1k
Merge moyen
3 j 9 h
PR mergées (30 j)
10

Description

## Bug Description

When using multiline YAML for `claude_args` with Bash tool patterns that contain spaces (like `Bash(git diff --name-only HEAD~1)`), the SDK incorrectly parses the `--allowedTools` argument by splitting on spaces.

## Reproduction

```yaml
claude_args: |
--max-turns 15
--allowedTools Bash(git diff --name-only HEAD~1),Bash(git diff HEAD~1),Read,Glob,Grep
```

## Expected Behavior

SDK should parse `allowedTools` as:
```json
["Bash(git diff --name-only HEAD~1)", "Bash(git diff HEAD~1)", "Read", "Glob", "Grep"]
```

## Actual Behavior

SDK parses `allowedTools` as:
```json
["Bash", "git", "diff"]
```

From the logs:
```
SDK options: {
"allowedTools": [
"Bash",
"git",
"diff"
],
...
"extraArgs": {
"max-turns": "15",
"name-only": "HEAD~1"
},
...
}
```

Note that `--name-only HEAD~1` is also incorrectly parsed as a separate extraArg.

## Evidence

Full error:
```
SDK execution error: error: Claude Code process exited with code 1
```

## Workaround

Put everything on a single line with quotes:
```yaml
claude_args: --max-turns 15 --allowedTools "Bash(git diff --name-only HEAD~1),Bash(git diff HEAD~1),Read,Glob,Grep"
```

## Environment

- Action version: `anthropics/claude-code-action@v1`
- Runner: `ubuntu-latest`
- Event: `pull_request`

## Notes

The [migration guide](https://github.com/anthropics/claude-code-action/blob/main/docs/migration-guide.md) shows multiline `claude_args` examples, but they don't include Bash tools with spaces:
```yaml
claude_args: |
--max-turns 15
--allowedTools Edit,Read,Write,Bash
```

The issue appears to be that `shell-quote` (or whatever parser is used) doesn't handle the multiline + spaces-in-arguments combination correctly.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.