Skip to Content
Configuration

Configuration

AgentLoop uses TOML configuration files with a layered priority system. This page documents all available configuration options.

Configuration File Locations

LocationPurpose
./.agentloop/config.tomlProject-level config (local overrides)
~/.config/agentloop/User-level config (global defaults), database, credentials, and cache

Configuration Priority

Settings are applied in this order (highest priority first):

  1. Environment variables
  2. Project config (./.agentloop/config.toml)
  3. User config (~/.config/agentloop/config.toml)
  4. Default values

Viewing Configuration

View current configuration:

> /config show

View settings:

> /settings show

Orchestrator Settings

[orchestrator] max_parallel_agents = 1 # Number of agents that can run in parallel use_worktrees = false # Enable git worktrees for parallel development worktrees_dir = ".worktrees" # Directory for worktrees (relative to project) cleanup_worktrees_on_complete = false # Auto-cleanup worktrees after completion
OptionDefaultEnv VariableDescription
max_parallel_agents1AGENTLOOP_MAX_PARALLEL_AGENTSMaximum number of parallel agents
use_worktreesfalseAGENTLOOP_USE_WORKTREESEnable git worktrees
worktrees_dir.worktreesAGENTLOOP_WORKTREES_DIRWorktrees directory
cleanup_worktrees_on_completefalseAGENTLOOP_CLEANUP_WORKTREESAuto-cleanup worktrees

Container Sandbox Settings

[orchestrator.container_sandbox] enabled = false # Enable Podman sandboxing container_image = "agentloop-worker" network_mode = "slirp4netns" # none, slirp4netns, or host memory_limit = "4g" cpu_limit = "2" [orchestrator.container_sandbox.agent_images] engineer = "agentloop-worker" qa-tester = "agentloop-qa-worker" analyzer = "agentloop-worker" product-manager = "agentloop-worker"
OptionDefaultDescription
enabledfalseEnable container sandboxing
container_imageagentloop-workerDefault container image
network_modeslirp4netnsNetwork isolation mode (none, slirp4netns, host)
memory_limit4gMemory limit per container
cpu_limit2CPU limit per container

GitHub Settings

[github] enabled = true token = "ghp_your_token_here" # Or use GITHUB_PERSONAL_ACCESS_TOKEN env var
OptionDefaultEnv VariableDescription
enabledtrue-Enable GitHub integration
token-GITHUB_PERSONAL_ACCESS_TOKENGitHub PAT (scopes: repo, workflow)

Jira Settings

[jira] siteUrl = "https://yourcompany.atlassian.net" project = "PROJ" boardId = "123" # Basic Auth (simpler) email = "user@example.com" apiToken = "your_api_token" # Or OAuth (more secure) - set via /jira set-oauth command # clientId = "your_oauth_client_id" # clientSecret = "your_oauth_client_secret"
OptionDescription
siteUrlJira site URL
projectJira project key
boardIdBoard ID for accurate syncing (find in board URL)
emailEmail for Basic Auth
apiTokenAPI token for Basic Auth

Example Configurations

User-Level Defaults

~/.config/agentloop/config.toml:

[github] enabled = true [orchestrator] max_parallel_agents = 4 use_worktrees = true

Project-Level Overrides

./.agentloop/config.toml:

[orchestrator] max_parallel_agents = 10 [orchestrator.container_sandbox] enabled = true network_mode = "slirp4netns" [jira] siteUrl = "https://company.atlassian.net" project = "MYPROJ" boardId = "42"

Minimal Configuration

For quick setup with defaults:

[github] enabled = true

Full Configuration

All options with typical values:

# GitHub integration [github] enabled = true # Orchestrator settings [orchestrator] max_parallel_agents = 4 use_worktrees = true worktrees_dir = ".worktrees" cleanup_worktrees_on_complete = false # Container sandboxing [orchestrator.container_sandbox] enabled = true container_image = "agentloop-worker" network_mode = "slirp4netns" memory_limit = "8g" cpu_limit = "4" [orchestrator.container_sandbox.agent_images] engineer = "agentloop-worker" qa-tester = "agentloop-qa-worker" analyzer = "agentloop-worker" product-manager = "agentloop-worker" # Jira integration [jira] siteUrl = "https://company.atlassian.net" project = "DEV" boardId = "42" email = "developer@company.com" apiToken = "your-jira-api-token"

Environment Variables

Many settings can be overridden with environment variables:

# Orchestrator export AGENTLOOP_MAX_PARALLEL_AGENTS=4 export AGENTLOOP_USE_WORKTREES=true export AGENTLOOP_WORKTREES_DIR=".worktrees" export AGENTLOOP_CLEANUP_WORKTREES=false # GitHub export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_..."

Security Best Practices

Never commit sensitive credentials to version control.

Recommended approach:

  1. Use environment variables for tokens and secrets
  2. Add .agentloop/ to .gitignore if it contains credentials
  3. Use OAuth for Jira instead of Basic Auth when possible
  4. Regularly rotate API tokens

Example .gitignore:

.agentloop/config.toml .agentloop/credentials/
Last updated on