actions / actions/runner

Version: v2.329.0 not work since ~2026-01-20 16:30 GMT

Open
#4,203 4 comments 16 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C#
Stars
6.3k
Forks
1.4k
Avg merge
1d 16h
Merged PRs (30d)
24

Description

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the K8s cluster and try to grep a live runner pod to get the logs from it
  2. From the log, you can find this:
[RUNNER 2026-01-20 16:15:42Z ERR  Terminal] WRITE ERROR: An error occured: Runner version v2.329.0 is deprecated and cannot receive messages.
An error occured: Runner version v2.329.0 is deprecated and cannot receive messages.
  1. Runner exited immediately after the error occured.

Expected behavior
Runner should continue to complete the registration. And regarding to the last upgrade note on 12-12-2025, that only mentioned the minimum required version is v2.329.0.

Runner Version and Platform

Version of your runner?
v2.329.0

What's not working?

After upgrade to v2.331.0, the runner works.

Job Log Output

√ Connected to GitHub
[RUNNER 2026-01-20 16:15:40Z INFO Terminal] WRITE LINE: 

[RUNNER 2026-01-20 16:15:40Z INFO RSAFileKeyManager] Loading RSA key parameters from file /home/runner/.credentials_rsaparams
[RUNNER 2026-01-20 16:15:40Z INFO RSAFileKeyManager] Loading RSA key parameters from file /home/runner/.credentials_rsaparams
[RUNNER 2026-01-20 16:15:41Z INFO GitHubActionsService] AAD Correlation ID for this token request: Unknown
[RUNNER 2026-01-20 16:15:41Z INFO BrokerMessageListener] Session created.
[RUNNER 2026-01-20 16:15:41Z INFO Terminal] WRITE LINE: Current runner version: '2.329.0'
Current runner version: '2.329.0'
[RUNNER 2026-01-20 16:15:41Z INFO Terminal] WRITE LINE: 2026-01-20 16:15:41Z: Listening for Jobs
2026-01-20 16:15:41Z: Listening for Jobs
[RUNNER 2026-01-20 16:15:41Z INFO JobDispatcher] Set runner/worker IPC timeout to 30 seconds.
[RUNNER 2026-01-20 16:15:41Z ERR  GitHubActionsService] GET request to https://broker.actions.githubusercontent.com/message?sessionId=feeb7f89-9fd4-4bde-bb64-e2066892a918&status=Online&runnerVersion=2.329.0&os=Linux&architecture=X64&disableUpdate=true failed. HTTP Status: Forbidden
[RUNNER 2026-01-20 16:15:41Z INFO JobDispatcher] Shutting down JobDispatcher. Make sure all WorkerDispatcher has finished.
[RUNNER 2026-01-20 16:15:41Z INFO Runner] Deleting Runner Session...
[RUNNER 2026-01-20 16:15:42Z ERR  Terminal] WRITE ERROR: An error occured: Runner version v2.329.0 is deprecated and cannot receive messages.
An error occured: Runner version v2.329.0 is deprecated and cannot receive messages.
[RUNNER 2026-01-20 16:15:42Z ERR  Listener] GitHub.DistributedTask.WebApi.AccessDeniedException: Runner version v2.329.0 is deprecated and cannot receive messages.
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Actions.RunService.WebApi.BrokerHttpClient.GetRunnerMessageAsync(Nullable`1 sessionId, String runnerVersion, Nullable`1 status, String os, String architecture, Nullable`1 disableUpdate, CancellationToken cancellationToken)
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Common.BrokerServer.<>c__DisplayClass7_0.<<GetRunnerMessageAsync>b__0>d.MoveNext()
[RUNNER 2026-01-20 16:15:42Z ERR  Listener] --- End of stack trace from previous location ---
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Common.RunnerService.RetryRequest[T](Func`1 func, CancellationToken cancellationToken, Int32 maxAttempts, Func`2 shouldRetry)
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Listener.BrokerMessageListener.GetNextMessageAsync(CancellationToken token)
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Listener.Runner.RunAsync(RunnerSettings settings, Boolean runOnce)
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Listener.Runner.RunAsync(RunnerSettings settings, Boolean runOnce)
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Listener.Runner.RunAsync(RunnerSettings settings, Boolean runOnce)
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Listener.Runner.ExecuteRunnerAsync(RunnerSettings settings, Boolean runOnce)
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Listener.Runner.ExecuteCommand(CommandSettings command)
[RUNNER 2026-01-20 16:15:42Z ERR  Listener]    at GitHub.Runner.Listener.Program.MainAsync(IHostContext context, String[] args)
Runner listener exit with terminated error, stop the service, no retry needed.
Exiting runner...

Runner and Worker's Diagnostic Logs

If applicable, add relevant diagnostic log information. Logs are located in the runner's _diag folder. The runner logs are prefixed with Runner_ and the worker logs are prefixed with Worker_. Each job run correlates to a worker log. All sensitive information should already be masked out, but please double-check before pasting here.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with BrokerHttpClient.GetRunnerMessageAsync and BrokerMessageListener.GetNextMessageAsync, using the supplied v2.329.0 log and the v2.331.0 comparison. Trace how the Forbidden response and deprecated-version exception reach Runner.RunAsync, then verify the behavior against the documented minimum-version expectation. Done means the version-policy behavior is explained and the runner's expected response is confirmed.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, github-actions
Domain
ci-cd, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.