import { createFileRoute } from '@tanstack/react-router' export const Route = createFileRoute('/docs/configuration')({ head: () => ({ meta: [ { title: 'Configuration - Paseo Docs' }, { name: 'description', content: 'Configure Paseo via config.json, environment variables, and CLI overrides.', }, ], }), component: Configuration, }) function Configuration() { return (

Configuration

Paseo loads configuration from a single JSON file in your Paseo home directory, with optional environment variable and CLI overrides.

Where config lives

By default, Paseo uses ~/.paseo as its home directory. The configuration file is:

$ ~/.paseo/config.json

You can change the home directory by setting PASEO_HOME{' '} or passing --home to paseo daemon start.

Precedence

Paseo merges configuration in this order:

  1. Defaults
  2. config.json
  3. Environment variables
  4. CLI flags

Lists append across sources (for example, allowedHosts and cors.allowedOrigins).

Example

Minimal example that configures listening address, host allowlist, provider keys, and MCP:

{`{
  "$schema": "https://paseo.sh/schemas/paseo.config.v1.json",
  "version": 1,
  "providers": {
    "openai": { "apiKey": "..." }
  },
  "daemon": {
    "listen": "127.0.0.1:6767",
    "allowedHosts": ["localhost", ".localhost"],
    "mcp": { "enabled": true }
  }
}`}
        

Voice

Voice is configured through features.dictation and{' '} features.voiceMode, with provider credentials under{' '} providers.

For voice philosophy, architecture, and complete local/OpenAI setup examples, see{' '} Voice docs.

Common env vars

Schema

For editor autocomplete/validation, set $schema to:

https://paseo.sh/schemas/paseo.config.v1.json
) }