Troubleshooting
Solutions for common IAS issues including agent connectivity, job execution, authentication, bootstrap failures, and local runtime problems.
This guide covers the most common issues you may encounter when working with IAS and how to resolve them.
Start with the diagnostic tool, then find your specific issue below.
Diagnostics
Before diving into specific issues, run the built-in diagnostic tool:
ias doctorThis checks your Node.js version, Git installation, GitHub CLI authentication, local agent configuration, control plane connectivity, and repository mappings. Follow the suggestions it provides. For machine-readable output:
ias doctor --jsonYou can also inspect your full configuration:
ias print-configCommon Issues
Agent Not Showing Online
Symptoms: The Console shows no active agents, or the agent appears offline even though you started it.
Step 1 -- Verify local agent configuration:
ias doctorConfirm these values are correct in ~/.ias/agent.json:
controlPlane.convexDeploymentUrlmust behttps://<deployment>.convex.cloud(the Convex deployment URL, not the site URL)controlPlane.workspaceSlugmust match your workspace slug in the Console
Step 2 -- Check authentication:
ias auth statusIf the token is expired or missing, re-authenticate:
ias auth loginStep 3 -- Verify the local runtime is running:
ias statusIf the runtime is not running, start it:
ias startStep 4 -- Check network connectivity:
The local runtime needs to reach https://<deployment>.convex.site. Verify that firewalls, proxies, or VPNs are not blocking the connection. Corporate networks sometimes block WebSocket connections that Convex relies on.
Jobs Stuck in Pending
Symptoms: Jobs appear in the Console with a "pending" status but are never claimed.
| Check | Command | Fix |
|---|---|---|
| Is a local runtime running? | ias status | Start with ias start |
| Is the repo mapped? | ias doctor (look at repos.mappings) | ias repo link /path/to/repo |
| Is the local path valid? | Inspect ~/.ias/agent.json | Update localPath to point to an existing Git checkout |
| Is the runtime eligible for work? | Check ias status readiness | Start with ias start and confirm the repo was bootstrapped for managed execution |
Execution mode compatibility:
The unified local runtime handles operational and managed work job types through one operator-facing command:
| Job Types | Required Executor |
|---|---|
install_ias, create_run, context_architect, apply_decision, update_git_policy, git_repair | Local runtime (ias start) |
work, pr_review | Local runtime (ias start) with managed execution support installed |
Use ias start for foreground mode or ias start --daemon for background mode.
Authentication Issues
Device login fails:
Check that the Console app URL is correct and reachable:
ias print-configThe consoleAppUrl must point to a running Console instance. For local development, this is typically http://localhost:3000. If the CLI cannot open your browser automatically, copy the URL from the terminal output and open it manually:
ias auth login --open falseToken expired:
Re-authenticate:
ias auth loginRun ias auth status to verify the new token is active.
Console UI shows "UNAUTHENTICATED" errors:
This typically means the Clerk-to-Convex auth integration is misconfigured:
- In the Clerk Dashboard, verify a JWT template named exactly
convexexists - Confirm the Issuer URL is set as
CLERK_JWT_ISSUER_DOMAINin Convex environment variables - Redeploy Convex if you changed environment variables
Bootstrap Failures
"Not a git repo":
The target directory must be an initialized Git repository. Either initialize Git first:
git init /path/to/repoOr use the guided installer, which offers to initialize Git for you:
ias install /path/to/repo --guided"Tracked/staged changes":
IAS requires a clean working tree when committing the bootstrap. Commit or stash your changes first:
cd /path/to/repo
git stash
ias install .
git stash popOr bootstrap without committing (you can commit manually later):
ias bootstrap /path/to/repo --commit falseBootstrap succeeded but files are not visible:
The bootstrap creates files on a branch (default: ias/bootstrap). Check which branch you are on:
git branchSwitch to the bootstrap branch to see the files, or merge them into your default branch. See Install & Bootstrap for the full workflow.
Build Context Failures
Symptom: The "Build Context" job fails or produces no output.
Ensure bootstrap completed first:
Build Context reads from docs/ias/project-context.md and other scaffold files. If these do not exist, the job will fail. Verify that IAS is installed:
ls docs/ias/project-context.mdIf the file is missing, re-run the bootstrap:
ias install /path/to/repo --forceCheck that the repo is linked:
ias doctorThe repo must be mapped in ~/.ias/agent.json for the local runtime to claim build context jobs. If not mapped:
ias repo link /path/to/repoDecision Requests Not Appearing
Symptoms: An agent reports creating a decision request, but it does not appear in the Console Inbox.
Check workspace scope:
Decision requests are scoped to a workspace. Verify you are viewing the correct workspace in the Console. Check that the agent creating the request is authenticated to the same workspace:
ias auth statusCheck workstream filters:
The Console Inbox can be filtered by workstream. If you have a workstream filter active, the decision request may be in a different workstream or unscoped. Clear the filter to see all requests.
Check auto-promotion:
Decision requests go through an auto-promotion step. If the request was created with confidence above the auto-promote threshold, it may have been auto-resolved without appearing in the Inbox. Check the run's decision log in the repository.
Runtime Disconnects
Symptoms: The local runtime goes offline periodically or loses connection.
Check network stability:
The local runtime maintains a connection to the Convex backend. Unstable networks -- especially VPNs, corporate proxies, or intermittent Wi-Fi -- can cause disconnections.
Restart the runtime:
ias stop
ias startOr run in daemon mode for automatic restarts:
ias start --daemonCheck runtime logs:
ias logs
ias logs --which errLook for connection errors, authentication failures, or unexpected exits. For more detailed output:
ias startManaged Work-Specific Issues
Managed Work Not Available
If managed work jobs are not being claimed:
- Verify IAS was bootstrapped with the
runtimeorfullprofile - Run
ias doctorand follow any local runtime or repo-mapping guidance - Restart the local runtime with
ias start
Jobs Timing Out
The managed runtime enforces a per-job timeout (default: 30 minutes). If jobs consistently time out:
- Break large tasks into smaller, more focused jobs
- Increase the timeout via
maxTurnMsindocs/ias/runs/<run>/runtime/config.json - Check whether the agent is stuck in a loop (review runtime logs)
Stuck Lock File
If an automated-mode internal lock conflict appears after a crash:
node scripts/ias-runtime/run.mjs recover --latestThis clears stuck locks and moves any interrupted jobs back to the pending state.
Quick Reference
| Problem | First Command to Run |
|---|---|
| Agent not connecting | ias doctor |
| Jobs not being claimed | ias status then ias doctor |
| Auth failures | ias auth status then ias auth login |
| Bootstrap failed | Check git status and re-run ias install |
| Build context failed | ls docs/ias/project-context.md |
| Decision requests missing | Check workspace and workstream filters |
| Runtime disconnects | ias logs --which err |
| Automated-mode lock stuck | node scripts/ias-runtime/run.mjs recover --latest |
| Config issues | ias print-config |
Getting Help
If these solutions do not resolve your issue:
- Run
ias doctor --jsonand review the full diagnostic output - Check runtime logs:
ias logsandias logs --which err - Verify your configuration:
ias print-config - Review the Architecture page to understand the system components and data flow