Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration

Tapes stores configuration and credentials in a .tapes/ directory. Resolution order is:

  1. --config-dir <directory>;
  2. .tapes/ in the current directory;
  3. ~/.tapes/;
  4. built-in defaults if none exists.

Create a project-local directory with defaults or a provider preset:

tapes init
tapes init --preset anthropic
# presets: openai, anthropic, ollama

A project-local .tapes/ takes precedence over the home directory. This is useful for per-project provider and database settings, but is also the first place to check when an expected global setting appears ignored.

Precedence

For commands that bind a setting, precedence is:

  1. CLI flag;
  2. TAPES_... environment variable;
  3. config.toml value;
  4. built-in default.

Dots become underscores in environment names, for example TAPES_PROXY_LISTEN and TAPES_STORAGE_POSTGRES_DSN.

Manage settings

tapes config list
tapes config get proxy.provider
tapes config set proxy.provider anthropic
tapes config set proxy.upstream https://api.anthropic.com

Useful supported keys include:

KeyPurposeDefault
storage.postgres_dsnCapture and derived PostgreSQL databaseunset
proxy.provideranthropic, openai, or ollamaollama
proxy.upstreamUpstream provider base URLhttp://localhost:11434
proxy.listenProxy listen address:8080
proxy.projectSession project tagauto-detected from Git when unset
api.listenRead API listen address:8081
api.web_uiMinimal browser UI at /false
ingest.listenPrivate ingest listen address:8082
client.proxy_targetProxy URL used by clientshttp://localhost:8080
client.api_targetAPI URL used by clientshttp://localhost:8081
vector_store.targetpgvector PostgreSQL DSNprimary PostgreSQL DSN when unset
embedding.providerollama or openaiollama
embedding.targetEmbedding service URLhttp://localhost:11434
embedding.modelEmbedding modelembeddinggemma
embedding.dimensionsVector dimensions768
opencode.provider / opencode.modelSaved OpenCode choiceunset
telemetry.disabledDisable CLI usage telemetryfalse
update.disabledDisable update checksfalse

cassettes = ["https://host/openapi"] is a top-level array for operator-managed cassette OpenAPI URLs; it is not a dotted config set field. See Cassettes for the manifest, deployment responsibilities, and runtime behavior.

Example

version = 0

[storage]
postgres_dsn = "postgres://tapes:tapes@localhost:5432/tapes?sslmode=disable"

[proxy]
provider = "anthropic"
upstream = "https://api.anthropic.com"
listen = ":8080"

[api]
listen = ":8081"

[client]
proxy_target = "http://localhost:8080"
api_target = "http://localhost:8081"

[vector_store]
target = "postgres://tapes:tapes@localhost:5432/tapes?sslmode=disable"

[embedding]
provider = "ollama"
target = "http://localhost:11434"
model = "embeddinggemma"
dimensions = 768

Store provider secrets with tapes auth openai or tapes auth anthropic, or use the provider’s environment variable. Do not put API keys in config.toml.