Skip to main content
Airstore configuration is stored in ~/.airstore/config.yaml.

Location

PlatformPath
macOS~/.airstore/config.yaml
Linux~/.airstore/config.yaml
CustomSet via AIRSTORE_CONFIG_PATH

Full schema

# ~/.airstore/config.yaml

# API endpoint (default: https://api.airstore.dev)
api_url: https://api.airstore.dev

# Default mount path
mount_path: ~/airstore

# Logging level: debug, info, warn, error
log_level: info

# Mount configuration
mount:
  # Auto-mount on login
  auto_mount: false
  
  # Run mount in foreground
  foreground: false
  
  # Sources to mount (empty = all)
  sources: []
  
  # Mount tools in read-only mode
  tools_readonly: false

# MCP server configurations
mcp_servers:
  - name: my-server
    command: npx @company/mcp-server
    env:
      API_KEY: xxx
      BASE_URL: https://api.example.com
    args:
      - --verbose

# Hidden folders (not visible to agents)
hidden:
  - sources/gmail/personal
  - sources/gdrive/tax-documents

# Disabled tools
disabled_tools:
  - slack
  
# Disabled tool commands
disabled_commands:
  github:
    - merge-pr
  slack:
    - post

# Sync settings
sync:
  # Sync interval in seconds
  interval: 15

# Token for cloud mounting (usually set via env var)
# token: ast_xxxxxxxxxxxxxxxxxxxx

Sections

api_url

API endpoint URL. Change for self-hosted deployments.
api_url: https://airstore.internal.company.com

mount_path

Default path for airstore mount when no path is specified.
mount_path: ~/airstore

log_level

Logging verbosity.
log_level: debug  # debug, info, warn, error

mount

Mount behavior settings.
mount:
  auto_mount: true      # Mount on shell startup
  foreground: false     # Run in background
  sources:              # Limit to specific sources
    - gmail
    - github
  tools_readonly: false # Disable tool writes

mcp_servers

Custom MCP server configurations.
mcp_servers:
  - name: salesforce
    command: npx @salesforce/mcp-server
    env:
      SF_TOKEN: xxx
    args:
      - --sandbox
      
  - name: internal-api
    command: /usr/local/bin/internal-mcp
    env:
      API_URL: https://internal.company.com

hidden

Folders hidden from agents.
hidden:
  - sources/gmail/personal
  - sources/gdrive/tax-documents
  - "sources/*/private"  # Wildcards supported

disabled_tools

Completely disabled tools.
disabled_tools:
  - slack
  - notion

disabled_commands

Specific commands disabled per tool.
disabled_commands:
  github:
    - merge-pr
    - delete-branch
  linear:
    - delete-issue

sync

Sync behavior settings.
sync:
  interval: 15  # Seconds between syncs

Environment variable overrides

Most config values can be overridden via environment variables:
Config keyEnvironment variable
api_urlAIRSTORE_API_URL
mount_pathAIRSTORE_MOUNT_PATH
log_levelAIRSTORE_LOG_LEVEL
tokenAIRSTORE_TOKEN

Editing config

Edit directly or use CLI:
# View current config
airstore config list

# Set a value
airstore config set log_level debug

# Get a value
airstore config get api_url

Server configuration (self-hosted)

For self-hosted deployments, server config is at /etc/airstore/config.yaml:
# /etc/airstore/config.yaml

server:
  port: 8080
  host: 0.0.0.0

database:
  url: postgres://user:pass@localhost:5432/airstore

storage:
  type: s3
  endpoint: https://s3.amazonaws.com
  bucket: airstore-data
  access_key: ${S3_ACCESS_KEY}
  secret_key: ${S3_SECRET_KEY}

security:
  encryption_key: ${ENCRYPTION_KEY}

oauth:
  gmail:
    client_id: ${GMAIL_CLIENT_ID}
    client_secret: ${GMAIL_CLIENT_SECRET}
    redirect_uri: https://your-domain.com/oauth/gmail/callback
  github:
    client_id: ${GITHUB_CLIENT_ID}
    client_secret: ${GITHUB_CLIENT_SECRET}
    redirect_uri: https://your-domain.com/oauth/github/callback

audit:
  retention_days: 90

Next steps