Environment variables
Provide session configuration without committing secrets to source control.
Configure variables
Add variables in Repository settings so they are injected into session sandboxes. Use them for service endpoints, feature configuration, and credentials required by development tools.
Share variables across repositories
Add variables in Environment variables to make them available to every repository. Viewing and editing organization variables requires the Manage secrets role. They support the same scopes and types as repository variables. When a repository defines a variable with the same key, the repository variable replaces the organization variable entirely. Build-scoped changes apply the next time each repository builds.
Edit multiple variables
Select individual rows or use the table's select-all checkbox, then choose Edit scopes, Change type, or Delete. The empty new-variable row is not selected.
Editing scopes replaces each selected variable's scopes with your chosen combination of Build and Runtime. Changing type switches between Secret and Plain text without replacing saved values. Making secrets plain text exposes their values to anyone who can view the repository's variables; review the warning before applying.
Changes to saved variables apply immediately. Changes to unsaved rows remain drafts until saved. Bulk delete asks for confirmation: saved variables are deleted, while unsaved rows are discarded (discarding an edit restores the saved version).
Protect secrets
Store sensitive values in the secret field and never add them to repository instructions, prompts, or committed files. Scope credentials to non-production resources and grant the minimum permissions required.
Document expectations
Document variable names and purposes in the repository without including values. Prefer defaults for harmless local configuration so only genuinely environment-specific values require setup.