Configure Agents
Set up and run the IAS local agent runtime to connect the Hub to your code -- configuration, task types, and troubleshooting.
Configure Agents
Agents are the bridge between the IAS Hub and your code. They run on your machine, poll for tasks from the Console, execute them locally against your Git checkout, and report results back. Without a running agent, tasks sit in "pending" indefinitely.
How agents work
An IAS agent follows a straightforward loop:
- Connect -- The agent authenticates with the Console backend via the control plane.
- Heartbeat -- It sends periodic heartbeats so the Console knows the agent is online and healthy.
- Poll -- It watches for tasks assigned to its mapped repositories.
- Claim -- When a task appears, the agent claims it from the queue.
- Execute -- The task runs locally: reading files, writing code, running commands, and producing Git commits.
- Report -- Results are sent back to the Console: commit SHAs, PR URLs, changed file paths, and execution logs.
This loop repeats until you stop the agent. The Console tracks agent availability and routes tasks accordingly.
Prerequisites
Before starting an agent, make sure you have:
- IAS CLI installed --
npm i -g @lucentivelabs/ias - Authenticated -- run
ias auth loginto sign in via your browser - At least one repo linked -- run
ias repo link /path/to/your/repo(see Add a repository)
Verify your setup at any time:
ias doctorThis checks configuration, authentication status, control plane connectivity, and repo mappings.
Configuration
Agent configuration lives at ~/.ias/agent.json. The easiest way to set it up is the guided flow:
ias setupThis walks you through configuring the control plane connection and authentication without manual JSON editing. You can also edit the file directly.
Control plane settings
The controlPlane section connects your agent to the Console:
| Field | Description |
|---|---|
convexDeploymentUrl | Your Convex deployment URL (e.g., https://your-deployment.convex.cloud) |
consoleAppUrl | IAS Hub web app URL (used for browser-based login). The field name retains console for backward compatibility. |
workspaceSlug | Your workspace slug -- auto-filled after ias auth login |
httpServiceToken | Hub-minted, workspace-scoped service-principal token for shared automation/CI (skips browser login). Do not rely on the global IAS_CONTROL_PLANE_SERVICE_TOKEN fallback unless a local/admin deployment explicitly enables it. |
Repository mappings
The repos.mappings section tells the agent which repositories to watch. Each entry maps a Console repo to a local checkout:
{
"controlPlane": {
"convexDeploymentUrl": "https://your-deployment.convex.cloud",
"consoleAppUrl": "https://app.ias.dev",
"workspaceSlug": "acme-eng"
},
"repos": {
"mappings": [
{ "repoId": "repos/abc123", "localPath": "/Users/you/code/repo-one" },
{ "repoId": "repos/def456", "localPath": "/Users/you/code/repo-two" }
]
}
}Safety default: The local runtime will only claim jobs for repos that are explicitly mapped. This ensures you always control which repos an agent can operate on.
Starting the Local Runtime
Start the local agent runtime with:
ias startYou will see output like:
[ias] Starting...
[ias] Config: /Users/you/.ias/agent.json
[ias] Runtime bound to workspace acme-eng
[ias] Tip: press Ctrl+C to stop. Use `ias start --daemon` for background mode.Keep this terminal running while you work. Press Ctrl+C to stop. The Console will show the agent as offline after the heartbeat TTL (approximately 60 seconds).
Background mode (daemon)
On macOS and Windows, you can run the runtime as a background service:
ias start --daemonManage the daemon with:
ias status # Check if the agent is running
ias logs # View recent output
ias stop # Stop the daemonTask types
The local runtime handles these task types:
| Task type | What it does |
|---|---|
install_ias | Bootstraps the IAS scaffold into a repo via a branch/PR flow |
create_run | Creates a new goal folder in-repo with optional requirement attachments |
context_architect | Reads the repo and upserts project context into the control plane |
build_context | Writes repo context artifacts (base goal, project context, inputs) via a PR |
update_git_policy | Writes the Git policy file (docs/ias/policy/git.json) |
git_repair | Recovery path for bootstrap failures |
apply_decision | Materializes Inbox responses into repo artifacts as Git commits |
work | Executes implementation tasks: writing code, fixing bugs, adding features, building documentation |
pr_review | Reviews a pull request: checks for issues, suggests improvements, verifies intent alignment |
Running multiple agents
You can run multiple agents for different scenarios:
- Different repos on different machines -- Each machine has its own
agent.jsonwith the relevant repo mappings. - Same repo on multiple machines -- For load balancing or redundancy. Multiple runtimes can claim different jobs from the same queue.
- One runtime per repo -- For fine-grained control over which agent handles which repository.
Each runtime should have its own config with the appropriate repos.mappings.
Monitoring agents
The Console provides real-time visibility into agent status:
- Open the Console.
- Check the Agents indicator in the top navigation bar for a quick status overview.
- Go to Settings and select the Agents tab for detailed information about each connected agent.
Each agent shows as Online (heartbeat received within the last ~60 seconds) or Offline.
You can also check agent status from the CLI:
ias statusTroubleshooting
If your agent is not showing as online in the Console, check these common issues:
| Symptom | Likely cause | Fix |
|---|---|---|
| Agent never appears in Console | Incorrect deployment URL | Verify convexDeploymentUrl in ~/.ias/agent.json |
| Agent shows as offline | Wrong workspace slug | Check that workspaceSlug matches your Console workspace |
| Authentication errors | Expired or missing token | Run ias auth login to refresh, or check httpServiceToken for CI setups |
| No jobs being claimed | Missing repo mappings | Ensure repos.mappings includes the target repo |
| Connection failures | Multiple possible causes | Run ias doctor for a full diagnostic |
| Work tasks are not being claimed | Runtime not started or repo not bootstrapped for managed execution | Run ias start and check that the repo was bootstrapped with runtime or full profile |
Useful diagnostic commands
ias doctor # Full setup diagnostic
ias auth status # Check authentication state
ias status # Check if daemon is running
ias logs # View recent agent outputNext step: With agents running, you are ready to create goals and start building.
Install and Bootstrap
Deploy the IAS scaffold into any Git repository -- choose a profile, run the bootstrap command, and understand what gets created.
Execution Modes
Understand the three ways to run IAS agents -- interactive, automated, and Console-managed -- and how to choose the right mode for your workflow.