Worker Agents (Employees)
Workers are the CTO’s hands. The CTO thinks and plans; workers execute.Worker types
Persistent Workers
Persistent Workers
Persistent workers are assigned to a lane or a role and stay active across heartbeat cycles. Use them for ongoing responsibilities like “always review PRs in this repository” or “monitor the auth module and flag regressions”.A persistent worker has a standing assignment and a defined tool palette. It activates when its trigger condition is met (e.g., a new PR opens) and returns to idle when the task is complete.
Ephemeral Workers
Ephemeral Workers
Ephemeral workers are created for a single task and dissolved when that task is complete. The CTO creates ephemeral workers automatically when it decides a task needs dedicated execution — for example, when it receives a complex request in chat or when a Linear issue comes in that requires implementation.Ephemeral workers clean up their lane (or operate in an existing lane) and report results back to the CTO before dissolving.
Hiring a worker manually
You can create a worker from the Team sub-tab without going through the CTO chat:Configure the worker
Fill in:
- Name — a human-readable identifier (e.g., “test-writer”, “pr-reviewer”)
- Specialization prompt — describes the worker’s role, constraints, and focus area
- Assigned lane — the lane this worker operates in (leave blank for cross-lane workers)
- Tool palette — which MCP tools this worker can use (defaults to a safe read/write subset)
- Budget limit — maximum token/cost for this worker per activation
- Type — Persistent or Ephemeral
Worker activity visibility
Worker activity is visible in two places:- CTO > Team — the org chart shows each worker’s current status, assigned task, and budget consumption
- Lanes tab — if a worker is active in a lane, that lane shows the “active” indicator with the worker’s name as the agent label
Budget Management
Every agent in ADE — including the CTO itself and all workers — has a configurable token/cost budget. The CTO enforces these limits.Budget hierarchy
How budget enforcement works
- Subscription users: Budgets are tracked internally for visibility and reported as informational. ADE reads session logs from
~/.claude/to compute accurate token usage. Budget alerts fire when thresholds are hit, but agents are not hard-stopped. - API key users: Budgets are strictly enforced. When a worker reaches its budget cap, it pauses and the CTO is notified. The CTO decides whether to extend the budget, hand the task to a different worker, or escalate to you.
Configuring budgets
- In Settings UI
- In ade.yaml
Go to Settings > CTO > Budget. Set the per-heartbeat CTO budget, default worker budget, and the global project cap. These apply to all workers unless overridden at the worker level.
Practical Workflows
Asking the CTO to review a PR
- Open CTO > Chat.
- Type: “Please review PR #142 and give me a summary of the changes, any concerns, and whether it’s safe to merge.”
- The CTO reads the PR diff (via the GitHub integration MCP tool), cross-references it against its project memory, checks for conflicts with active lanes, and returns a structured review with: summary, concerns, risk level, and a recommendation.
Delegating a feature to a worker
- Open CTO > Chat.
- Describe the feature: “I need a new endpoint:
POST /api/v2/users/:id/preferencesthat saves user preference objects. Follow the existing pattern in thepreferencesmodule.” - The CTO analyzes the request, identifies the relevant context (existing patterns, related files, open issues), creates an ephemeral worker with appropriate specialization, assigns it to a new lane, and generates a Lane Pack with the task intent.
- The worker’s progress is visible in Lanes (the new lane will show
active) and in CTO > Team. - When the worker completes, the CTO reports back in the chat thread with a summary, a link to the new lane, and (if configured) a Linear issue update.
**Screenshot: A CTO chat thread showing a delegation workflow — the user’s message at top, the CTO’s response explaining its plan (including “I’ve created a worker ‘feature-impl-001’ in lane/user-preferences”), then a status update message showing the worker is active with a link to the lane.
Getting a daily project summary
You can ask the CTO for a narrative summary of recent activity at any time: “Summarize what changed in the project since yesterday morning. What’s blocked? What shipped? What’s at risk?” The CTO draws from itsdaily-log memory, recent checkpoint history, and PR status to produce a structured summary. This is also generated automatically as part of each heartbeat cycle and stored in the daily log.
Routing an incoming request via Automations
To have external webhooks or scheduled triggers route to the CTO automatically, configure an Automation with executor modecto-route:
CTO Configuration Reference
All CTO configuration lives undercto: in .ade/ade.yaml, with a UI mirror in Settings > CTO.
Troubleshooting
CTO shows 'Inactive' status
CTO shows 'Inactive' status
The CTO requires at least one AI provider to be configured. Check Settings > AI Providers and verify that a provider is active and its credentials are valid. The CTO also needs the MCP server to be running — if you see MCP errors in the main process log, restart ADE.
Heartbeat runs but the CTO takes no action
Heartbeat runs but the CTO takes no action
This is usually expected — the CTO only acts when it detects something actionable. Check the Recent Actions Log in the CTO Status panel to confirm the heartbeat ran. If the log shows “No actions needed”, the CTO saw no changes worth acting on. You can lower the action threshold in Settings > CTO > Heartbeat Sensitivity.If the heartbeat log is empty despite visible project changes, verify that the lane’s git history is accessible and that ADE’s main process has read access to the
.git directory.Budget exhausted — CTO or worker paused
Budget exhausted — CTO or worker paused
When a budget is exhausted, the affected agent pauses and an alert appears in the CTO Status panel. For API key users, you can:
- Click Extend Budget in the alert to increase the cap for this run
- Click Resume with Different Model to switch to a more cost-efficient model
- Click Dismiss to cancel the current task
Linear sync is not updating issues
Linear sync is not updating issues
Check the Linear sub-tab for the sync status indicator. Common causes:
- Token expired — re-authenticate via OAuth or update the personal access token
- Missing permissions — the Linear token needs
issues:writescope for outbound sync - Project not selected — confirm the relevant Linear project is selected in CTO > Linear > Projects
- Rate limited — Linear has API rate limits; the CTO backs off automatically and retries. The sync status shows the next retry time.
CTO gives outdated or wrong architectural advice
CTO gives outdated or wrong architectural advice
The CTO’s project knowledge is built from the initial scan and updated incrementally via heartbeats. If the architecture has changed significantly, you can trigger a full re-scan:
- Go to CTO > Memory > Project Knowledge
- Click Re-scan Project
- The CTO re-reads the repository structure, architecture docs, and recent history, and updates its Core memory
Worker is stuck and not completing its task
Worker is stuck and not completing its task
If a worker has been
active for an unusually long time without producing checkpoints, it may be stuck in a loop or waiting for a tool response. From CTO > Team, select the worker and click Inspect. This opens the worker’s live terminal output so you can see exactly what it is doing. You can then:- Click Interrupt to send a stop signal and ask the CTO to reassess the task
- Click Override to inject a message directly into the worker’s context
- Click Dissolve to terminate the worker and return the task to the CTO queue
OpenClaw Bridge
If you have an OpenClaw account or a compatible external agent platform, you can connect it to ADE’s MCP server. The CTO acts as the designated router for inbound requests from OpenClaw:- In Settings > CTO > External Connections, enable OpenClaw Bridge
- ADE generates a local MCP endpoint URL for OpenClaw to connect to
- OpenClaw can then send development requests to ADE by addressing them to the CTO via the MCP
cto_requesttool
**Screenshot: The CTO > Settings sub-tab showing the “External Connections” section with OpenClaw listed, a toggle switch, a “Connected” badge, and a masked MCP endpoint URL with a copy button.