Getting started
Configuration
Tune ~/.vupt/config.toml and onboarding settings. Provider keys, default models, hooks, telemetry opt-in.
Configuration
Vupt reads ~/.vupt/config.toml on launch. The UI writes to this file; advanced users can edit it directly. The file is created on first launch with sensible defaults.
File location
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/dev.vupt/config.toml |
| Linux | ~/.config/vupt/config.toml |
| Windows | %APPDATA%\\Vupt\\config.toml |
The shorthand ~/.vupt/config.toml in this docs site refers to the OS-standard path above.
Annotated example
# Provider configuration. Keys live in the OS keychain — only the keychain
# reference is persisted here.
[providers.anthropic]
api_key_keychain_ref = "vupt/anthropic"
default_model = "claude-sonnet-4-5"
[providers.openai]
api_key_keychain_ref = "vupt/openai"
default_model = "gpt-5"
# Default agent settings used by new Squads
[defaults]
agent = "claude-code"
worktree_root = "~/.vupt/worktrees"
max_parallel_tasks = 4
# Post-completion hooks. Each task runs the matching block on approve.
[hooks.lint]
command = "pnpm lint"
[hooks.test]
command = "pnpm test"
# Telemetry (opt-in only — default false per AGENTS.md §8)
[telemetry]
enabled = false
endpoint = "https://t.vupt.dev"
Keys reference
| Key | Type | Default | Notes |
|---|---|---|---|
defaults.agent | string | claude-code | Any registered provider id |
defaults.max_parallel_tasks | int | 4 | Hard cap; OS may limit further |
hooks.<name>.command | string | (none) | Shell command run on approve |
telemetry.enabled | bool | false | Opt-in; never default-true |
Reload behavior
Vupt watches config.toml and reloads automatically. A reload preserves running Squads and applies new defaults to subsequent task creations.
Provider key rotation
Replace the keychain entry, then trigger Settings → Providers → Test connection. There is no need to restart the app.