LinuxWindows

Where Does the GitHub Actions Runner Store Work Files?

A self hosted runner uses its install folder as the root for jobs and credentials. Workflow checkouts run under the _work folder while registration state sits in nearby dot files.

Last updated

Default extraction on Linux is a folder named actions runner in the service account home. On Windows the recommended path is a short root path to avoid length issues.

The _work directory holds one subfolder per repository with source and temp data. Diagnostic logs live in _diag and registration data lives in dot runner and dot credentials files.

Where GitHub Actions Runner stores this, by platform

Linux
/home/<user>/actions-runner/_work/<repo>/

<user> is the Linux service account. <repo> is the repository work folder created per job. Holds checkout with _temp and _actions subfolders. Clean old runs to reclaim disk.

Linux
/home/<user>/actions-runner/.runner

<user> is the same runner account as above. File holds runner registration identity. Nearby .credentials folder holds auth material and _diag holds runner logs.

Windows
C:\actions-runner\_work\<repo>\

<repo> is the repository work folder created per job. Short root path helps service accounts access files and avoids MAX_PATH errors. Run setup from an admin shell for service install.

Windows
C:\actions-runner\.runner

File holds runner registration identity on Windows. Nearby .credentials folder holds auth material and .env holds local env overrides. Do not copy these files between machines.

Frequently asked questions

What can I delete to free space?

Remove stale subfolders under _work for old pipelines. Keep .runner with .credentials and _diag for troubleshooting. Restart the runner after a large cleanup.

Where are logs for failed jobs?

Check _diag for runner and worker logs with timestamps. Check the _work folder for the run script and event payload. Correlate both by job start time.

Notice an outdated path? Let us know.