| mode | Operation mode: sync (create translation PRs), review (quality assessment), or rebase (update conflicted translation PRs) | yes | — |
| target-repo | Target repository for translations (owner/repo). Required for sync mode. | no | — |
| target-language | Target language code (e.g., zh-cn, fa). Required for sync mode. | no | — |
| source-repo | Source repository for English content (owner/repo). Required for review mode. | no | — |
| max-suggestions | Maximum number of improvement suggestions in review comment | no | 5 |
| auto-merge-mode | Auto-merge gate mode for review mode: "off" (default) or "shadow". Shadow computes and records the would-auto-merge decision in the verdict block and the would-auto-merge output without acting on it. "active" is not implemented yet and fails loudly (#103).
| no | off |
| docs-folder | Documentation folder pattern (e.g., lectures/) | no | lectures/ |
| source-language | Source language code (e.g., en) | no | en |
| glossary-path | Path to custom translation glossary JSON file (optional - built-in glossary used by default) | no | "" |
| toc-file | Table of contents file name | no | _toc.yml |
| anthropic-api-key | Anthropic API key for Claude | yes | — |
| claude-model | Claude model to use for translation | no | claude-sonnet-5 |
| github-token | GitHub token for API access | yes | — |
| pr-labels | Comma-separated labels for created PRs | no | action-translation,automated |
| pr-reviewers | Comma-separated list of GitHub usernames to request as reviewers (e.g., user1,user2). Leave empty for no reviewers. | no | "" |
| pr-team-reviewers | Comma-separated list of GitHub team slugs to request as reviewers (e.g., team1,team2). Leave empty for no team reviewers. | no | "" |
| test-mode | Run in test mode (use PR head commit instead of merge commit). Set to "true" for testing. | no | false |
| rebase-stale-siblings | Rebase mode. When "true", open translation PRs that do NOT overlap the merged PR are still refreshed against the new base (a merge of the base branch, no re-translation), which re-triggers their CI. Intended for drift-recovery waves, where `forward` opens one PR per lecture so siblings never overlap and would otherwise all go stale. Off by default: during a large wave this refreshes every other open PR on every merge.
| no | false |