Configuration
Precedence: command-line launch options → environment variables →
~/.config/aircode/config.json → defaults.
The config file is created on first run (mode 0600 — it contains your password).
The launch options available from the native Windows package are listed in the
Windows CLI reference.
Common settings
| Env | config.json | Default | Purpose |
|---|---|---|---|
AIRCODE_HOST | host | Tailscale IP, else 127.0.0.1 | Bind address (never 0.0.0.0 by default) |
AIRCODE_PORT | port | 7860 (auto-scan if busy) | Port. An explicitly set port is never silently replaced |
AIRCODE_AUTH_PASSWORD | authPassword | generated | Access password. Empty string disables auth (dev only) |
AIRCODE_PROJECTS_ROOT | projectsRoot | launch cwd | Directory whose subfolders are selectable projects |
AIRCODE_MAX_SESSIONS | maxSessions | 32 | Concurrent session cap |
AIRCODE_DEFAULT_PERMISSION_MODE | defaultPermissionMode | bypass | Default agent permission mode |
AIRCODE_DEFAULT_EXECUTION_MODE | defaultExecutionMode | local | Default session environment (local or docker) |
AIRCODE_DOCKER_ENABLED | dockerEnabled | true | Expose the optional Docker execution backend |
AIRCODE_DOCKER_IMAGE | dockerImage | aircode-session-runtime:local | Optional Docker worker image |
AIRCODE_DOCKER_NETWORK | dockerNetwork | aircode-runtime | Dedicated worker bridge |
AIRCODE_DOCKER_CONTROL_PORT | dockerControlPort | AirCode port + 1000 | Stable capability-scoped worker callbacks |
| — | updateChannel | stable | Release channel (stable / beta) |
Engine binaries (claudeBin, codexBin, …) and per-feature settings (browser,
knowledge, orchestration, token optimization) are documented in the in-product
settings and accept the same env/file precedence.
See Docker sandbox for worker limits, networking and the complete Docker configuration.
Files & directories
| Path | Contents |
|---|---|
~/.aircode/versions/<v> | the product (immutable, checksummed) |
~/.aircode/current | symlink to the active version |
~/.config/aircode/ | config, license key, trial state (0600) |
~/.local/state/aircode/ | runtime state |
Updates never touch your config or data. Uninstalling is rm -rf ~/.aircode
plus the config/state directories if you want a clean slate.
Multi-user machines
Each OS user runs their own instance: own port, own password, own agent
accounts, own sessions. Install per user; aircode service install creates a
per-user systemd unit.
License
aircode license activate <key>
aircode license status
aircode license deactivate # frees the seat for another machine
Offline machines stay fully functional (30-day validation grace; perpetual licenses never phone home). See pricing for what restricted mode means — short version: launching new sessions pauses, nothing else.