| github_token | GitHub token for API access | yes | — |
| provider | LLM provider (e.g. openai, google, anthropic, zai, etc.) | yes | — |
| model | Model to use (e.g., gpt-5.4, gpt-4o, gemini-2.5-pro) | yes | — |
| token | API token for the LLM provider. Required for most providers, but can be omitted when using providers that support alternative auth mechanisms (e.g. google-vertex with Application Default Credentials). | no | — |
| thinking_level | Thinking level (e.g. off, low, medium, high) | no | off |
| prompt | Optional prompt to send to the agent. When provided, the trigger phrase is not required and the prompt is used as-is (useful for non-interactive workflows). Falls back to extracting the prompt from the triggering comment if not set. Mutually exclusive with prompt_file. | no | — |
| prompt_file | Path to a Markdown/text file containing the prompt template (relative to the repository root). Supports {{VAR_NAME}} placeholders that are replaced with the corresponding environment variables at runtime. Mutually exclusive with prompt. | no | — |
| trigger | Trigger phrase for the pi agent (e.g. /pi) | no | /pi |
| extensions | Custom Pi extensions to load (one per line). Supports npm packages (npm:package-name), git repos (git:github.com/user/repo), or local file paths. | no | "" |
| load_builtin_extensions | Whether to load built-in GitHub extensions (create_pull_request, update_pull_request, get_issue_or_pr_thread) | no | true |
| base_url | Optional override for the provider base URL (e.g. to route OpenAI traffic through a proxy or use an OpenAI-compatible gateway). | no | "" |
| export_session_html | Export the Pi session as a self-contained HTML file and expose its path via the `session_html_path` output. Set to false to disable. | no | false |
| suppress_final_comment | When true, the final summary comment is not posted on the issue/PR. Useful when the agent itself posts comments during execution and a redundant summary is not desired. | no | false |
| suppress_bun_install | When true, skips installing bun via oven-sh/setup-bun. Useful when bun is already installed in the workflow or provided by a runner. | no | false |
| retries | Number of retry attempts when the LLM provider returns a transient error (e.g. invalid request, server error). Each retry creates a fresh session. Set to 0 to disable retries. | no | 3 |