Error Code Reference

Every runtime failure emits a stable code like [E-0103]. Look it up here to understand what happened and exactly what to do. If you see a code not listed, email support@titanai.tech with the full log line.

License & Entitlement (E-0001 – E-0099)

E-0001 error

No license key provided

The installer or an agent was invoked without a license key set. TITAN AI refuses to run without one — this is intentional.

FIX: Pass the key via --license TITAN-XXX on the installer, or export TITAN_LICENSE_KEY=... before running. Request a free 14-day trial at titanaisec.com/trial.
E-0002 error

License key format is invalid

The key supplied doesn't match the expected TITAN-XXX-XXX-... shape. Usually a copy-paste truncation or an extra space.

FIX: Copy the key from the email we sent you; strip surrounding whitespace; re-run with the full key.
E-0003 warn

License server unreachable — Reduced Functionality Mode (RFM)

We couldn't reach titanaisec.com/api/license/verify. If you've successfully validated within the last 7 days, the agent will keep running in audit-only mode (no writes to your cloud). This matches CrowdStrike Falcon's RFM pattern.

FIX: Check network / firewall to titanaisec.com. Full-mode resumes automatically on the next successful verification. No action needed during a short outage.
E-0004 error

License expired

Your license's expires_at has passed.

E-0005 error

License revoked

This license has been explicitly revoked by the TITAN AI team (non-payment, terms breach, superseded key).

FIX: Email billing@titanai.tech referencing the license short-prefix shown in the error.
E-0006 error

Cached license older than 7-day grace period

The license server has been unreachable for more than 7 days and the cached entitlement is too stale to trust. We refuse to run indefinitely on cache alone — this prevents the cache from becoming a vector for indefinite free use.

FIX: Restore network access to titanaisec.com and re-run. For air-gapped environments use AIRLOCK mode (license stored in the encrypted package, no grace check).
E-0007 error

Your tier does not include this agent

You invoked (or CONDUCTOR tried to activate) an agent that your current tier does not entitle. For example, AML/Fraud/KYC require Banking tier.

FIX: Upgrade at titanaisec.com/pricing or trim your scan to the agents you do have.
E-0008 error

Your tier does not include this cloud provider

You targeted AWS or GCP with a license scoped to a subset of clouds.

FIX: Add the missing cloud to your license — email sales@titanai.tech.

Cloud Auth & API (E-0100 – E-0199)

E-0100 error

Azure authentication failed

The Azure SDK could not acquire a token from your environment (CLI session / managed identity / service principal).

FIX: Run az login, then verify with az account show. If using a service principal, re-export AZURE_CLIENT_ID / AZURE_CLIENT_SECRET / AZURE_TENANT_ID.
E-0101 error

Azure subscription not found or no access

Subscription ID is wrong, or the identity you're using doesn't have access.

FIX: az account list -o table to see subscriptions you have access to. Set the right one with az account set -s <SUB_ID>.
E-0102 error

Azure RBAC denied

Authenticated successfully but your identity lacks permission to read the targeted resources.

FIX: Grant Reader role at subscription scope for audit-mode, or Contributor for fix-mode. For air-gapped environments, use Security Reader + resource-specific write roles.
E-0103 warn

Azure API rate-limited

Azure Resource Manager throttled us. Not fatal — the agent retries with exponential backoff and jitter.

FIX: No action needed unless the scan fails entirely. For very large tenants, run scans per-resource-group rather than per-subscription.
E-0104 info

Azure resource deleted mid-scan

A resource we were about to inspect was deleted between discovery and inspection. Not an error; we skip and move on.

FIX: None — this is expected in busy dev environments.
E-0110 error

AWS authentication failed

boto3 could not acquire credentials from any chain source (env vars, profile, instance role, SSO).

FIX: Run aws sts get-caller-identity to verify. Most common fix: aws configure or aws sso login.
E-0111 error

AWS cross-account AssumeRole failed

The target AWS account's trust policy does not allow the calling principal to assume the role, or the ExternalId doesn't match.

FIX: In the target account's IAM role trust policy, add our calling principal and a matching ExternalId. Sample policy at titanaisec.com/client-deploy.html#aws-cross-account.
E-0112 error

AWS IAM denied

Authenticated but lacks permission to read the targeted resources (e.g., iam:ListUsers, s3:GetBucketPolicy).

FIX: Attach the AWS-managed SecurityAudit policy to the principal we're using.
E-0113 warn

