Daemon Bootstrap
The Autonoma daemon is a local process that brokers every request from your IDE extension to the remote orchestrator. Extensions never hold API credentials or talk to the backend directly — the daemon is the trust boundary.
Why a daemon?
- One credential, reused by every IDE (VS Code, JetBrains, Neovim, Emacs, Sublime).
- Localhost-only WebSocket — the extension does not need TLS, secrets, or auth headers.
- Backend URL and key rotate in one place, not in each editor config.
- Self-hosted deployments can point the daemon at their own ALB without touching the IDE.
1. Install
# macOS / Linux
curl -sSf https://get.theautonoma.io/cli | sh
# Windows (PowerShell)
iwr https://get.theautonoma.io/cli.ps1 | iexInstalls the a6s binary to ~/.autonoma/bin. Run a6s --version to verify.
2. Authenticate
You have two options for giving the daemon an API key:
Option A — Paste from the dashboard
Go to dashboard → API keys, create a key, copy it once. Then:
a6s login --key <paste>Option B — Welcome email
Your marketplace welcome email includes a ready-to-paste command:
a6s login --key <your_api_key>The key is stored in your OS keychain (Keychain on macOS, libsecret on Linux, Credential Manager on Windows) — never on disk in plaintext.
3. Point at the right backend
By default the daemon talks to https://api.theautonoma.io. If you deployed Autonoma into your own AWS account (via customer-deploy-aws), point the daemon at your ALB:
a6s config set backend-url https://autonoma-<your-customer-id>.elb.us-east-1.amazonaws.comThe ALB URL is emitted by terraform output customer_callback_url after your deployment completes. You can also set autonoma.backendUrl in VS Code settings — the extension will push it to the daemon on every connect.
4. Start the daemon
# Foreground (useful for debugging)
a6s daemon
# Background (recommended)
a6s daemon --background
# Verify
a6s statusThe daemon binds to 127.0.0.1:9876. If that port is taken, pass --port 9877 and update autonoma.daemonPort in your IDE extension.
Building your own client?
The full WebSocket protocol — methods, events, envelopes, conformance rules — is documented at Daemon Protocol v1.0. All five official extensions (VS Code, JetBrains, Neovim, Emacs, Sublime) conform to this spec.
5. Connect your IDE
Install the extension for your editor and it will auto-connect to the running daemon:
Troubleshooting
- “Cannot connect to A6s daemon”
- Run
a6s status. If the daemon isn't running, start it witha6s daemon --background. - “Invalid API key”
- Re-login with
a6s login --key <key>. Generate a fresh key from the dashboard if in doubt. - “Unexpected response from backend”
- Verify
a6s config get backend-urlpoints at the right environment. For self-hosted, this is your customer ALB, notapi.theautonoma.io.