Skip to content

Releases: austenstone/copilot-cli

v3.0

11 Mar 17:07
5b23dfc

Choose a tag to compare

Release v3.0

Release Date: March 11, 2026

💥 Breaking Changes

Token Simplification

  • copilot-token is now deprecated — the default github.token now supports copilot-requests permission natively. No PAT needed.
  • If you were passing copilot-token: ${{ secrets.COPILOT_TOKEN }}, you can remove it entirely.

✨ New Inputs

Input Default Description
autopilot true Enable autopilot continuation in prompt mode
max-turns unlimited Maximum number of autopilot continuation turns
no-ask-user true Disable ask_user tool for fully autonomous CI execution
silent false Output only the agent response without usage statistics
reasoning-effort Set reasoning effort level (low, medium, high, xhigh)
output-format Output format (json for JSONL output)
fail-on-error false Fail the step on non-zero Copilot CLI exit code
experimental false Enable experimental CLI features
share Share session to a markdown file after completion
share-gist false Share session to a secret GitHub gist
allowed-urls Comma-separated list of URLs/domains to allow
denied-urls Comma-separated list of URLs/domains to deny
disable-builtin-mcps false Disable all built-in MCP servers
add-github-mcp-tools Comma-separated list of specific GitHub MCP tools to enable
add-github-mcp-toolsets Comma-separated list of GitHub MCP toolsets to enable

📤 New Outputs

Output Description
session-path Path to the shared session markdown file (when share is used)

🐛 Bug Fixes

  • copilot-config was never applied — the config input was accepted but never written to ~/.copilot/config.json. Now properly applied before every run.
  • MCP config path used $XDG_CONFIG_HOME which may not be set on all runners — switched to $HOME/.copilot/ for consistency.
  • Artifact name collisions when using the action in multiple jobs within the same workflow — artifact names now include github.job.

🛠️ Improvements

  • copilot-config is now written to ~/.copilot/config.json so CLI settings like banner, theme, and render_markdown are respected.
  • Session share files (copilot-session-*.md) are now included in the uploaded artifact.
  • 15-job CI test matrix covering every input: basic, autopilot, silent, model, json-output, denied-tools, github-mcp, no-builtin-mcps, url-controls, share, experimental, additional-dirs, agent, fail-on-error, and config.

🔄 Migration Guide

Before (v2.0):

- uses: austenstone/copilot-cli@v2
  with:
    copilot-token: ${{ secrets.COPILOT_TOKEN }}
    prompt: "Review this code"

After (v3.0):

permissions:
  copilot-requests: write

- uses: austenstone/copilot-cli@v3
  with:
    prompt: "Review this code"

v2.0

28 Nov 15:56

Choose a tag to compare

🚀 Release v2.0

Release Date: November 28, 2025

💥 Breaking Changes

Token Configuration Overhaul

  • github-tokencopilot-token (renamed & now required)

    • The action now requires an explicit PAT with "Copilot Requests" permission
    • The default github.token does NOT have Copilot access — you must provide a PAT
  • New repo-token input for separation of concerns

    • Use copilot-token for Copilot API access
    • Use repo-token for standard GitHub operations (push, PRs, etc.)
    • Defaults to github.token if not specified

MCP Configuration Changes

  • MCP config no longer pre-configures GitHub MCP server by default
    • In v1.0, the GitHub MCP server was always injected into your config
    • In v2.0, you must explicitly configure MCP servers or use enable-all-github-mcp-tools: true
    • This gives users full control over their MCP setup

✨ New Features

🆕 New Inputs

Input Description
allowed-tools Comma-separated list of tools to explicitly allow
agent Specify a custom agent to use
log-level Configurable logging: none, error, warning, info, debug, all, default
enable-all-github-mcp-tools Opt-in to enable all GitHub MCP tools
options Pass arbitrary additional CLI flags

🗑️ Removed Inputs

Removed Reason
github-mcp-toolsets Replaced by explicit MCP configuration
no-color Use options: "--no-color" instead
screen-reader Use options: "--screen-reader" instead
show-banner Use options: "--banner" instead
cache-cli Removed for simplicity

🛠️ Improvements

  • Consolidated installation, configuration, and execution into a cleaner script
  • Improved grouped logging for better CI readability
  • Removed unnecessary git configuration step
  • Prompt is now logged in its own group for visibility
  • actions/setup-node upgraded from v4 → v6
  • Boolean inputs now use proper true/false types

🔄 Migration Guide

Before (v1.0):

- uses: austenstone/copilot-cli@v1
  with:
    github-token: ${{ secrets.MY_PAT }}
    prompt: "Review this code"

After (v2.0):

- uses: austenstone/copilot-cli@v2
  with:
    copilot-token: ${{ secrets.COPILOT_TOKEN }}
    prompt: "Review this code"

Full Changelog: v1.0...v2.0

v1.0

23 Nov 18:58
2b241d6

Choose a tag to compare

Update test-copilot.yml