AWS API rate-limited

AWS throttled us. Automatic retry with exponential backoff.

FIX: No action unless scan fails; for very large accounts, shard scans by region.
E-0120 error

GCP authentication failed

Google SDK could not acquire credentials (gcloud / service account JSON / workload identity).

FIX: gcloud auth application-default login or export GOOGLE_APPLICATION_CREDENTIALS pointing at a valid service account JSON.
E-0121 error

GCP project not found or no access

Project ID is wrong, or the identity doesn't have access.

FIX: gcloud projects list — pick the right ID and set GOOGLE_CLOUD_PROJECT=<ID>.
E-0122 error

GCP IAM denied

Authenticated but the service account lacks read permission.

FIX: Grant roles/iam.securityReviewer at the project (or folder / org) scope.

Agent Execution (E-0200 – E-0299)

E-0200 error

Agent crashed

An agent raised an uncaught exception. If you're running under the watchdog, it will auto-restart up to 5 times in a 10-minute window. A crash report is written to ~/.titanai/crashes/crash-<timestamp>.json.

FIX: Send the crash JSON to support@titanai.tech. Include the code you saw and the first 30 lines of the stderr tail in the file.
E-0201 warn

Agent exceeded timeout

Agent ran past its configured timeout. Partial results are retained and a warning is emitted.

FIX: For large subscriptions, bump TITAN_AGENT_TIMEOUT_MINUTES or shard the scan by resource group / region.
E-0202 error

Agent dependency missing

A Python dependency inside the bundle is missing or corrupted. Usually means the bundle was extracted incompletely.

FIX: Re-run install.sh / install.ps1. If repeatable, rollback via titanai-run.sh --version v1.0.0 to the last known-good.
E-0203 warn

CONDUCTOR found no agents to activate

Your license is valid but PACKAGE_MATRIX resolved to zero entitled agents.

FIX: Verify your tier at titanaisec.com/pricing. If you think this is wrong, email support@titanai.tech.
E-0204 info

Scan interrupted by user

Ctrl-C or SIGTERM received. Partial results are flushed to disk.

FIX: None — informational.

Report Generation (E-0300 – E-0399)

E-0300 error

Failed to write report

Couldn't write to ./reports/. Typically disk full or read-only filesystem.

FIX: Check df -h; set TITAN_REPORT_DIR=/tmp/titanai-reports to point to a writable location.
E-0301 error

Report template missing

Bundle extraction is incomplete — report HTML template is missing.

FIX: Re-run the installer. If it keeps happening, verify bundle SHA-256 matches bundles/titanai-v1.0.0.tar.gz.sha256.

Bundle & Installer (E-0400 – E-0499)

E-0400 error

Bundle download failed

Network failure fetching bundles/titanai-<version>.tar.gz.

FIX: Retry. If persistent, try a different channel: titanai-run.sh --channel=canary or pin a specific version: --version=v1.0.0.
E-0401 error

Bundle SHA-256 mismatch — refusing to install

Downloaded bundle's hash does not match the signed .sha256. This means the bundle was corrupted in transit or tampered with. Refusing to install.

FIX: Re-download. If still mismatched, check your network for an MITM (corporate proxy rewriting traffic) — try from a different network. Email security@titanai.tech if confirmed.
E-0402 error

Requested bundle version not found

You passed --version=vX.Y.Z but that version doesn't exist in our manifest.

FIX: See available versions via curl titanaisec.com/api/bundle/manifest. Use --version=latest or drop the flag to use the current channel default.
E-0403 error

Unknown channel

Channel must be one of stable / canary / edge.

FIX: Re-run with a valid channel. stable is recommended for production.
E-0404 error

Python 3.10+ not found

The installer can't find a Python interpreter at version 3.10 or newer.

FIX: Install Python via your OS package manager. Our one-click runner titanai-run.sh auto-installs it — if that failed, run manually: Ubuntu sudo apt install python3.12-venv, Windows winget install Python.Python.3.12.

Internal (E-0900 – E-0999)

E-0900 error

Unreachable code path

We hit a branch that was supposed to be impossible. Bug in our code.

FIX: Please report — email support@titanai.tech with the crash JSON.
E-0901 error

Config file corrupt

~/.titanai/config.json is not valid JSON.

FIX: Delete the file and re-run the installer. Your license key is not stored there — it's in ~/.titan-ai/license.json (note the dash).