agent/settings.json defines the deployment’s default model and active tools.

Start with the smallest useful tool set

{
  "model": {
    "provider": "openai",
    "model": "gpt-5.2",
    "thinkingLevel": "medium"
  },
  "tools": ["read", "write", "edit", "grep", "find", "ls"]
}

Built-in tools

ToolUse
readRead a workspace file
writeCreate or replace a workspace file
editApply a targeted file edit
bashRun a command in the sandbox
grepSearch file contents
findLocate files and directories
lsList a directory
When tools is omitted, read, write, edit, and bash start active. Discovered extension tools also start active unless you provide an explicit list. Prefer an explicit list for production agents. A smaller surface gives the model clearer choices and reduces unintended command execution.

Model fields

FieldRequirement
providerNon-empty provider identifier
modelNon-empty model identifier for that provider
thinkingLevelOptional: off, minimal, low, medium, high, xhigh, or max
Provider credentials are declared separately in salambo.yaml.

Activate a custom tool

After declaring a tool named lookup_customer, add it to the explicit list:
{
  "tools": ["read", "grep", "lookup_customer"]
}
Manifest compilation warns when a configured name is neither built in nor discovered from an extension.

Change tools for one turn

An extension may call pi.setActiveTools() from before_agent_start. The selection must remain within the tools allowed by the deployment. Salambo persists the resulting active set for durable follow-up turns. The declared settings remain the stable default for new sessions. Next, build your first extension.