Config commands
Config commands
Reference for every indexed config * subcommand (see indexed config --help), configuration keys, and environment overrides. For global indexed options, see Other commands — global options (top-level). For narrative setup and tuning, see the Configuration guide.
indexed config init
Create a workspace .indexed/ directory in the current working directory with config.toml and .env.example.
indexed config init [flags]| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--force / -f | flag | No | off | Overwrite existing workspace config files |
Logging options (--verbose, --log-level, --json-logs) apply to this command.
Example:
cd ~
indexed config initThis creates ~/.indexed/ when your shell is in your home directory (because .indexed is resolved relative to the cwd). To use a project-local workspace instead, run indexed config init from your repository root — then config lives at <repo>/.indexed/.
indexed config inspect
Display merged configuration (global + workspace + environment).
indexed config inspect [section] [flags]| Argument / flag | Type | Required | Default | Description |
|---|---|---|---|---|
section | string | No | — | Optional: sources, core, logging, mcp, performance |
--defaults / -d / --show-defaults | flag | No | off | Show all values including defaults |
Examples:
indexed config inspect
indexed config inspect sources
indexed config inspect --defaultsJSON: use the global --simple-output flag:
indexed --simple-output config inspectindexed config set
Set a value in the workspace config.toml (dot path under .indexed/ for the workspace you initialized).
indexed config set <key> <value> [flags]| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
key | string | Yes | — | Config key path (e.g., core.v1.indexing.chunk_size) |
value | string | Yes | — | New value (auto-coerced) |
--dry-run | flag | No | off | Preview the change without saving |
Example:
indexed config set core.v1.indexing.chunk_size 1024
indexed config set core.v1.indexing.chunk_size 1024 --dry-runindexed config update
Update global configuration only — interactively, or replace it entirely from a TOML file. The --file path replaces the global config, not the workspace .indexed/config.toml from config init.
indexed config update [flags]| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--file / -f | path | No | — | Path to a TOML file that replaces the global configuration |
Examples:
indexed config update
indexed config update --file ./my-global-config.tomlindexed config delete
Remove a key from the workspace configuration (prompts for confirmation unless --force).
indexed config delete <key> [flags]| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--force / -f | flag | No | off | Skip confirmation |
Example:
indexed config delete core.v1.indexing.chunk_overlap
indexed config delete core.v1.indexing.chunk_overlap --forceindexed config validate
Validate the active configuration against registered validation rules. Prints errors by section and exits with status 1 if validation fails.
indexed config validateRun this after manually editing workspace or global config.toml (see the Configuration guide) to catch typos before they cause indexing errors.
Configuration Keys
Indexing
| Key | Type | Default | Description |
|---|---|---|---|
core.v1.indexing.chunk_size | int | 512 | Maximum number of tokens per chunk |
core.v1.indexing.chunk_overlap | int | 50 | Number of overlapping tokens between consecutive chunks |
Embedding
| Key | Type | Default | Description |
|---|---|---|---|
core.v1.embedding.model_name | string | "all-MiniLM-L6-v2" | Sentence Transformers model to use for embeddings |
Files connector
Keys below belong in a [sources.files] table in config.toml. With indexed config set, use the full dot path (for example, sources.files.ocr_enabled true).
| Key | Type | Default | Description |
|---|---|---|---|
sources.files.path | string | "." | Root directory to index (-p / --path overrides for a single index create run) |
sources.files.include_patterns | list | ["*"] | Glob-style patterns for paths to include (for example *.md, **/*.py) |
sources.files.exclude_patterns | list | (built-in noise paths) | Regex patterns matched against full paths; defaults skip common dirs such as .git, node_modules, and .venv (see indexed config inspect --defaults) |
sources.files.fail_fast | bool | false | Stop indexing on the first file read error |
sources.files.respect_gitignore | bool | true | Honor .gitignore and skip common noise directories |
sources.files.change_tracking | string | "auto" | Change detection: auto, git, content_hash, mtime, or none |
sources.files.ocr_enabled | bool | false | Enable OCR for scanned PDFs and images |
sources.files.table_structure | bool | true | Extract table structure from documents |
sources.files.code_chunking | bool | true | Use AST-aware chunking for supported code languages |
sources.files.max_chunk_tokens | int | 512 | Maximum tokens per chunk in the parsing module |
sources.files.excluded_extensions | list | [] | Extensions to skip (e.g. [".lock", ".min.js"]) |
Precedence
Merged configuration follows global + workspace + environment (indexed config inspect --help). From lowest to highest priority:
- Built-in defaults
~/.indexed/config.toml(global), when present.indexed/config.tomlfor your workspace (overrides global where set)- Environment variables (
INDEXED__…and connector secrets) - CLI flags on the current command
Environment Variable Overrides
Any configuration key can be overridden with an environment variable using the pattern:
INDEXED__<section>__<subsection>__<key>=<value>Double underscores (__) separate each level of the config hierarchy. Environment variables override values from config files.
Examples:
export INDEXED__core__v1__indexing__chunk_size=1024
export INDEXED__core__v1__indexing__chunk_overlap=100
export INDEXED__core__v1__embedding__model_name="paraphrase-multilingual-MiniLM-L12-v2"Connector Credentials
Credentials are read from environment variables only — never from config.toml. CLI flags for indexed index create are in Index commands; this section lists the env vars.
| Variable | Used by | Description |
|---|---|---|
ATLASSIAN_EMAIL | Jira Cloud, Confluence Cloud | Atlassian account email |
ATLASSIAN_TOKEN | Jira Cloud, Confluence Cloud | Atlassian API token |
JIRA_TOKEN | Jira Server/DC | Bearer or personal access token |
JIRA_LOGIN | Jira Server/DC | Username (with JIRA_PASSWORD) |
JIRA_PASSWORD | Jira Server/DC | Password (with JIRA_LOGIN) |
CONF_TOKEN | Confluence Server/DC | Bearer or personal access token |
CONF_LOGIN | Confluence Server/DC | Username (with CONF_PASSWORD) |
CONF_PASSWORD | Confluence Server/DC | Password (with CONF_LOGIN) |
See Jira and Confluence for setup, Cloud vs Server/DC, and troubleshooting.
Keep secrets out of version control
Use .indexed/.env (or your shell) for secrets — not config.toml. Add .env to .gitignore if you keep one in a repo directory.
Example Config File
[core.v1.indexing]
chunk_size = 512
chunk_overlap = 50
[core.v1.embedding]
model_name = "all-MiniLM-L6-v2"
[sources.files]
path = "./documents"
include_patterns = ["*.md", "*.pdf"]
exclude_patterns = ["\\.draft\\.md$", "/build/"]
respect_gitignore = true
change_tracking = "auto"
ocr_enabled = falseData directory
Indexed stores data under ~/.indexed/:
~/.indexed/
├── config.toml
└── data/
└── collections/<name>/
├── manifest.json
├── documents.json
├── chunks.json
└── index.faissSee What is Indexed for how local data is used.