You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| `action.prompt` | string | yes | The prompt sent to Claude |
77
-
| `action.claude_args` | string | no | Extra CLI args for Claude |
78
81
| `action.plugins` | string | no | Plugins to enable |
82
+
| `action.allowed_tools` | string[] | no | Additional tools to allow beyond the defaults (see below) |
79
83
| `checkout` | object | no | Args passed to `actions/checkout@v4` |
80
84
| `pre_action_steps` | array | no | GHA steps to run before the action |
81
85
| `post_action_steps` | array | no | GHA steps to run after the action |
82
86
83
87
Pre/post action steps are validated against the [GitHub Actions step schema](https://json.schemastore.org/github-workflow.json) — each step must have exactly one of `uses` or `run`, and `shell`/`working-directory` are only valid with `run`.
84
88
89
+
### Default Allowed Tools
90
+
91
+
Every generated workflow automatically allows a set of safe, non-mutating tools via `--allowedTools`. These are passed as CLI args to Claude and do not need to be specified in your spec:
To allow additional tools (e.g. mutation tools like `Edit`, `Write`, or scoped `Bash` patterns), use `action.allowed_tools` in your spec. Duplicates with the defaults are automatically removed.
106
+
85
107
## CLI Usage
86
108
87
109
```bash
@@ -175,3 +197,4 @@ src/
175
197
- **Strict schemas**: The root spec and `action` block use strict Zod schemas (reject unknown keys) to catch typos. Pre/post steps are validated against the GHA step spec from SchemaStore.
176
198
- **`secrets: inherit`**: Reusable workflows get secrets from the dispatcher, keeping configuration simple.
177
199
- **Hardcoded permissions**: Reusable workflows set `contents: write`, `pull-requests: write`, `issues: write`, `id-token: write` — what claude-code-action needs.
200
+
- **Default allowed tools**: Every workflow gets a safe baseline set of non-mutating tools. Users can extend this via `action.allowed_tools` without needing to re-specify the defaults.
0 commit comments