Skip to content

Configuration

Configure your agents using environment variables or a settings.json file. Environment variables take priority, making it easy to override settings per-environment.


Set your model and tools with environment variables:

Terminal window
export GEMINI_API_KEY="your-api-key"
export AGENT_DEFAULT_MODEL="gemini-3-flash-preview"
export AGENT_DEFAULT_TOOLS="read,write,bash"

Or create a settings.json in your project root:

{
"defaultModel": "gemini-3-flash-preview",
"maxIterations": 100,
"defaultTools": ["read", "write", "bash", "grep"]
}

VariableTypeDefaultDescription
GEMINI_API_KEYstringRequired. Your Gemini API key
AGENT_DEFAULT_MODELstringgemini-3-flash-previewModel to use for agent interactions
AGENT_MAX_ITERATIONSnumber100Maximum loop iterations (prevents runaway agents)
AGENT_DEFAULT_TOOLSstringAll toolsComma-separated list of tool names
AGENT_SETTINGS_PATHstring./settings.jsonPath to settings file
AGENT_ARTIFACTS_PATHstring.agentBase path for project-level artifacts (skills, subagents)
AGENT_GLOBAL_ARTIFACTS_PATHstring~/.agentPath for user-level global artifacts
AGENT_STREAM_SUBAGENTSbooleanfalseStream subagent output to the main agent (true/false)
AGENT_DISABLED_SKILLSstringComma-separated skill names to disable
AGENT_DISABLED_SUBAGENTSstringComma-separated subagent names to disable

Environment variables override settings.json values. This lets you use a base config file while customizing per-environment.


Create settings.json in your project root or specify a custom path with AGENT_SETTINGS_PATH.

{
"defaultModel": "gemini-3-flash-preview",
"maxIterations": 100,
"defaultTools": [
"sleep",
"plan",
"read",
"write",
"grep",
"bash",
"web_fetch",
"web_search"
],
"artifactsPath": ".agent",
"streamSubagents": false,
"disabledSkills": [],
"disabledSubagents": []
}
FieldTypeDefaultDescription
defaultModelstringgemini-3-flash-previewModel identifier for API calls
maxIterationsnumber100Maximum agent loop iterations
defaultToolsstring[]All toolsTools to load when none specified
artifactsPathstring.agentBase path for project-level artifacts (skills, subagents)
streamSubagentsbooleanfalseStream subagent output to the main agent
disabledSkillsstring[][]Skill names to exclude from loading
disabledSubagentsstring[][]Subagent names to exclude from loading

Configuration values are resolved in this order (first wins):

  1. Environment variables: AGENT_* prefixed vars
  2. settings.json: Values from the JSON file
  3. Defaults: Built-in default values
Terminal window
# Environment variable wins over settings.json
export AGENT_DEFAULT_MODEL="gemini-3-pro" # Uses this, not settings.json