Skip to main content

Settings

Plugin settings are part of the manifest and do not require a new plugin kind. A settings-only extension can be behavior.

Declare timon.settings entries with key, type, label and optional default. Supported types are string, number, boolean and secret. No browser code is needed. Timon creates a category and renders a form, saving through the plugin settings endpoint. The host reads values with ctx.settings.get(key) and the settings permission.

When both a custom category and manifest fields exist, the custom occupant wins: one sidebar entry, not duplicate forms. A disabled plugin loses its registration and category. The client settings API exposes asynchronous get() and set(key, value); host settings reads and browser settings reads have different signatures.

Native settings slots

GroupExact slot
Missionssettings.missions
LLM fallbacksettings.llmfallback
Resourcessettings.resources
Reapersettings.reaper
Worktreessettings.worktrees
Permissionssettings.permissions
Wakesettings.wake
Memory injectionsettings.memoryinjection
Memory capturesettings.memorycapture
Memory synthesissettings.memorysynthesis
Memory promotionsettings.memorypromotion
Global digestsettings.digest
Scoringsettings.scoring
Dreamingsettings.dreaming
Terminalsettings.terminal
Miscsettings.misc
Infrasettings.infra
Pushsettings.notifications

Do not generate a slot name from its translated label: settings.llmfallback has no hyphen. Admission remains exact for each group. Encode plugin IDs in ?group= deep links. See Secrets before handling secret fields.