How configuration works
Unset keys are normally omitted fromgat.yaml. Reads use the ; mutating commands write only the selected layer, with Project as the default.
Configuration locations
Global
~/.gat/gat.yamlUser-wide defaults shared by every repository.Committed: NoProject (default)
<repo>/gat.yamlRepository configuration shared with clones.Committed: YesLocal
<repo>/.gat/gat.yamlMachine-specific repository overrides.Committed: NoChoose a configuration command
General settings control Gat’s behavior. use their own commands for inspection and changes.gat config does not read or write individual resource fields. See
Config inheritance for overrides and defaults.
Configuration examples
Configuration reference
Remotes
Each named remote has aurl. remotes.default chooses the fallback by name;
gat remote add never selects it automatically.
--remote overrides routes, which override
the default. See routing precedence
for path-based storage, or Set up a remote for the full workflow.
${NAME} references. Set referenced variables before validating
or using the URL. See URL templates.gat remote defaultConfiguration details
Configuration details
- Persisted default: unset
- Example:
origin
gat remote addConfiguration details
Configuration details
- Persisted default: unset
- Example:
s3://example-bucket/project
Cache
<repo>/.gat/objectsSet with: gat config cache.location <value>Configuration details
Configuration details
- Persisted default: unset
- Environment override:
GAT_CACHE_LOCATION - Example:
/mnt/gat-cache
["copy"]Set with: gat config cache.materialization_strategy <value>...Configuration details
Configuration details
- Elements: materialization mode
- Values:
reflink|hardlink|symlink|copy - Empty list: not allowed
- Order is significant.
- Duplicate values are not allowed.
- Persisted default: unset
- Environment override:
GAT_CACHE_MATERIALIZATION_STRATEGY - Example: [
reflink,copy]
safeStablehybridExperimentalmmapDeprecated
safeSet with: gat config cache.ingest_strategy <value>Configuration details
Configuration details
- Persisted default: unset
- Environment override:
GAT_CACHE_INGEST_STRATEGY - Example:
safe
Sync
falseSet with: gat config sync.trust_state <value>Configuration details
Configuration details
- Values:
true|false - Persisted default: unset
- Environment override:
GAT_SYNC_TRUST_STATE - Example:
true
falseSet with: gat config sync.auto_fetch <value>Configuration details
Configuration details
- Values:
true|false - Persisted default: unset
- Environment override:
GAT_SYNC_AUTO_FETCH - Example:
true
falseSet with: gat config sync.auto_repair <value>Configuration details
Configuration details
- Values:
true|false - Persisted default: unset
- Environment override:
GAT_SYNC_AUTO_REPAIR - Example:
true
Selections
gat selection defaultConfiguration details
Configuration details
- Persisted default: unset
- Example:
runtime
.Set with: gat selection addConfiguration details
Configuration details
- Persisted default: unset
- Example:
models
all tracked paths under the selected pathSet with: gat selection addConfiguration details
Configuration details
- Elements: glob
- Empty list: selects everything
- Order is significant.
- Persisted default: unset
- Example: [
data/**,models/**]
gat selection addConfiguration details
Configuration details
- Elements: glob
- Empty list: allowed
- Order is significant.
- Persisted default: unset
- Example: [
tmp/**]
Lock
0Set with: gat config lock.shard_levels <value>Configuration details
Configuration details
- Range:
0-2 - Persisted default: unset
- Environment override:
GAT_LOCK_SHARD_LEVELS - Example:
2
Mounts
gat mount addConfiguration details
Configuration details
- Persisted default: unset
- Example:
../models
repository name from the mount URLSet with: gat mount addConfiguration details
Configuration details
- Persisted default: unset
- Example:
releases/resnet
gat mount addConfiguration details
Configuration details
- Persisted default:
. - Example:
exports
source repository default branchSet with: gat mount addConfiguration details
Configuration details
- Persisted default: unset
- Example:
main
Configuration details
Configuration details
- Persisted default: unset
all tracked paths under the selected pathSet with: gat mount addConfiguration details
Configuration details
- Elements: glob
- Empty list: selects everything
- Order is significant.
- Persisted default: unset
- Example: [
**/*.onnx]
gat mount addConfiguration details
Configuration details
- Elements: glob
- Empty list: allowed
- Order is significant.
- Persisted default: unset
- Example: [
tests/**]
Routes
gat route addConfiguration details
Configuration details
- Persisted default: unset
- Example:
data/datasets
gat route addConfiguration details
Configuration details
- Persisted default: unset
- Example:
backup
Git integration
.git/info/exclude block.Default: []Set with: gat config git.ignore_patterns <value>...git.exclude_patterns Deprecated — use git.ignore_patterns instead. See Feature lifecycle.Configuration details
Configuration details
- Elements: Git-ignore pattern
- Empty list: allowed
- Order is significant.
- Persisted default: unset
- Environment override:
GAT_GIT_IGNORE_PATTERNS - Example: [
*.safetensors,/artifacts/**/*.bin]
Network
5Set with: gat config network.readiness_timeout_seconds <value>Configuration details
Configuration details
- Range:
1-86400 - Persisted default: unset
- Environment override:
GAT_NETWORK_READINESS_TIMEOUT_SECONDS - Example:
5
30Set with: gat config network.operation_timeout_seconds <value>Configuration details
Configuration details
- Range:
1-86400 - Persisted default: unset
- Environment override:
GAT_NETWORK_OPERATION_TIMEOUT_SECONDS - Example:
60
60Set with: gat config network.io_timeout_seconds <value>Configuration details
Configuration details
- Range:
1-86400 - Persisted default: unset
- Environment override:
GAT_NETWORK_IO_TIMEOUT_SECONDS - Example:
60
256Set with: gat config network.request_concurrency <value>Configuration details
Configuration details
- Range:
1-65535 - Persisted default: unset
- Environment override:
GAT_NETWORK_REQUEST_CONCURRENCY - Example:
256

