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 tab for the plugin under Plugins 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 tab, not duplicate forms. A disabled plugin loses its registration and its tab. 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
Backlogsettings.backlog
Voice dictation (Interface)settings.voice
Backup (System › Backups & trash)settings.backup
Agent trash (System › Backups & trash)settings.agenttrash
Pushsettings.notifications

Do not generate a slot name from its translated label: settings.llmfallback has no hyphen. Admission remains exact for each group. A deep link opens the Settings dialog over any page with ?settings=plugins/<plugin id> (URL-encoded); older /settings?group=<plugin id> links still redirect there. See Secrets before handling secret fields.