Skip to content

Settings ​

Every Caramelo setting, what it does, and what it defaults to.

Providers ​

SettingTypeDefaultNotes
caramelo.providersarray[]Configured providers (id, name, type, endpoint, model, optional authHeader / authPrefix). Edited inline through the Providers sidebar — direct JSON edits work too.
caramelo.activeProviderstring""ID of the active provider. Click the dot beside a provider to switch.
caramelo.sse.timeoutMsnumber300000Maximum wait for a single streaming chunk before aborting. Raise for slow local models. Minimum 5000.

Tasks ​

SettingTypeDefaultNotes
caramelo.tasks.allowWithoutGitbooleanfalseSkip the "no backup available" confirmation when running tasks in non-git workspaces. Leave off for safety.
caramelo.autoApplyEditsbooleanfalseApply task edits without a diff preview. Only flip if you have a reliable git safety net.

Agent ​

SettingTypeDefaultNotes
caramelo.useAgentLoopbooleantrueRun tasks through the tool-calling agent when the active provider supports it. When false, falls back to the legacy SEARCH/REPLACE protocol — useful for debugging regressions.
caramelo.enableBashToolbooleantrueExpose the bash tool to the agent. Every call still requires explicit per-call approval. Disable to remove bash entirely from the tool list advertised to the LLM.
caramelo.agent.maxIterationsnumber15Maximum agent turns per task. Range 3–50. The agent stops cleanly when this is hit.
caramelo.agent.approvalenum"auto-reads-batched-writes"How write/bash calls are gated. See Agent loop & tools. Values: auto-reads-batched-writes, per-call, auto-all.

Constitution ​

SettingTypeDefaultNotes
caramelo.constitution.repositorystring""Git repository holding a central constitution (https://, ssh://, git@host:path, git://, file://). When set, .specify/memory/constitution.md is kept as an exact copy of its file. See Central constitution.
caramelo.constitution.pathstring"constitution.md"File inside that repository.
caramelo.constitution.refstring""Branch or tag to follow. Empty follows the default branch; a tag pins a reviewed version.

Spec Kit ​

SettingTypeDefaultNotes
caramelo.hooks.runbooleantrueRun Spec Kit extension hooks from .specify/extensions.yml before and after Caramelo actions. Mandatory hooks run automatically, optional ones ask first; bash and file writes still need approval. Hooks never run in untrusted workspaces. See Spec Kit integration.

Debugging ​

VariableNotes
CARAMELO_DEBUG=1 (env)Enables verbose debug logging. The redacting logger still strips credentials. Disabled by default to keep the OutputChannel quiet.

Where settings live ​

  • User settings — global to all workspaces. Open with ⌘, (macOS) / Ctrl+, and search for caramelo.
  • Workspace settings — .vscode/settings.json in the workspace root. Per-workspace override of any setting above.
  • Provider list & active provider — written to Global scope by default, so opening another folder doesn't wipe them. Per-workspace override still works.

A one-shot migration runs at activation if it finds caramelo.providers / caramelo.activeProvider only in the workspace scope; it lifts them to Global once and leaves Global values intact afterwards.

Released under the MIT License.