GitHub Agentic Workflows

Supported Languages & Ecosystems

Agentic workflows run inside an Ubuntu/Linux sandbox. Each programming language has a corresponding ecosystem identifier that grants the workflow access to that language’s package registry and toolchain domains. Set these identifiers in the network.allowed field of your workflow frontmatter.

LanguageEcosystem IdentifierPackage Manager
Pythonpythonpip, conda
JavaScript / TypeScriptnodenpm, yarn, pnpm
JavajavaMaven, Gradle
GogoGo modules
RustrustCargo
C# / .NETdotnetNuGet
RubyrubyBundler, RubyGems
PHPphpComposer
SwiftswiftSwiftPM (Linux only)
Kotlinkotlin + javaGradle
Dartdartpub
C / C++defaultsSystem toolchain (gcc, cmake)

These identifiers are not language-specific but pair with any language workflow:

IdentifierUse for
defaultsBasic infrastructure: certificates, JSON schema, Ubuntu mirrors. This is the default when network: is not specified, and is recommended as the starting baseline for most workflows.
githubGitHub domains (github.com, raw.githubusercontent.com, etc.)
containersDocker Hub, GitHub Container Registry, Quay, GCR
linux-distrosDebian, Ubuntu, Alpine package repositories (apt, apk)
---
network:
allowed:
- defaults
- python
---
---
network:
allowed:
- defaults
- java
- kotlin
---
---
network:
allowed:
- defaults
- node
- python
- containers
- github
---

Additional language ecosystems are available for less common languages including Elixir, Haskell, Julia, Perl, OCaml, Deno, and Terraform. See the Ecosystem Identifiers table in the Network Permissions reference for the most up-to-date list of supported identifiers.