ruvnet / ruvnet/ruflo

[BUG] claude-flow generates invalid Claude Code settings.json permission syntax

Open
#773 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
72.7k
Forks
8.6k
Avg merge
2d 23h
Merged PRs (30d)
83

Description

### Description
claude-flow v2.0.0-alpha.128 generates `.claude/settings.json` with invalid permission syntax that causes Claude Code to report validation errors. The tool uses `*` wildcards instead of the required `:*` prefix matching syntax.

### Current Behavior
claude-flow generates permissions like:
```json
"allow": [
"Bash(npx claude-flow *)",
"Bash(git diff *)",
"Bash(git commit *)"
]
```

### Expected Behavior
Should generate Claude Code compatible syntax:
```json
"allow": [
"Bash(npx claude-flow:*)",
"Bash(git diff:*)",
"Bash(git commit:*)"
]
```

### Error Messages
```
Invalid Settings
/home/vamsi/svclnk-migration/.claude/settings.json
└ permissions
├ allow
│ ├ "Bash(npx claude-flow *)": Use ":*" for prefix matching, not just "*".
│ Change to "Bash(npx claude-flow:*)" for prefix matching.
│ ├ "Bash(git diff *)": Use ":*" for prefix matching, not just "*".
│ Change to "Bash(git diff:*)" for prefix matching.
```

### Steps to Reproduce
1. Install claude-flow: `npm install -g claude-flow@alpha`
2. Initialize claude-flow in a project
3. Check `.claude/settings.json` permissions section
4. Run Claude Code doctor command to see validation errors

### Environment
- **claude-flow version:** v2.0.0-alpha.128
- **Claude Code version:** 1.0.128
- **OS:** Linux

### Suggested Fix
Update the settings generator to:
1. Replace all `*` with `:*` for prefix matching in allow/deny lists
2. Remove unsupported wildcard patterns in the middle of commands (e.g., `"Bash(curl * | bash)"`)
3. Follow Claude Code's permission syntax documentation

### Additional Context
This affects all users trying to use claude-flow with Claude Code, causing permission validation errors that need manual fixing.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the generated .claude/settings.json with the listed install and initialization steps, then run the Claude Code doctor command to observe the validation errors. Trace the settings generator entry point responsible for the allow and deny lists; done means generated permissions follow Claude Code syntax and no longer produce these validation errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli, devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.